⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pubkey_8h-source.html

📁 Crypto++是一个非常强大的密码学库,主要是功能全
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00228 <span class="keyword">public</span>:00229         <span class="keywordtype">bool</span> VerifyDigest(<span class="keyword">const</span> byte *digest, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> digestLen, <span class="keyword">const</span> byte *sig) <span class="keyword">const</span>;00230 };00231 00232 <span class="comment">// ********************************************************</span>00233 <span class="comment"></span>00234 <span class="comment">//! .</span>00235 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> T1, <span class="keyword">class</span> T2, <span class="keyword">class</span> T3&gt;<a name="l00236"></a><a class="code" href="struct_t_f___scheme_options.html">00236</a> <span class="keyword">struct </span><a class="code" href="struct_t_f___scheme_options.html">TF_SchemeOptions</a>00237 {00238         <span class="keyword">typedef</span> T1 AlgorithmInfo;00239         <span class="keyword">typedef</span> T2 Keys;00240         <span class="keyword">typedef</span> <span class="keyword">typename</span> Keys::PrivateKey PrivateKey;00241         <span class="keyword">typedef</span> <span class="keyword">typename</span> Keys::PublicKey PublicKey;00242         <span class="keyword">typedef</span> T3 PaddingAlgorithm;00243 };00244 <span class="comment"></span>00245 <span class="comment">//! .</span>00246 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYS&gt;<a name="l00247"></a><a class="code" href="class_public_key_copier.html">00247</a> <span class="keyword">class </span><a class="code" href="class_public_key_copier.html">PublicKeyCopier</a>00248 {00249 <span class="keyword">public</span>:00250         <span class="keyword">virtual</span> <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> KEYS::PublicKey &amp;key) <span class="keyword">const</span> =0;00251 };00252 <span class="comment"></span>00253 <span class="comment">//! .</span>00254 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> KEYS&gt;<a name="l00255"></a><a class="code" href="class_private_key_copier.html">00255</a> <span class="keyword">class </span><a class="code" href="class_private_key_copier.html">PrivateKeyCopier</a>00256 {00257 <span class="keyword">public</span>:00258         <span class="keyword">virtual</span> <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> KEYS::PublicKey &amp;key) <span class="keyword">const</span> =0;00259         <span class="keyword">virtual</span> <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> KEYS::PrivateKey &amp;key) <span class="keyword">const</span> =0;00260 };00261 <span class="comment"></span>00262 <span class="comment">//! .</span>00263 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE, <span class="keyword">class</span> SCHEME_OPTIONS, <span class="keyword">class</span> KEY&gt;<a name="l00264"></a><a class="code" href="class_t_f___object_impl_base.html">00264</a> <span class="keyword">class </span><a class="code" href="class_t_f___object_impl_base.html">TF_ObjectImplBase</a> : <span class="keyword">public</span> AlgorithmImpl&lt;BASE, typename SCHEME_OPTIONS::AlgorithmInfo&gt;00265 {00266 <span class="keyword">public</span>:00267         <span class="keyword">typedef</span> SCHEME_OPTIONS SchemeOptions;00268         <span class="keyword">typedef</span> KEY KeyClass;00269 00270         <a class="code" href="class_public_key.html">PublicKey</a> &amp; AccessPublicKey() {<span class="keywordflow">return</span> AccessKey();}00271         <span class="keyword">const</span> <a class="code" href="class_public_key.html">PublicKey</a> &amp; GetPublicKey()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetKey();}00272 00273         <a class="code" href="class_private_key.html">PrivateKey</a> &amp; AccessPrivateKey() {<span class="keywordflow">return</span> AccessKey();}00274         <span class="keyword">const</span> <a class="code" href="class_private_key.html">PrivateKey</a> &amp; GetPrivateKey()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetKey();}00275 00276         <span class="keyword">virtual</span> <span class="keyword">const</span> KeyClass &amp; GetKey() <span class="keyword">const</span> =0;00277         <span class="keyword">virtual</span> KeyClass &amp; AccessKey() =0;00278 00279         <span class="keyword">const</span> KeyClass &amp; GetTrapdoorFunction()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetKey();}00280 00281 <span class="keyword">protected</span>:00282         <span class="keyword">const</span> <a class="code" href="class_p_k___padding_algorithm.html">PK_PaddingAlgorithm</a> &amp; GetPaddingAlgorithm()<span class="keyword"> const </span>{<span class="keyword">static</span> <span class="keyword">typename</span> SCHEME_OPTIONS::PaddingAlgorithm paddingScheme; <span class="keywordflow">return</span> paddingScheme;}00283         <span class="keyword">const</span> TrapdoorFunctionBounds &amp; GetTrapdoorFunctionBounds()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetKey();}00284         <span class="keyword">const</span> <span class="keyword">typename</span> BASE::TrapdoorFunctionInterface &amp; GetTrapdoorFunctionInterface()<span class="keyword"> const </span>{<span class="keywordflow">return</span> GetKey();}00285 };00286 <span class="comment"></span>00287 <span class="comment">//! .</span>00288 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE, <span class="keyword">class</span> SCHEME_OPTIONS, <span class="keyword">class</span> KEY&gt;<a name="l00289"></a><a class="code" href="class_t_f___object_impl_ext_ref.html">00289</a> <span class="keyword">class </span><a class="code" href="class_t_f___object_impl_ext_ref.html">TF_ObjectImplExtRef</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___object_impl_base.html">TF_ObjectImplBase</a>&lt;BASE, SCHEME_OPTIONS, KEY&gt;00290 {00291 <span class="keyword">public</span>:00292         <a class="code" href="class_t_f___object_impl_ext_ref.html">TF_ObjectImplExtRef</a>(<span class="keyword">const</span> KEY *pKey = NULL) : m_pKey(pKey) {}00293         <span class="keywordtype">void</span> SetKeyPtr(<span class="keyword">const</span> KEY *pKey) {m_pKey = pKey;}00294 00295         <span class="keyword">const</span> KEY &amp; GetKey()<span class="keyword"> const </span>{<span class="keywordflow">return</span> *m_pKey;}00296         KEY &amp; AccessKey() {<span class="keywordflow">throw</span> <a class="code" href="class_not_implemented.html">NotImplemented</a>(<span class="stringliteral">"TF_ObjectImplExtRef: cannot modify refererenced key"</span>);}00297 00298         <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> SCHEME_OPTIONS::PrivateKey &amp;key)<span class="keyword"> const </span>{assert(<span class="keyword">false</span>);}00299         <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> SCHEME_OPTIONS::PublicKey &amp;key)<span class="keyword"> const </span>{assert(<span class="keyword">false</span>);}00300 00301 <span class="keyword">private</span>:00302         <span class="keyword">const</span> KEY * m_pKey;00303 };00304 <span class="comment"></span>00305 <span class="comment">//! .</span>00306 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE, <span class="keyword">class</span> SCHEME_OPTIONS, <span class="keyword">class</span> KEY&gt;<a name="l00307"></a><a class="code" href="class_t_f___object_impl.html">00307</a> <span class="keyword">class </span><a class="code" href="class_t_f___object_impl.html">TF_ObjectImpl</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___object_impl_base.html">TF_ObjectImplBase</a>&lt;BASE, SCHEME_OPTIONS, KEY&gt;00308 {00309 <span class="keyword">public</span>:00310         <span class="keyword">const</span> KEY &amp; GetKey()<span class="keyword"> const </span>{<span class="keywordflow">return</span> m_trapdoorFunction;}00311         KEY &amp; AccessKey() {<span class="keywordflow">return</span> m_trapdoorFunction;}00312 00313 <span class="keyword">private</span>:00314         KEY m_trapdoorFunction;00315 };00316 <span class="comment"></span>00317 <span class="comment">//! .</span>00318 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE, <span class="keyword">class</span> SCHEME_OPTIONS&gt;<a name="l00319"></a><a class="code" href="class_t_f___public_object_impl.html">00319</a> <span class="keyword">class </span><a class="code" href="class_t_f___public_object_impl.html">TF_PublicObjectImpl</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___object_impl.html">TF_ObjectImpl</a>&lt;BASE, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PublicKey&gt;, <span class="keyword">public</span> <a class="code" href="class_public_key_copier.html">PublicKeyCopier</a>&lt;SCHEME_OPTIONS&gt;00320 {00321 <span class="keyword">public</span>:00322         <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> SCHEME_OPTIONS::PublicKey &amp;key)<span class="keyword"> const </span>{key = GetKey();}00323 };00324 <span class="comment"></span>00325 <span class="comment">//! .</span>00326 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> BASE, <span class="keyword">class</span> SCHEME_OPTIONS&gt;<a name="l00327"></a><a class="code" href="class_t_f___private_object_impl.html">00327</a> <span class="keyword">class </span><a class="code" href="class_t_f___private_object_impl.html">TF_PrivateObjectImpl</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___object_impl.html">TF_ObjectImpl</a>&lt;BASE, SCHEME_OPTIONS, typename SCHEME_OPTIONS::PrivateKey&gt;, <span class="keyword">public</span> <a class="code" href="class_private_key_copier.html">PrivateKeyCopier</a>&lt;SCHEME_OPTIONS&gt;00328 {00329 <span class="keyword">public</span>:00330         <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> SCHEME_OPTIONS::PrivateKey &amp;key)<span class="keyword"> const </span>{key = GetKey();}00331         <span class="keywordtype">void</span> CopyKeyInto(<span class="keyword">typename</span> SCHEME_OPTIONS::PublicKey &amp;key)<span class="keyword"> const </span>{key = GetKey();}00332 };00333 <span class="comment"></span>00334 <span class="comment">//! .</span>00335 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> SCHEME_OPTIONS&gt;<a name="l00336"></a><a class="code" href="class_t_f___decryptor_impl.html">00336</a> <span class="keyword">class </span><a class="code" href="class_t_f___decryptor_impl.html">TF_DecryptorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___private_object_impl.html">TF_PrivateObjectImpl</a>&lt;TF_DecryptorBase, SCHEME_OPTIONS&gt;00337 {00338 };00339 <span class="comment"></span>00340 <span class="comment">//! .</span>00341 <span class="comment"></span><span class="keyword">template</span> &lt;<span class="keyword">class</span> SCHEME_OPTIONS&gt;<a name="l00342"></a><a class="code" href="class_t_f___encryptor_impl.html">00342</a> <span class="keyword">class </span><a class="code" href="class_t_f___encryptor_impl.html">TF_EncryptorImpl</a> : <span class="keyword">public</span> <a class="code" href="class_t_f___public_object_impl.html">TF_PublicObjectImpl</a>&lt;TF_EncryptorBase, SCHEME_OPTIONS&gt;00343 {00344 };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -