Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 0a67b807a02637f2cae68649d519a89d > files > 2182

libcryptopp-devel-7.0.0-1.mga7.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crypto++: cryptlib.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crypto++
   &#160;<span id="projectnumber">7.0</span>
   </div>
   <div id="projectbrief">Free&nbsp;C&#43;&#43;&nbsp;class&nbsp;library&nbsp;of&nbsp;cryptographic&nbsp;schemes</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">cryptlib.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract base classes that provide a uniform interface to this library.  
<a href="#details">More...</a></p>

<p><a href="cryptlib_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_enum_to_type.html">EnumToType&lt; ENUM_TYPE, VALUE &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an enumeration to a type suitable for use as a template parameter.  <a href="struct_enum_to_type.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_exception.html">Exception</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for all exceptions thrown by the library.  <a href="class_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invalid_argument.html">InvalidArgument</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invalid argument was detected.  <a href="class_invalid_argument.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invalid_data_format.html">InvalidDataFormat</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input data was received that did not conform to expected format.  <a href="class_invalid_data_format.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_invalid_ciphertext.html">InvalidCiphertext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A decryption filter encountered invalid ciphertext.  <a href="class_invalid_ciphertext.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_not_implemented.html">NotImplemented</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A method was called which was not implemented.  <a href="class_not_implemented.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cannot_flush.html">CannotFlush</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush(true) was called but it can't completely flush its buffers.  <a href="class_cannot_flush.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_s___error.html">OS_Error</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The operating system reported an error.  <a href="class_o_s___error.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_decoding_result.html">DecodingResult</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decoding results.  <a href="struct_decoding_result.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs.html">NameValuePairs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for retrieving values given their names.  <a href="class_name_value_pairs.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_name_value_pairs_1_1_value_type_mismatch.html">NameValuePairs::ValueTypeMismatch</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thrown when an unexpected type is encountered.  <a href="class_name_value_pairs_1_1_value_type_mismatch.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_null_name_value_pairs.html">NullNameValuePairs</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for retrieving values given their names.  <a href="class_null_name_value_pairs.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_clonable.html">Clonable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for cloning objects.  <a href="class_clonable.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_algorithm.html">Algorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for all crypto algorithms.  <a href="class_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_keying_interface.html">SimpleKeyingInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for algorithms that take byte strings as keys.  <a href="class_simple_keying_interface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_transformation.html">BlockTransformation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the data processing part of block ciphers.  <a href="class_block_transformation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_stream_transformation.html">StreamTransformation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for the data processing portion of stream ciphers.  <a href="class_stream_transformation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_hash_transformation.html">HashTransformation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for hash functions and data processing part of MACs.  <a href="class_hash_transformation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_block_cipher.html">BlockCipher</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for one direction (encryption or decryption) of a block cipher.  <a href="class_block_cipher.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_symmetric_cipher.html">SymmetricCipher</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for one direction (encryption or decryption) of a stream cipher or cipher mode.  <a href="class_symmetric_cipher.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_message_authentication_code.html">MessageAuthenticationCode</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for message authentication codes.  <a href="class_message_authentication_code.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_authenticated_symmetric_cipher.html">AuthenticatedSymmetricCipher</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for authenticated encryption modes of operation.  <a href="class_authenticated_symmetric_cipher.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_authenticated_symmetric_cipher_1_1_bad_state.html">AuthenticatedSymmetricCipher::BadState</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when the object is in the wrong state for the operation.  <a href="class_authenticated_symmetric_cipher_1_1_bad_state.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for random number generators.  <a href="class_random_number_generator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_key_derivation_function.html">KeyDerivationFunction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for key derivation functions.  <a href="class_key_derivation_function.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_password_based_key_derivation_function.html">PasswordBasedKeyDerivationFunction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for password based key derivation functions.  <a href="struct_password_based_key_derivation_function.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_waitable.html">Waitable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for objects that can be waited on.  <a href="class_waitable.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for buffered transformations.  <a href="class_buffered_transformation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_buffered_transformation_1_1_blocking_input_only.html">BufferedTransformation::BlockingInputOnly</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown by objects that have <em>not</em> implemented nonblocking input processing.  <a href="struct_buffered_transformation_1_1_blocking_input_only.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_buffered_transformation_1_1_no_channel_support.html">BufferedTransformation::NoChannelSupport</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when a filter does not support named channels.  <a href="struct_buffered_transformation_1_1_no_channel_support.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_buffered_transformation_1_1_invalid_channel_name.html">BufferedTransformation::InvalidChannelName</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when a filter does not recognize a named channel.  <a href="struct_buffered_transformation_1_1_invalid_channel_name.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material.html">CryptoMaterial</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for crypto material, such as public and private keys, and crypto parameters.  <a href="class_crypto_material.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_material_1_1_invalid_material.html">CryptoMaterial::InvalidMaterial</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when invalid crypto material is detected.  <a href="class_crypto_material_1_1_invalid_material.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_generatable_crypto_material.html">GeneratableCryptoMaterial</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for generatable crypto material, such as private keys and crypto parameters.  <a href="class_generatable_crypto_material.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_key.html">PublicKey</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public keys.  <a href="class_public_key.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_private_key.html">PrivateKey</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for private keys.  <a href="class_private_key.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_crypto_parameters.html">CryptoParameters</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for crypto prameters.  <a href="class_crypto_parameters.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_asymmetric_algorithm.html">AsymmetricAlgorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for asymmetric algorithms.  <a href="class_asymmetric_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_public_key_algorithm.html">PublicKeyAlgorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for asymmetric algorithms using public keys.  <a href="class_public_key_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_private_key_algorithm.html">PrivateKeyAlgorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for asymmetric algorithms using private keys.  <a href="class_private_key_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_key_agreement_algorithm.html">KeyAgreementAlgorithm</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for key agreement algorithms.  <a href="class_key_agreement_algorithm.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___crypto_system.html">PK_CryptoSystem</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key encryptors and decryptors.  <a href="class_p_k___crypto_system.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___encryptor.html">PK_Encryptor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key encryptors.  <a href="class_p_k___encryptor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___encryptor_1_1_invalid_plaintext_length.html">PK_Encryptor::InvalidPlaintextLength</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when trying to encrypt plaintext of invalid length.  <a href="class_p_k___encryptor_1_1_invalid_plaintext_length.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___decryptor.html">PK_Decryptor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key decryptors.  <a href="class_p_k___decryptor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___signature_scheme.html">PK_SignatureScheme</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key signers and verifiers.  <a href="class_p_k___signature_scheme.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___signature_scheme_1_1_invalid_key_length.html">PK_SignatureScheme::InvalidKeyLength</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> throw when the private or public key has a length that can't be used.  <a href="class_p_k___signature_scheme_1_1_invalid_key_length.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___signature_scheme_1_1_key_too_short.html">PK_SignatureScheme::KeyTooShort</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> throw when the private or public key is too short to sign or verify.  <a href="class_p_k___signature_scheme_1_1_key_too_short.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___message_accumulator.html">PK_MessageAccumulator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for accumulating messages to be signed or verified.  <a href="class_p_k___message_accumulator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___signer.html">PK_Signer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key signers.  <a href="class_p_k___signer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_k___verifier.html">PK_Verifier</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for public-key signature verifiers.  <a href="class_p_k___verifier.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_simple_key_agreement_domain.html">SimpleKeyAgreementDomain</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for domains of simple key agreement protocols.  <a href="class_simple_key_agreement_domain.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_authenticated_key_agreement_domain.html">AuthenticatedKeyAgreementDomain</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for domains of authenticated key agreement protocols.  <a href="class_authenticated_key_agreement_domain.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_b_e_r_decode_err.html">BERDecodeErr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_exception.html" title="Base class for all exceptions thrown by the library. ">Exception</a> thrown when an ASN.1 BER decoing error is encountered.  <a href="class_b_e_r_decode_err.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_s_n1_object.html">ASN1Object</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for encoding and decoding ASN1 objects.  <a href="class_a_s_n1_object.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespace_name"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_name.html">Name</a></td></tr>
<tr class="memdesc:namespace_name"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namespace containing value name definitions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespace_weak"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_weak.html">Weak</a></td></tr>
<tr class="memdesc:namespace_weak"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namespace containing weak and wounded algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespace_na_cl"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_na_cl.html">NaCl</a></td></tr>
<tr class="memdesc:namespace_na_cl"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namespace containing <a class="el" href="namespace_na_cl.html" title="Namespace containing NaCl library functions. ">NaCl</a> library functions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespace_test"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_test.html">Test</a></td></tr>
<tr class="memdesc:namespace_test"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namespace containing testing and benchmark classes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad00625e1e5e96656feaf83fd53c1ab4e"><td class="memItemLeft" align="right" valign="top"><a id="ad00625e1e5e96656feaf83fd53c1ab4e"></a>
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a>&lt; <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a>, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baccd5b3585bd07d6bdae383aa8271b9d2">LITTLE_ENDIAN_ORDER</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#ad00625e1e5e96656feaf83fd53c1ab4e">LittleEndian</a></td></tr>
<tr class="memdesc:ad00625e1e5e96656feaf83fd53c1ab4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a constant for LittleEndian. <br /></td></tr>
<tr class="separator:ad00625e1e5e96656feaf83fd53c1ab4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a408c806f842a5be8d06de7d6a1066"><td class="memItemLeft" align="right" valign="top"><a id="af2a408c806f842a5be8d06de7d6a1066"></a>
typedef <a class="el" href="struct_enum_to_type.html">EnumToType</a>&lt; <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a>, <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#af2a408c806f842a5be8d06de7d6a1066">BigEndian</a></td></tr>
<tr class="memdesc:af2a408c806f842a5be8d06de7d6a1066"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a constant for BigEndian. <br /></td></tr>
<tr class="separator:af2a408c806f842a5be8d06de7d6a1066"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a353ccabf5ddc119a6a33e92f7b9961c7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a353ccabf5ddc119a6a33e92f7b9961c7">CipherDir</a> { <a class="el" href="cryptlib_8h.html#a353ccabf5ddc119a6a33e92f7b9961c7a244e5e74f856cdd5aafc1005877a2f61">ENCRYPTION</a>, 
<a class="el" href="cryptlib_8h.html#a353ccabf5ddc119a6a33e92f7b9961c7ab5f88847da182e7a1a8af64f4e18f048">DECRYPTION</a>
 }</td></tr>
<tr class="memdesc:a353ccabf5ddc119a6a33e92f7b9961c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies a direction for a cipher to operate.  <a href="cryptlib_8h.html#a353ccabf5ddc119a6a33e92f7b9961c7">More...</a><br /></td></tr>
<tr class="separator:a353ccabf5ddc119a6a33e92f7b9961c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> { <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baccd5b3585bd07d6bdae383aa8271b9d2">LITTLE_ENDIAN_ORDER</a> = 0, 
<a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57">BIG_ENDIAN_ORDER</a> = 1
 }</td></tr>
<tr class="memdesc:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the byte ordering.  <a href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">More...</a><br /></td></tr>
<tr class="separator:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1e53479a6d427158247ac1ece3161a6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a1e53479a6d427158247ac1ece3161a6d">NullRNG</a> ()</td></tr>
<tr class="memdesc:a1e53479a6d427158247ac1ece3161a6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random Number Generator that does not produce random numbers.  <a href="#a1e53479a6d427158247ac1ece3161a6d">More...</a><br /></td></tr>
<tr class="separator:a1e53479a6d427158247ac1ece3161a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae42d0f5e86285a0fd540be52caabbfeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#ae42d0f5e86285a0fd540be52caabbfeb">TheBitBucket</a> ()</td></tr>
<tr class="memdesc:ae42d0f5e86285a0fd540be52caabbfeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">An input discarding <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations. ">BufferedTransformation</a>.  <a href="#ae42d0f5e86285a0fd540be52caabbfeb">More...</a><br /></td></tr>
<tr class="separator:ae42d0f5e86285a0fd540be52caabbfeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56df99ecc24b420bc2ffaf590e5b98e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6">LibraryVersion</a> (...)</td></tr>
<tr class="memdesc:a56df99ecc24b420bc2ffaf590e5b98e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies the build-time version of the library.  <a href="#a56df99ecc24b420bc2ffaf590e5b98e6">More...</a><br /></td></tr>
<tr class="separator:a56df99ecc24b420bc2ffaf590e5b98e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31b8a0ddc794c9a65c200f95221693e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6">HeaderVersion</a> ()</td></tr>
<tr class="memdesc:a31b8a0ddc794c9a65c200f95221693e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies the runtime version of the library.  <a href="#a31b8a0ddc794c9a65c200f95221693e6">More...</a><br /></td></tr>
<tr class="separator:a31b8a0ddc794c9a65c200f95221693e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a5dc7a255dd813433eeee3152544c2f1d"><td class="memItemLeft" align="right" valign="top"><a id="a5dc7a255dd813433eeee3152544c2f1d"></a>
const unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a5dc7a255dd813433eeee3152544c2f1d">INFINITE_TIME</a> = ULONG_MAX</td></tr>
<tr class="memdesc:a5dc7a255dd813433eeee3152544c2f1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents infinite time. <br /></td></tr>
<tr class="separator:a5dc7a255dd813433eeee3152544c2f1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a69ab5a5e0f58279c43f4f51809c84a"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a9a69ab5a5e0f58279c43f4f51809c84a">DEFAULT_CHANNEL</a></td></tr>
<tr class="memdesc:a9a69ab5a5e0f58279c43f4f51809c84a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default channel for <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations. ">BufferedTransformation</a>.  <a href="#a9a69ab5a5e0f58279c43f4f51809c84a">More...</a><br /></td></tr>
<tr class="separator:a9a69ab5a5e0f58279c43f4f51809c84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff60e2d96212d25c078c2dd11e45de0e"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#aff60e2d96212d25c078c2dd11e45de0e">AAD_CHANNEL</a></td></tr>
<tr class="memdesc:aff60e2d96212d25c078c2dd11e45de0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel for additional authenticated data.  <a href="#aff60e2d96212d25c078c2dd11e45de0e">More...</a><br /></td></tr>
<tr class="separator:aff60e2d96212d25c078c2dd11e45de0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04be65ada92ccb1e6aac0d94b4cc394b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cryptlib_8h.html#a04be65ada92ccb1e6aac0d94b4cc394b">g_nullNameValuePairs</a></td></tr>
<tr class="memdesc:a04be65ada92ccb1e6aac0d94b4cc394b"><td class="mdescLeft">&#160;</td><td class="mdescRight">An empty set of name-value pairs.  <a href="#a04be65ada92ccb1e6aac0d94b4cc394b">More...</a><br /></td></tr>
<tr class="separator:a04be65ada92ccb1e6aac0d94b4cc394b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base classes that provide a uniform interface to this library. </p>

<p class="definition">Definition in file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a353ccabf5ddc119a6a33e92f7b9961c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a353ccabf5ddc119a6a33e92f7b9961c7">&#9670;&nbsp;</a></span>CipherDir</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="cryptlib_8h.html#a353ccabf5ddc119a6a33e92f7b9961c7">CipherDir</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specifies a direction for a cipher to operate. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_block_transformation.html#a50f2565057bc9ba7bb70a98d9c9b39cd" title="Determines if the cipher is being operated in its forward direction. ">BlockTransformation::IsForwardTransformation()</a>, <a class="el" href="class_block_transformation.html#aa4118be8bfaf6772a9a8e03dd450614b" title="Determines if the transformation is a permutation. ">BlockTransformation::IsPermutation()</a>, <a class="el" href="class_block_transformation.html#a91b351e01288f31eccb3b42bc096c2ba" title="Provides the direction of the cipher. ">BlockTransformation::GetCipherDirection()</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a353ccabf5ddc119a6a33e92f7b9961c7a244e5e74f856cdd5aafc1005877a2f61"></a>ENCRYPTION&#160;</td><td class="fielddoc"><p>the cipher is performing encryption </p>
</td></tr>
<tr><td class="fieldname"><a id="a353ccabf5ddc119a6a33e92f7b9961c7ab5f88847da182e7a1a8af64f4e18f048"></a>DECRYPTION&#160;</td><td class="fielddoc"><p>the cipher is performing decryption </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l00120">120</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
<a id="aaeb92d42f5a6e27b8ba19f18d69d142b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeb92d42f5a6e27b8ba19f18d69d142b">&#9670;&nbsp;</a></span>ByteOrder</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="cryptlib_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Provides the byte ordering. </p>
<p>Big-endian and little-endian modes are supported. Bi-endian and PDP-endian modes are not supported. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aaeb92d42f5a6e27b8ba19f18d69d142baccd5b3585bd07d6bdae383aa8271b9d2"></a>LITTLE_ENDIAN_ORDER&#160;</td><td class="fielddoc"><p>byte order is little-endian </p>
</td></tr>
<tr><td class="fieldname"><a id="aaeb92d42f5a6e27b8ba19f18d69d142baf0c3bb6c718cc7ff0bffef4e8f178c57"></a>BIG_ENDIAN_ORDER&#160;</td><td class="fielddoc"><p>byte order is big-endian </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l00140">140</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a1e53479a6d427158247ac1ece3161a6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e53479a6d427158247ac1ece3161a6d">&#9670;&nbsp;</a></span>NullRNG()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a>&amp; NullRNG </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Random Number Generator that does not produce random numbers. </p>
<dl class="section return"><dt>Returns</dt><dd>reference that can be passed to functions that require a <a class="el" href="class_random_number_generator.html" title="Interface for random number generators. ">RandomNumberGenerator</a></dd></dl>
<p><a class="el" href="cryptlib_8h.html#a1e53479a6d427158247ac1ece3161a6d" title="Random Number Generator that does not produce random numbers. ">NullRNG()</a> returns a reference that can be passed to functions that require a <a class="el" href="class_random_number_generator.html" title="Interface for random number generators. ">RandomNumberGenerator</a> but don't actually use it. The <a class="el" href="cryptlib_8h.html#a1e53479a6d427158247ac1ece3161a6d" title="Random Number Generator that does not produce random numbers. ">NullRNG()</a> throws <a class="el" href="class_not_implemented.html" title="A method was called which was not implemented. ">NotImplemented</a> when a generation function is called. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="class_class_null_r_n_g.html" title="Random Number Generator that does not produce random numbers. ">ClassNullRNG</a>, <a class="el" href="class_p_k___signature_scheme.html#adeb758d5f8ae8fad137d11ad1c5c60c0" title="Determines whether a signature scheme requires a random number generator. ">PK_SignatureScheme::IsProbabilistic()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="cryptlib_8cpp_source.html#l00406">406</a> of file <a class="el" href="cryptlib_8cpp_source.html">cryptlib.cpp</a>.</p>

</div>
</div>
<a id="ae42d0f5e86285a0fd540be52caabbfeb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae42d0f5e86285a0fd540be52caabbfeb">&#9670;&nbsp;</a></span>TheBitBucket()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_buffered_transformation.html">BufferedTransformation</a>&amp; TheBitBucket </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An input discarding <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations. ">BufferedTransformation</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>a reference to a <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations. ">BufferedTransformation</a> object that discards all input </dd></dl>

<p class="definition">Definition at line <a class="el" href="cryptlib_8cpp_source.html#l00046">46</a> of file <a class="el" href="cryptlib_8cpp_source.html">cryptlib.cpp</a>.</p>

</div>
</div>
<a id="a56df99ecc24b420bc2ffaf590e5b98e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56df99ecc24b420bc2ffaf590e5b98e6">&#9670;&nbsp;</a></span>LibraryVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LibraryVersion </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specifies the build-time version of the library. </p>
<dl class="section return"><dt>Returns</dt><dd>integer representing the build-time version</dd></dl>
<p>LibraryVersion can help detect inadvertent mixing and matching of library versions. When using Crypto++ distributed by a third party, <a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> records the version of the shared object that was built by the third party. The <a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> record resides in <code>cryptlib.o</code> on Unix compatibles and <code>cryptlib.obj</code> on Windows. It does not change when an app links to the library.</p>
<p><a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> is declared with C linkage (<code>extern "C"</code>) within the <a class="el" href="namespace_crypto_p_p.html" title="Crypto++ library namespace. ">CryptoPP</a> namespace to help programs locate the symbol. If the symbol is present, then the library version is 5.7 or above. If it is missing, then the library version is 5.6.5 or below.</p>
<p>The function could be used as shown below. </p><pre>
    if (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> != <a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a>)
    {
        cout &lt;&lt; "Potential version mismatch" &lt;&lt; endl;</pre><pre>        const int lmaj = (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> / 100U) % 10;
        const int lmin = (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> / 10U) % 10;
        const int hmaj = (<a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> / 100U) % 10;
        const int hmin = (<a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> / 10U) % 10;</pre><pre>        if(lmaj != hmaj)
            cout &lt;&lt; "Major version mismatch" &lt;&lt; endl;
        else if(lmin != hmin)
            cout &lt;&lt; "Minor version mismatch" &lt;&lt; endl;
     }
</pre> <dl class="section see"><dt>See also</dt><dd><a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a>, <a href="http://github.com/weidai11/cryptopp/issues/371">GitHub Issue 371</a>. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>Crypto++ 6.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="cryptlib_8cpp_source.html#l00990">990</a> of file <a class="el" href="cryptlib_8cpp_source.html">cryptlib.cpp</a>.</p>

</div>
</div>
<a id="a31b8a0ddc794c9a65c200f95221693e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31b8a0ddc794c9a65c200f95221693e6">&#9670;&nbsp;</a></span>HeaderVersion()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int HeaderVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Specifies the runtime version of the library. </p>
<dl class="section return"><dt>Returns</dt><dd>integer representing the runtime version</dd></dl>
<p><a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> can help detect inadvertent mixing and matching of library versions. When using Crypto++ distributed by a third party, <a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> records the version of the headers used by the app when the app is compiled.</p>
<p><a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> is declared with C linkage (<code>extern "C"</code>) within the <a class="el" href="namespace_crypto_p_p.html" title="Crypto++ library namespace. ">CryptoPP</a> namespace to help programs locate the symbol. If the symbol is present, then the library version is 5.7 or above. If it is missing, then the library version is 5.6.5 or below.</p>
<p>The function could be used as shown below. </p><pre>
    if (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> != <a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a>)
    {
        cout &lt;&lt; "Potential version mismatch" &lt;&lt; endl;</pre><pre>        const int lmaj = (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> / 100U) % 10;
        const int lmin = (<a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a> / 10U) % 10;
        const int hmaj = (<a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> / 100U) % 10;
        const int hmin = (<a class="el" href="cryptlib_8h.html#a31b8a0ddc794c9a65c200f95221693e6" title="Specifies the runtime version of the library. ">HeaderVersion()</a> / 10U) % 10;</pre><pre>        if(lmaj != hmaj)
            cout &lt;&lt; "Major version mismatch" &lt;&lt; endl;
        else if(lmin != hmin)
            cout &lt;&lt; "Minor version mismatch" &lt;&lt; endl;
     }
