fork-openpgpjs/doc/global.html

6239 lines
83 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Global</title>
<script src="http://shjs.sourceforge.net/sh_main.min.js"> </script>
<script src="http://shjs.sourceforge.net/lang/sh_javascript.min.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/node-dark.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Global</h1>
<section>
<header>
<h2>
</h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<dl>
<dt>
<h4 class="name" id="crc_table"><span class="type-signature"></span>crc_table<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Internal function to calculate a CRC-24 checksum over a given string (data)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10915</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="hash_headers"><span class="type-signature"></span>hash_headers<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
ASN1 object identifiers for hashes (See RFC4880 5.2.2)
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10581</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="util"><span class="type-signature"></span>util<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
an instance that should be used.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13171</li></ul></dd>
</dl>
</dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<dl>
<dt>
<h4 class="name" id="bin2str"><span class="type-signature"></span>bin2str</h4>
</dt>
<dd>
<div class="description">
convert an array of integers(0.255) to a string
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>[Array</code></td>
<td class="type">
</td>
<td class="description last">[Integer 0..255]] array of (binary) integers to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13001</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] string representation of the array
</div>
</dd>
<dt>
<h4 class="name" id="calc_checksum"><span class="type-signature"></span>calc_checksum</h4>
</dt>
<dd>
<div class="description">
calculates a 16bit sum of a string by adding each character codes modulus 65535
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>text</code></td>
<td class="type">
</td>
<td class="description last">[String] string to create a sum of</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13040</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Integer] an integer containing the sum of all character codes % 65535
</div>
</dd>
<dt>
<h4 class="name" id="get_hashAlgorithmString"><span class="type-signature"></span>get_hashAlgorithmString</h4>
</dt>
<dd>
<div class="description">
Return the algorithm type as string
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13147</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] String representing the message type
</div>
</dd>
<dt>
<h4 class="name" id="getCheckSum"><span class="type-signature"></span>getCheckSum</h4>
</dt>
<dd>
<div class="description">
Calculates a checksum over the given data and returns it base64 encoded
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to create a CRC-24 checksum for</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10891</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] base64 encoded checksum
</div>
</dd>
<dt>
<h4 class="name" id="getPGPMessageType"><span class="type-signature"></span>getPGPMessageType</h4>
</dt>
<dd>
<div class="description">
Finds out which Ascii Armoring type is used. This is an internal function
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>text</code></td>
<td class="type">
</td>
<td class="description last">[String] ascii armored text</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10764</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
0 = MESSAGE PART n of m
1 = MESSAGE PART n
2 = SIGNED MESSAGE
3 = PGP MESSAGE
4 = PUBLIC KEY BLOCK
5 = PRIVATE KEY BLOCK
null = unknown
</div>
</dd>
<dt>
<h4 class="name" id="hex2bin"><span class="type-signature"></span>hex2bin</h4>
</dt>
<dd>
<div class="description">
create binary string from a hex encoded string
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] hex string to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 12957</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] string containing the binary values
</div>
</dd>
<dt>
<h4 class="name" id="hexidump"><span class="type-signature"></span>hexidump</h4>
</dt>
<dd>
<div class="description">
creating a hex string from an binary array of integers (0..255)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>[Array[integer</code></td>
<td class="type">
</td>
<td class="description last">0..255]] array to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 12969</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] hexadecimal representation of the array
</div>
</dd>
<dt>
<h4 class="name" id="hexstrdump"><span class="type-signature"></span>hexstrdump</h4>
</dt>
<dd>
<div class="description">
create hexstring from a binary
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] string to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 12937</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] string containing the hexadecimal values
</div>
</dd>
<dt>
<h4 class="name" id="MD5"><span class="type-signature"></span>MD5</h4>
</dt>
<dd>
<div class="description">
A fast MD5 JavaScript implementation
Copyright (c) 2012 Joseph Myers
http://www.myersdaily.org/joseph/javascript/md5-text.html
Permission to use, copy, modify, and distribute this software
and its documentation for any purposes and without
fee is hereby granted provided that this copyright notice
appears in all copies.
Of course, this soft is provided "as is" without express or implied
warranty of any kind.
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 3480</li></ul></dd>
</dl>
</dd>
<dt>
<h4 class="name" id="openpgp_cfb_decrypt"><span class="type-signature"></span>openpgp_cfb_decrypt</h4>
</dt>
<dd>
<div class="description">
This function decrypts a given plaintext using the specified
blockcipher to decrypt a message
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>blockcipherfn</code></td>
<td class="type">
</td>
<td class="description last">the algorithm _encrypt_ function to encrypt
data in one block_size encryption. The function must be
specified as blockcipherfn([integer_array(integers 0..255)]
block,[integer_array(integers 0..255)] key) returning an
array of bytes (integers 0..255)</td>
</tr>
<tr>
<td class="name"><code>block_size</code></td>
<td class="type">
</td>
<td class="description last">the block size in bytes of the algorithm used</td>
</tr>
<tr>
<td class="name"><code>plaintext</code></td>
<td class="type">
</td>
<td class="description last">ciphertext to be decrypted provided as a string</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">key to be used to decrypt the ciphertext as
integer_array(integers 0..255)]. This will be passed to the
blockcipherfn</td>
</tr>
<tr>
<td class="name"><code>resync</code></td>
<td class="type">
</td>
<td class="description last">a boolean value specifying if a resync of the
IV should be used or not. The encrypteddatapacket uses the
"old" style with a resync. Decryption within an
encryptedintegrityprotecteddata packet is not resyncing the IV.</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9022</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
a string with the plaintext data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_cfb_encrypt"><span class="type-signature"></span>openpgp_cfb_encrypt</h4>
</dt>
<dd>
<div class="description">
This function encrypts a given with the specified prefixrandom
using the specified blockcipher to encrypt a message
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>prefixrandom</code></td>
<td class="type">
</td>
<td class="description last">random bytes of block_size length provided
as a string to be used in prefixing the data</td>
</tr>
<tr>
<td class="name"><code>blockcipherfn</code></td>
<td class="type">
</td>
<td class="description last">the algorithm encrypt function to encrypt
data in one block_size encryption. The function must be
specified as blockcipherfn([integer_array(integers 0..255)]
block,[integer_array(integers 0..255)] key) returning an
array of bytes (integers 0..255)</td>
</tr>
<tr>
<td class="name"><code>block_size</code></td>
<td class="type">
</td>
<td class="description last">the block size in bytes of the algorithm used</td>
</tr>
<tr>
<td class="name"><code>plaintext</code></td>
<td class="type">
</td>
<td class="description last">data to be encrypted provided as a string</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">key to be used to encrypt the data as
integer_array(integers 0..255)]. This will be passed to the
blockcipherfn</td>
</tr>
<tr>
<td class="name"><code>resync</code></td>
<td class="type">
</td>
<td class="description last">a boolean value specifying if a resync of the
IV should be used or not. The encrypteddatapacket uses the
"old" style with a resync. Encryption within an
encryptedintegrityprotecteddata packet is not resyncing the IV.</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 8885</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
a string with the encrypted data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_cfb_mdc"><span class="type-signature"></span>openpgp_cfb_mdc</h4>
</dt>
<dd>
<div class="description">
decrypts the prefixed data for the Modification Detection Code (MDC) computation
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>blockcipherencryptfn</code></td>
<td class="type">
</td>
<td class="description last">cipher function to use</td>
</tr>
<tr>
<td class="name"><code>block_size</code></td>
<td class="type">
</td>
<td class="description last">blocksize of the algorithm</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">the key for encryption</td>
</tr>
<tr>
<td class="name"><code>ciphertext</code></td>
<td class="type">
</td>
<td class="description last">the encrypted data</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 8981</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
plaintext data of D(ciphertext) with blocksize length +2
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_asymetricDecrypt"><span class="type-signature"></span>openpgp_crypto_asymetricDecrypt</h4>
</dt>
<dd>
<div class="description">
Decrypts data using the specified public key multiprecision integers of the private key,
the specified secretMPIs of the private key and the specified algorithm.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] Algorithm to be used (See RFC4880 9.1)</td>
</tr>
<tr>
<td class="name"><code>publicMPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] algorithm dependent multiprecision integers of the public key part of the private key</td>
</tr>
<tr>
<td class="name"><code>secretMPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] algorithm dependent multiprecision integers of the private key used</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[openpgp_type_mpi] data to be encrypted as MPI</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9190</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[BigInteger] returns a big integer containing the decrypted data; otherwise null
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_asymetricEncrypt"><span class="type-signature"></span>openpgp_crypto_asymetricEncrypt</h4>
</dt>
<dd>
<div class="description">
Encrypts data using the specified public key multiprecision integers
and the specified algorithm.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] Algorithm to be used (See RFC4880 9.1)</td>
</tr>
<tr>
<td class="name"><code>publicMPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] algorithm dependent multiprecision integers</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[openpgp_type_mpi] data to be encrypted as MPI</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9158</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Object] if RSA an openpgp_type_mpi; if elgamal encryption an array of two
openpgp_type_mpi is returned; otherwise null
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_generateKeyPair"><span class="type-signature"></span>openpgp_crypto_generateKeyPair</h4>
</dt>
<dd>
<div class="description">
calls the necessary crypto functions to generate a keypair. Called directly by openpgp.js
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9530</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">privateKey: [openpgp_packet_keymaterial] , publicKey: [openpgp_packet_keymaterial]</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_generateSessionKey"><span class="type-signature"></span>openpgp_crypto_generateSessionKey</h4>
</dt>
<dd>
<div class="description">
Generating a session key for the specified symmetric algorithm
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] algorithm to use (see RFC4880 9.2)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9273</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] random bytes as a string to be used as a key
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getHashByteLength"><span class="type-signature"></span>openpgp_crypto_getHashByteLength</h4>
</dt>
<dd>
<div class="description">
returns the hash size in bytes of the specified hash algorithm type
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] hash algorithm type (See RFC4880 9.4)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9418</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Integer] size in bytes of the resulting hash
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getPrefixRandom"><span class="type-signature"></span>openpgp_crypto_getPrefixRandom</h4>
</dt>
<dd>
<div class="description">
generate random byte prefix as string for the specified algorithm
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] algorithm to use (see RFC4880 9.2)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9221</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] random bytes with length equal to the block
size of the cipher
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getPseudoRandom"><span class="type-signature"></span>openpgp_crypto_getPseudoRandom</h4>
</dt>
<dd>
<div class="description">
return a pseudo-random number in the specified range
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>from</code></td>
<td class="type">
</td>
<td class="description last">[Integer] min of the random number</td>
</tr>
<tr>
<td class="name"><code>to</code></td>
<td class="type">
</td>
<td class="description last">[Integer] max of the random number (max 32bit)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9457</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Integer] a pseudo random number
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getRandomBigInteger"><span class="type-signature"></span>openpgp_crypto_getRandomBigInteger</h4>
</dt>
<dd>
<div class="description">
create a secure random big integer of bits length
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>bits</code></td>
<td class="type">
</td>
<td class="description last">[Integer] bit length of the MPI to create</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9487</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[BigInteger] resulting big integer
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getRandomBytes"><span class="type-signature"></span>openpgp_crypto_getRandomBytes</h4>
</dt>
<dd>
<div class="description">
retrieve secure random byte string of the specified length
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>length</code></td>
<td class="type">
</td>
<td class="description last">[Integer] length in bytes to generate</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9443</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] random byte string
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_getSecureRandom"><span class="type-signature"></span>openpgp_crypto_getSecureRandom</h4>
</dt>
<dd>
<div class="description">
return a secure random number in the specified range
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>from</code></td>
<td class="type">
</td>
<td class="description last">[Integer] min of the random number</td>
</tr>
<tr>
<td class="name"><code>to</code></td>
<td class="type">
</td>
<td class="description last">[Integer] max of the random number (max 32bit)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9467</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Integer] a secure random number
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_hashData"><span class="type-signature"></span>openpgp_crypto_hashData</h4>
</dt>
<dd>
<div class="description">
create a hash on the specified data using the specified algorithm
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] hash algorithm type (see RFC4880 9.4)</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to be hashed</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9384</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] hash value
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_MDCSystemBytes"><span class="type-signature"></span>openpgp_crypto_MDCSystemBytes</h4>
</dt>
<dd>
<div class="description">
retrieve the MDC prefixed bytes by decrypting them
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] algorithm to use (see RFC4880 9.2)</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">[String] key as string. length is depending on the algorithm used</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] encrypted data where the prefix is decrypted from</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9244</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] plain text data of the prefixed data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_signData"><span class="type-signature"></span>openpgp_crypto_signData</h4>
</dt>
<dd>
<div class="description">
Create a signature on data using the specified algorithm
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>hash_algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] hash algorithm to use (See RFC4880 9.4)</td>
</tr>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] asymmetric cipher algorithm to use (See RFC4880 9.1)</td>
</tr>
<tr>
<td class="name"><code>publicMPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] public key multiprecision integers of the private key</td>
</tr>
<tr>
<td class="name"><code>secretMPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] private key multiprecision integers which is used to sign the data</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to be signed</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9346</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String or openpgp_type_mpi]
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_symmetricDecrypt"><span class="type-signature"></span>openpgp_crypto_symmetricDecrypt</h4>
</dt>
<dd>
<div class="description">
Symmetrically decrypts data using a key with length depending on the
algorithm in openpgp_cfb mode with or without resync (MDC style)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] algorithm to use (see RFC4880 9.2)</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">[String] key as string. length is depending on the algorithm used</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to be decrypted</td>
</tr>
<tr>
<td class="name"><code>openpgp_cfb</code></td>
<td class="type">
</td>
<td class="description last">[boolean] if true use the resync (for encrypteddata);
otherwise use without the resync (for MDC encrypted data)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 8819</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] plaintext data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_symmetricEncrypt"><span class="type-signature"></span>openpgp_crypto_symmetricEncrypt</h4>
</dt>
<dd>
<div class="description">
Symmetrically encrypts data using prefixedrandom, a key with length
depending on the algorithm in openpgp_cfb mode with or without resync
(MDC style)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>prefixrandom</code></td>
<td class="type">
</td>
<td class="description last">secure random bytes as string in length equal to the
block size of the algorithm used (use openpgp_crypto_getPrefixRandom(algo)
to retrieve that string</td>
</tr>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] algorithm to use (see RFC4880 9.2)</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
</td>
<td class="description last">[String] key as string. length is depending on the algorithm used</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to encrypt</td>
</tr>
<tr>
<td class="name"><code>openpgp_cfb</code></td>
<td class="type">
</td>
<td class="description last">[boolean]</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 8785</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] encrypted data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_crypto_verifySignature"><span class="type-signature"></span>openpgp_crypto_verifySignature</h4>
</dt>
<dd>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] public key algorithm</td>
</tr>
<tr>
<td class="name"><code>hash_algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] hash algorithm</td>
</tr>
<tr>
<td class="name"><code>msg_MPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] signature multiprecision integers</td>
</tr>
<tr>
<td class="name"><code>publickey_MPIs</code></td>
<td class="type">
</td>
<td class="description last">[Array[openpgp_type_mpi]] public key multiprecision integers</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data on where the signature was computed on.</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 9299</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
true if signature (sig_data was equal to data over hash)
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_armor"><span class="type-signature"></span>openpgp_encoding_armor</h4>
</dt>
<dd>
<div class="description">
Armor an OpenPGP binary packet block
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>messagetype</code></td>
<td class="type">
</td>
<td class="description last">type of the message</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>partindex</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>parttotal</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10834</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
Armored text
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">string</span>
</dd>
</dl>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_armor_addheader"><span class="type-signature"></span>openpgp_encoding_armor_addheader</h4>
</dt>
<dd>
<div class="description">
Add additional information to the armor version of an OpenPGP binary
packet block.
</div>
<dl class="details">
<dt class="tag-version">Version:</dt>
<dd class="tag-version"><ul class="dummy"><li>2011-12-16</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Alex</li>
</ul>
</dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10814</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
The header information
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_base64_decode"><span class="type-signature"></span>openpgp_encoding_base64_decode</h4>
</dt>
<dd>
<div class="description">
Wrapper function for the base64 codec.
This function decodes a String(message) in base64 (radix-64)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
</td>
<td class="description last">[String] base64 encoded data</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10527</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] raw data after decoding
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_base64_encode"><span class="type-signature"></span>openpgp_encoding_base64_encode</h4>
</dt>
<dd>
<div class="description">
Wrapper function for the base64 codec.
This function encodes a String (message) in base64 (radix-64)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
</td>
<td class="description last">[String] the message to encode</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10516</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] the base64 encoded data
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_deArmor"><span class="type-signature"></span>openpgp_encoding_deArmor</h4>
</dt>
<dd>
<div class="description">
DeArmor an OpenPGP armored message; verify the checksum and return the encoded bytes
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10731</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
either the bytes of the decoded message or an object with attribute "text" containing the message text
and an attribute "openpgp" containing the bytes.
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_eme_pkcs1_decode"><span class="type-signature"></span>openpgp_encoding_eme_pkcs1_decode</h4>
</dt>
<dd>
<div class="description">
decodes a EME-PKCS1-v1_5 padding (See RFC4880 13.1.2)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
</td>
<td class="description last">[String] EME-PKCS1 padded message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10568</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] decoded message
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_eme_pkcs1_encode"><span class="type-signature"></span>openpgp_encoding_eme_pkcs1_encode</h4>
</dt>
<dd>
<div class="description">
create a EME-PKCS1-v1_5 padding (See RFC4880 13.1.1)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
</td>
<td class="description last">[String] message to be padded</td>
</tr>
<tr>
<td class="name"><code>length</code></td>
<td class="type">
</td>
<td class="description last">[Integer] length to the resulting message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10549</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] EME-PKCS1 padded message
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_emsa_pkcs1_decode"><span class="type-signature"></span>openpgp_encoding_emsa_pkcs1_decode</h4>
</dt>
<dd>
<div class="description">
extract the hash out of an EMSA-PKCS1-v1.5 padding (See RFC4880 13.1.3)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] hash in pkcs1 encoding</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10617</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
the hash as string
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_emsa_pkcs1_encode"><span class="type-signature"></span>openpgp_encoding_emsa_pkcs1_encode</h4>
</dt>
<dd>
<div class="description">
create a EMSA-PKCS1-v1_5 padding (See RFC4880 13.1.3)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>algo</code></td>
<td class="type">
</td>
<td class="description last">[Integer] hash algorithm type used</td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to be hashed</td>
</tr>
<tr>
<td class="name"><code>keylength</code></td>
<td class="type">
</td>
<td class="description last">[Integer] key size of the public mpi in bytes</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10597</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
the [String] hashcode with pkcs1padding as string
</div>
</dd>
<dt>
<h4 class="name" id="openpgp_encoding_html_encode"><span class="type-signature"></span>openpgp_encoding_html_encode</h4>
</dt>
<dd>
<div class="description">
Wrapper function for jquery library.
This function escapes HTML characters within a string. This is used to prevent XSS.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>message</code></td>
<td class="type">
</td>
<td class="description last">[String] message to escape</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10537</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] html encoded string
</div>
</dd>
<dt>
<h4 class="name" id="print_debug"><span class="type-signature"></span>print_debug</h4>
</dt>
<dd>
<div class="description">
Helper function to print a debug message. Debug
messages are only printed if
openpgp.config.debug is set to true. The calling
Javascript context MUST define
a "showMessages(text)" function. Line feeds ('\n')
are automatically converted to HTML line feeds '<br/>'
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] string of the debug message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13058</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] an HTML tt entity containing a paragraph with a style attribute where the debug message is HTMLencoded in.
</div>
</dd>
<dt>
<h4 class="name" id="print_debug_hexstr_dump"><span class="type-signature"></span>print_debug_hexstr_dump</h4>
</dt>
<dd>
<div class="description">
Helper function to print a debug message. Debug
messages are only printed if
openpgp.config.debug is set to true. The calling
Javascript context MUST define
a "showMessages(text)" function. Line feeds ('\n')
are automatically converted to HTML line feeds '<br/>'
Different than print_debug because will call hexstrdump iff necessary.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] string of the debug message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13076</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] an HTML tt entity containing a paragraph with a style attribute where the debug message is HTMLencoded in.
</div>
</dd>
<dt>
<h4 class="name" id="print_error"><span class="type-signature"></span>print_error</h4>
</dt>
<dd>
<div class="description">
Helper function to print an error message.
The calling Javascript context MUST define
a "showMessages(text)" function. Line feeds ('\n')
are automatically converted to HTML line feeds '<br/>'
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] string of the error message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13092</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] a HTML paragraph entity with a style attribute containing the HTML encoded error message
</div>
</dd>
<dt>
<h4 class="name" id="print_info"><span class="type-signature"></span>print_info</h4>
</dt>
<dd>
<div class="description">
Helper function to print an info message.
The calling Javascript context MUST define
a "showMessages(text)" function. Line feeds ('\n')
are automatically converted to HTML line feeds '<br/>'.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>str</code></td>
<td class="type">
</td>
<td class="description last">[String] string of the info message</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13105</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] a HTML paragraph entity with a style attribute containing the HTML encoded info message
</div>
</dd>
<dt>
<h4 class="name" id="shiftRight"><span class="type-signature"></span>shiftRight</h4>
</dt>
<dd>
<div class="description">
Shifting a string to n bits right
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>value</code></td>
<td class="type">
</td>
<td class="description last">[String] the string to shift</td>
</tr>
<tr>
<td class="name"><code>bitcount</code></td>
<td class="type">
</td>
<td class="description last">[Integer] amount of bits to shift (MUST be smaller than 9)</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13129</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] resulting string.
</div>
</dd>
<dt>
<h4 class="name" id="str2bin"><span class="type-signature"></span>str2bin</h4>
</dt>
<dd>
<div class="description">
convert a string to an array of integers(0.255)
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>String</code></td>
<td class="type">
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">string to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 12987</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Array [Integer 0..255]] array of (binary) integers
</div>
</dd>
<dt>
<h4 class="name" id="str2Uint8Array"><span class="type-signature"></span>str2Uint8Array</h4>
</dt>
<dd>
<div class="description">
convert a string to a Uint8Array
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>String</code></td>
<td class="type">
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">string to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13014</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[Uint8Array] array of (binary) integers
</div>
</dd>
<dt>
<h4 class="name" id="Uint8Array2str"><span class="type-signature"></span>Uint8Array2str</h4>
</dt>
<dd>
<div class="description">
convert a Uint8Array to a string. This currently functions the same as bin2str.
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Argument</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>Uint8Array</code></td>
<td class="type">
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">array of (binary) integers to convert</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 13027</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
[String] string representation of the array
</div>
</dd>
<dt>
<h4 class="name" id="verifyCheckSum"><span class="type-signature"></span>verifyCheckSum</h4>
</dt>
<dd>
<div class="description">
Calculates the checksum over the given data and compares it with the given base64 encoded checksum
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
</td>
<td class="description last">[String] data to create a CRC-24 checksum for</td>
</tr>
<tr>
<td class="name"><code>checksum</code></td>
<td class="type">
</td>
<td class="description last">[String] base64 encoded checksum</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>openpgp.js, line 10905</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
true if the given checksum is correct; otherwise false
</div>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Classes</h3><ul><li><a href="JXG.Util.html">Util</a></li><li><a href="_openpgp_packet.html">_openpgp_packet</a></li><li><a href="openpgp.html">openpgp</a></li><li><a href="openpgp_config.html">openpgp_config</a></li><li><a href="openpgp_keyring.html">openpgp_keyring</a></li><li><a href="openpgp_msg_message.html">openpgp_msg_message</a></li><li><a href="openpgp_msg_privatekey.html">openpgp_msg_privatekey</a></li><li><a href="openpgp_msg_publickey.html">openpgp_msg_publickey</a></li><li><a href="openpgp_packet_compressed.html">openpgp_packet_compressed</a></li><li><a href="openpgp_packet_encrypteddata.html">openpgp_packet_encrypteddata</a></li><li><a href="openpgp_packet_encryptedintegrityprotecteddata.html">openpgp_packet_encryptedintegrityprotecteddata</a></li><li><a href="openpgp_packet_encryptedsessionkey.html">openpgp_packet_encryptedsessionkey</a></li><li><a href="openpgp_packet_keymaterial.html">openpgp_packet_keymaterial</a></li><li><a href="openpgp_packet_literaldata.html">openpgp_packet_literaldata</a></li><li><a href="openpgp_packet_marker.html">openpgp_packet_marker</a></li><li><a href="openpgp_packet_modificationdetectioncode.html">openpgp_packet_modificationdetectioncode</a></li><li><a href="openpgp_packet_onepasssignature.html">openpgp_packet_onepasssignature</a></li><li><a href="openpgp_packet_signature.html">openpgp_packet_signature</a></li><li><a href="openpgp_packet_userattribute.html">openpgp_packet_userattribute</a></li><li><a href="openpgp_packet_userid.html">openpgp_packet_userid</a></li><li><a href="openpgp_type_keyid.html">openpgp_type_keyid</a></li><li><a href="openpgp_type_mpi.html">openpgp_type_mpi</a></li><li><a href="openpgp_type_s2k.html">openpgp_type_s2k</a></li></ul><h3>Global</h3><ul><li><a href="global.html#MD5">MD5</a></li><li><a href="global.html#Uint8Array2str">Uint8Array2str</a></li><li><a href="global.html#bin2str">bin2str</a></li><li><a href="global.html#calc_checksum">calc_checksum</a></li><li><a href="global.html#crc_table">crc_table</a></li><li><a href="global.html#getCheckSum">getCheckSum</a></li><li><a href="global.html#getPGPMessageType">getPGPMessageType</a></li><li><a href="global.html#get_hashAlgorithmString">get_hashAlgorithmString</a></li><li><a href="global.html#hash_headers">hash_headers</a></li><li><a href="global.html#hex2bin">hex2bin</a></li><li><a href="global.html#hexidump">hexidump</a></li><li><a href="global.html#hexstrdump">hexstrdump</a></li><li><a href="global.html#openpgp_cfb_decrypt">openpgp_cfb_decrypt</a></li><li><a href="global.html#openpgp_cfb_encrypt">openpgp_cfb_encrypt</a></li><li><a href="global.html#openpgp_cfb_mdc">openpgp_cfb_mdc</a></li><li><a href="global.html#openpgp_crypto_MDCSystemBytes">openpgp_crypto_MDCSystemBytes</a></li><li><a href="global.html#openpgp_crypto_asymetricDecrypt">openpgp_crypto_asymetricDecrypt</a></li><li><a href="global.html#openpgp_crypto_asymetricEncrypt">openpgp_crypto_asymetricEncrypt</a></li><li><a href="global.html#openpgp_crypto_generateKeyPair">openpgp_crypto_generateKeyPair</a></li><li><a href="global.html#openpgp_crypto_generateSessionKey">openpgp_crypto_generateSessionKey</a></li><li><a href="global.html#openpgp_crypto_getHashByteLength">openpgp_crypto_getHashByteLength</a></li><li><a href="global.html#openpgp_crypto_getPrefixRandom">openpgp_crypto_getPrefixRandom</a></li><li><a href="global.html#openpgp_crypto_getPseudoRandom">openpgp_crypto_getPseudoRandom</a></li><li><a href="global.html#openpgp_crypto_getRandomBigInteger">openpgp_crypto_getRandomBigInteger</a></li><li><a href="global.html#openpgp_crypto_getRandomBytes">openpgp_crypto_getRandomBytes</a></li><li><a href="global.html#openpgp_crypto_getSecureRandom">openpgp_crypto_getSecureRandom</a></li><li><a href="global.html#openpgp_crypto_hashData">openpgp_crypto_hashData</a></li><li><a href="global.html#openpgp_crypto_signData">openpgp_crypto_signData</a></li><li><a href="global.html#openpgp_crypto_symmetricDecrypt">openpgp_crypto_symmetricDecrypt</a></li><li><a href="global.html#openpgp_crypto_symmetricEncrypt">openpgp_crypto_symmetricEncrypt</a></li><li><a href="global.html#openpgp_crypto_verifySignature">openpgp_crypto_verifySignature</a></li><li><a href="global.html#openpgp_encoding_armor">openpgp_encoding_armor</a></li><li><a href="global.html#openpgp_encoding_armor_addheader">openpgp_encoding_armor_addheader</a></li><li><a href="global.html#openpgp_encoding_base64_decode">openpgp_encoding_base64_decode</a></li><li><a href="global.html#openpgp_encoding_base64_encode">openpgp_encoding_base64_encode</a></li><li><a href="global.html#openpgp_encoding_deArmor">openpgp_encoding_deArmor</a></li><li><a href="global.html#openpgp_encoding_eme_pkcs1_decode">openpgp_encoding_eme_pkcs1_decode</a></li><li><a href="global.html#openpgp_encoding_eme_pkcs1_encode">openpgp_encoding_eme_pkcs1_encode</a></li><li><a href="global.html#openpgp_encoding_emsa_pkcs1_decode">openpgp_encoding_emsa_pkcs1_decode</a></li><li><a href="global.html#openpgp_encoding_emsa_pkcs1_encode">openpgp_encoding_emsa_pkcs1_encode</a></li><li><a href="global.html#openpgp_encoding_html_encode">openpgp_encoding_html_encode</a></li><li><a href="global.html#print_debug">print_debug</a></li><li><a href="global.html#print_debug_hexstr_dump">print_debug_hexstr_dump</a></li><li><a href="global.html#print_error">print_error</a></li><li><a href="global.html#print_info">print_info</a></li><li><a href="global.html#shiftRight">shiftRight</a></li><li><a href="global.html#str2Uint8Array">str2Uint8Array</a></li><li><a href="global.html#str2bin">str2bin</a></li><li><a href="global.html#util">util</a></li><li><a href="global.html#verifyCheckSum">verifyCheckSum</a></li></ul>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3</a> on Tue Sep 11 2012 21:45:27 GMT-0400 (EDT)
</footer>
<script> sh_highlightDocument(); </script>
</body>
</html>