<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crypto++: ripemd.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.7 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <h1>ripemd.h</h1><pre class="fragment"><div>00001 <span class="preprocessor">#ifndef CRYPTOPP_RIPEMD_H</span> 00002 <span class="preprocessor"></span><span class="preprocessor">#define CRYPTOPP_RIPEMD_H</span> 00003 <span class="preprocessor"></span> 00004 <span class="preprocessor">#include "iterhash.h"</span> 00005 00006 NAMESPACE_BEGIN(CryptoPP) 00007 00008 <span class="comment">//! <a href="http://www.weidai.com/scan-mirror/md.html#RIPEMD-160">RIPEMD-160</a></span> 00009 <span class="comment"></span><span class="comment">/*! Digest Length = 160 bits */</span> <a name="l00010"></a><a class="code" href="class_r_i_p_e_m_d160.html">00010</a> class <a class="code" href="class_r_i_p_e_m_d160.html">RIPEMD160</a> : public <a class="code" href="class_iterated_hash_with_static_transform.html">IteratedHashWithStaticTransform</a><word32, LittleEndian, 64, 20, <a class="code" href="class_r_i_p_e_m_d160.html">RIPEMD160</a>> 00011 { 00012 <span class="keyword">public</span>: 00013 <span class="keyword">static</span> <span class="keywordtype">void</span> InitState(HashWordType *state); 00014 <span class="keyword">static</span> <span class="keywordtype">void</span> Transform(word32 *digest, <span class="keyword">const</span> word32 *data); 00015 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"RIPEMD-160"</span>;} 00016 }; 00017 <span class="comment"></span> 00018 <span class="comment">/*! Digest Length = 320 bits, Security = 160 bits */</span> <a name="l00019"></a><a class="code" href="class_r_i_p_e_m_d320.html">00019</a> <span class="keyword">class </span><a class="code" href="class_r_i_p_e_m_d320.html">RIPEMD320</a> : <span class="keyword">public</span> <a class="code" href="class_iterated_hash_with_static_transform.html">IteratedHashWithStaticTransform</a><word32, LittleEndian, 64, 40, RIPEMD320> 00020 { 00021 <span class="keyword">public</span>: 00022 <span class="keyword">static</span> <span class="keywordtype">void</span> InitState(HashWordType *state); 00023 <span class="keyword">static</span> <span class="keywordtype">void</span> Transform(word32 *digest, <span class="keyword">const</span> word32 *data); 00024 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"RIPEMD-320"</span>;} 00025 }; 00026 <span class="comment"></span> 00027 <span class="comment">/*! Digest Length = 128 bits */</span> <a name="l00028"></a><a class="code" href="class_r_i_p_e_m_d128.html">00028</a> <span class="keyword">class </span><a class="code" href="class_r_i_p_e_m_d128.html">RIPEMD128</a> : <span class="keyword">public</span> <a class="code" href="class_iterated_hash_with_static_transform.html">IteratedHashWithStaticTransform</a><word32, LittleEndian, 64, 16, RIPEMD128> 00029 { 00030 <span class="keyword">public</span>: 00031 <span class="keyword">static</span> <span class="keywordtype">void</span> InitState(HashWordType *state); 00032 <span class="keyword">static</span> <span class="keywordtype">void</span> Transform(word32 *digest, <span class="keyword">const</span> word32 *data); 00033 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"RIPEMD-128"</span>;} 00034 }; 00035 <span class="comment"></span> 00036 <span class="comment">/*! Digest Length = 256 bits, Security = 128 bits */</span> <a name="l00037"></a><a class="code" href="class_r_i_p_e_m_d256.html">00037</a> <span class="keyword">class </span><a class="code" href="class_r_i_p_e_m_d256.html">RIPEMD256</a> : <span class="keyword">public</span> <a class="code" href="class_iterated_hash_with_static_transform.html">IteratedHashWithStaticTransform</a><word32, LittleEndian, 64, 32, RIPEMD256> 00038 { 00039 <span class="keyword">public</span>: 00040 <span class="keyword">static</span> <span class="keywordtype">void</span> InitState(HashWordType *state); 00041 <span class="keyword">static</span> <span class="keywordtype">void</span> Transform(word32 *digest, <span class="keyword">const</span> word32 *data); 00042 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"RIPEMD-256"</span>;} 00043 }; 00044 00045 NAMESPACE_END 00046 00047 <span class="preprocessor">#endif</span> </div></pre><hr size="1"><address style="align: right;"><small>Generated on Sun Nov 7 08:23:59 2004 for Crypto++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address> </body> </html>