</pre> <dl class="section see"><dt>See also</dt><dd><a class="el" href="cryptlib_8h.html#a56df99ecc24b420bc2ffaf590e5b98e6" title="Specifies the build-time version of the library. ">LibraryVersion()</a>, <a href="http://github.com/weidai11/cryptopp/issues/371">GitHub Issue 371</a>. </dd></dl>
<dl class="section since"><dt>Since</dt><dd>Crypto++ 6.0 </dd></dl>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l03198">3198</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a9a69ab5a5e0f58279c43f4f51809c84a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a69ab5a5e0f58279c43f4f51809c84a">&#9670;&nbsp;</a></span>DEFAULT_CHANNEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string DEFAULT_CHANNEL</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default channel for <a class="el" href="class_buffered_transformation.html" title="Interface for buffered transformations. ">BufferedTransformation</a>. </p>
<p>DEFAULT_CHANNEL is equal to an empty string</p>
<p>Crypto++ 6.0 placed DEFAULT_CHANNEL in the header, rather than declaring it as extern and placing the definition in the source file. As an external definition the string DEFAULT_CHANNEL was subject to static initialization order fiasco problems. </p>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l00481">481</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
<a id="aff60e2d96212d25c078c2dd11e45de0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff60e2d96212d25c078c2dd11e45de0e">&#9670;&nbsp;</a></span>AAD_CHANNEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string AAD_CHANNEL</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Channel for additional authenticated data. </p>
<p>AAD_CHANNEL is equal to "AAD"</p>
<p>Crypto++ 6.0 placed AAD_CHANNEL in the header, rather than declaring it as extern and placing the definition in the source file. As an external definition the string AAD_CHANNEL was subject to static initialization order fiasco problems. </p>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l00488">488</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
<a id="a04be65ada92ccb1e6aac0d94b4cc394b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04be65ada92ccb1e6aac0d94b4cc394b">&#9670;&nbsp;</a></span>g_nullNameValuePairs</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_name_value_pairs.html">NameValuePairs</a> g_nullNameValuePairs</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An empty set of name-value pairs. </p>
<p>Crypto++ 6.0 placed g_nullNameValuePairs in the header, rather than declaring it as extern and placing the definition in the source file. As an external definition the g_nullNameValuePairs was subject to static initialization order fiasco problems. </p>

<p class="definition">Definition at line <a class="el" href="cryptlib_8h_source.html#l00494">494</a> of file <a class="el" href="cryptlib_8h_source.html">cryptlib.h</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Sep 16 2018 07:58:09 for Crypto++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>