📄 esign_8h-source.html
字号:
00065 <a class="code" href="class_integer.html">Integer</a> CalculateRandomizedInverse(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &x) <span class="keyword">const</span>;00066 00067 <span class="comment">// GeneratibleCryptoMaterial</span>00068 <span class="keywordtype">bool</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona5">Validate</a>(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> level) <span class="keyword">const</span>;00069 <span class="keywordtype">bool</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona6">GetVoidValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> std::type_info &valueType, <span class="keywordtype">void</span> *pValue) <span class="keyword">const</span>;00070 <span class="keywordtype">void</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona7">AssignFrom</a>(<span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &source);<span class="comment"></span>00071 <span class="comment"> /*! parameters: (ModulusSize) */</span>00072 <span class="keywordtype">void</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html#_invertible_e_s_i_g_n_functiona8">GenerateRandom</a>(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, <span class="keyword">const</span> <a class="code" href="class_name_value_pairs.html">NameValuePairs</a> &alg);00073 00074 <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>& GetPrime1()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_p;}00075 <span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a>& GetPrime2()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_q;}00076 00077 <span class="keywordtype">void</span> SetPrime1(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &p) {m_p = p;}00078 <span class="keywordtype">void</span> SetPrime2(<span class="keyword">const</span> <a class="code" href="class_integer.html">Integer</a> &q) {m_q = q;}00079 00080 <span class="keyword">protected</span>:00081 <a class="code" href="class_integer.html">Integer</a> m_p, m_q;00082 };00083 <span class="comment"></span>00084 <span class="comment">//! .</span>00085 <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">class</span> T><a name="l00086"></a><a class="code" href="class_e_m_s_a5_pad.html">00086</a> <span class="keyword">class </span><a class="code" href="class_e_m_s_a5_pad.html">EMSA5Pad</a> : <span class="keyword">public</span> <a class="code" href="class_p_k___nonreversible_padding_algorithm.html">PK_NonreversiblePaddingAlgorithm</a>00087 {00088 <span class="keyword">public</span>:00089 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"EMSA5"</span>;}00090 00091 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MaxUnpaddedLength(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedLength)<span class="keyword"> const </span>{<span class="keywordflow">return</span> UINT_MAX;}00092 00093 <span class="keywordtype">void</span> Pad(<a class="code" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, <span class="keyword">const</span> byte *raw, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputLength, byte *padded, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedLength)<span class="keyword"> const</span>00094 <span class="keyword"> </span>{00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> paddedByteLength = BitsToBytes(paddedLength);00096 memset(padded, 0, paddedByteLength);00097 T::GenerateAndMask(padded, paddedByteLength, raw, inputLength);00098 <span class="keywordflow">if</span> (paddedLength % 8 != 0)00099 padded[0] = (byte)Crop(padded[0], paddedLength % 8);00100 }00101 };00102 <span class="comment"></span>00103 <span class="comment">//! EMSA5, for use with ESIGN</span><a name="l00104"></a><a class="code" href="struct_p1363___e_m_s_a5.html">00104</a> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="struct_p1363___e_m_s_a5.html">P1363_EMSA5</a> : <span class="keyword">public</span> <a class="code" href="struct_signature_standard.html">SignatureStandard</a>00105 {00106 <span class="keyword">template</span> <<span class="keyword">class</span> H> <span class="keyword">struct </span>SignaturePaddingAlgorithm {<span class="keyword">typedef</span> <a class="code" href="class_e_m_s_a5_pad.html">EMSA5Pad<P1363_MGF1<H></a> > type;};00107 <span class="keyword">template</span> <<span class="keyword">class</span> H> <span class="keyword">struct </span>DecoratedHashingAlgorithm {<span class="keyword">typedef</span> H type;};00108 };00109 00110 <span class="keyword">template</span><> <span class="keyword">struct </span>CryptoStandardTraits<P1363_EMSA5> : <span class="keyword">public</span> P1363_EMSA5 {};00111 00112 <span class="keyword">struct </span>ESIGN_Keys00113 {00114 <span class="keyword">static</span> std::string StaticAlgorithmName() {<span class="keywordflow">return</span> <span class="stringliteral">"ESIGN"</span>;}00115 <span class="keyword">typedef</span> <a class="code" href="class_e_s_i_g_n_function.html">ESIGNFunction</a> <a class="code" href="class_public_key.html">PublicKey</a>;00116 <span class="keyword">typedef</span> <a class="code" href="class_invertible_e_s_i_g_n_function.html">InvertibleESIGNFunction</a> <a class="code" href="class_private_key.html">PrivateKey</a>;00117 };00118 <span class="comment"></span>00119 <span class="comment">//! ESIGN, as defined in IEEE P1363a</span><a name="l00120"></a><a class="code" href="struct_e_s_i_g_n.html">00120</a> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">class</span> H, <span class="keyword">class</span> STANDARD = P1363_EMSA5>00121 <span class="keyword">struct </span><a class="code" href="struct_e_s_i_g_n.html">ESIGN</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___s_s_a.html">TF_SSA</a><STANDARD, H, ESIGN_Keys>00122 {00123 };00124 00125 NAMESPACE_END00126 00127 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:14 2003 for Crypto++ by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -