📄 bench_8cpp-source.html
字号:
00530 <span class="stringliteral">"5F56,8CF9,B444,CA02,78B3,17AF,7C78,D320,16AE,AC3D,B97F,7259,1B8F,9C84,6A16,B878,"</span>00531 <span class="stringliteral">"0595,70BB,9C52,18B5,9100,9C1F,E85A,4035,06F3,5F38,7462,F01D,0462,BFBC,A4CD,4A45,"</span>00532 <span class="stringliteral">"3A77,E7F8,DED1,D6EF,CEF7,0937,CD3F,3AF1,4F88,932D,6D4B,002C,3735,304C,C5D3,B88A,"</span>00533 <span class="stringliteral">"B57B,24B6,5346,9B46,5153,B7ED,B216,C181,B1C6,C52E,CD2B,E0AA,B1BB,0A93,C92E,4F79,"</span>00534 <span class="stringliteral">"4931,E303,7C8F,A408,8ACF,56CD,6EC0,76A2,5015,6BA4,4C50,C44D,53B9,E168,5F84,B381,"</span>00535 <span class="stringliteral">"2514,10B2,00E5,B4D1,4156,A2FE,0BF6,6F33,0A1B,91C6,31B8,1C90,02F1,FB1F,C494,8B65h"</span>);00536 <a class="code" href="class_blum_blum_shub.html">BlumBlumShub</a> c(p, q, s);00537 BenchMark(<span class="stringliteral">"BlumBlumShub 2048"</span>, c, t);00538 }00539 cout << <span class="stringliteral">"</TABLE>"</span> << endl;00540 00541 cout << <span class="stringliteral">"<TABLE border=1><COLGROUP><COL align=left><COL align=right><COL align=right><COL align=right>"</span> << endl;00542 cout << <span class="stringliteral">"<THEAD><TR><TH>Operation<TH>Iterations<TH>Total Time<TH>Milliseconds/Operation"</span> << endl;00543 00544 cout << <span class="stringliteral">"<TBODY style=\"background: yellow\">"</span> << endl;00545 BenchMarkCrypto<RSAES<OAEP<SHA> > >(<span class="stringliteral">"rsa1024.dat"</span>, <span class="stringliteral">"RSA 1024"</span>, t);00546 BenchMarkCrypto<RabinES<OAEP<SHA> > >(<span class="stringliteral">"rabi1024.dat"</span>, <span class="stringliteral">"Rabin 1024"</span>, t);00547 BenchMarkCrypto<LUCES<OAEP<SHA> > >(<span class="stringliteral">"luc1024.dat"</span>, <span class="stringliteral">"LUC 1024"</span>, t);00548 BenchMarkCrypto<DLIES<> >(<span class="stringliteral">"dlie1024.dat"</span>, <span class="stringliteral">"DLIES 1024"</span>, t);00549 BenchMarkCrypto<LUC_IES<> >(<span class="stringliteral">"lucc512.dat"</span>, <span class="stringliteral">"LUCELG 512"</span>, t);00550 00551 cout << <span class="stringliteral">"<TBODY style=\"background: white\">"</span> << endl;00552 BenchMarkCrypto<RSAES<OAEP<SHA> > >(<span class="stringliteral">"rsa2048.dat"</span>, <span class="stringliteral">"RSA 2048"</span>, t);00553 BenchMarkCrypto<RabinES<OAEP<SHA> > >(<span class="stringliteral">"rabi2048.dat"</span>, <span class="stringliteral">"Rabin 2048"</span>, t);00554 BenchMarkCrypto<LUCES<OAEP<SHA> > >(<span class="stringliteral">"luc2048.dat"</span>, <span class="stringliteral">"LUC 2048"</span>, t);00555 BenchMarkCrypto<DLIES<> >(<span class="stringliteral">"dlie2048.dat"</span>, <span class="stringliteral">"DLIES 2048"</span>, t);00556 BenchMarkCrypto<LUC_IES<> >(<span class="stringliteral">"lucc1024.dat"</span>, <span class="stringliteral">"LUCELG 1024"</span>, t);00557 00558 cout << <span class="stringliteral">"<TBODY style=\"background: yellow\">"</span> << endl;00559 BenchMarkSignature<RSASSA<PKCS1v15, SHA> >(<span class="stringliteral">"rsa1024.dat"</span>, <span class="stringliteral">"RSA 1024"</span>, t);00560 BenchMarkSignature<RabinPSSR<SHA> >(<span class="stringliteral">"rabi1024.dat"</span>, <span class="stringliteral">"Rabin 1024"</span>, t);00561 BenchMarkSignature<RWSSA<SHA> >(<span class="stringliteral">"rw1024.dat"</span>, <span class="stringliteral">"RW 1024"</span>, t);00562 BenchMarkSignature<LUCSSA<SHA> >(<span class="stringliteral">"luc1024.dat"</span>, <span class="stringliteral">"LUC 1024"</span>, t);00563 BenchMarkSignature<NR<SHA> >(<span class="stringliteral">"nr1024.dat"</span>, <span class="stringliteral">"NR 1024"</span>, t);00564 BenchMarkSignature<DSA>(<span class="stringliteral">"dsa1024.dat"</span>, <span class="stringliteral">"DSA 1024"</span>, t);00565 BenchMarkSignature<LUC_HMP<SHA> >(<span class="stringliteral">"lucs512.dat"</span>, <span class="stringliteral">"LUC-HMP 512"</span>, t);00566 BenchMarkSignature<ESIGN<SHA> >(<span class="stringliteral">"esig1023.dat"</span>, <span class="stringliteral">"ESIGN 1023"</span>, t);00567 BenchMarkSignature<ESIGN<SHA> >(<span class="stringliteral">"esig1536.dat"</span>, <span class="stringliteral">"ESIGN 1536"</span>, t);00568 00569 cout << <span class="stringliteral">"<TBODY style=\"background: white\">"</span> << endl;00570 BenchMarkSignature<RSASSA<PKCS1v15, SHA> >(<span class="stringliteral">"rsa2048.dat"</span>, <span class="stringliteral">"RSA 2048"</span>, t);00571 BenchMarkSignature<RabinPSSR<SHA> >(<span class="stringliteral">"rabi2048.dat"</span>, <span class="stringliteral">"Rabin 2048"</span>, t);00572 BenchMarkSignature<RWSSA<SHA> >(<span class="stringliteral">"rw2048.dat"</span>, <span class="stringliteral">"RW 2048"</span>, t);00573 BenchMarkSignature<LUCSSA<SHA> >(<span class="stringliteral">"luc2048.dat"</span>, <span class="stringliteral">"LUC 2048"</span>, t);00574 BenchMarkSignature<NR<SHA> >(<span class="stringliteral">"nr2048.dat"</span>, <span class="stringliteral">"NR 2048"</span>, t);00575 BenchMarkSignature<LUC_HMP<SHA> >(<span class="stringliteral">"lucs1024.dat"</span>, <span class="stringliteral">"LUC-HMP 1024"</span>, t);00576 BenchMarkSignature<ESIGN<SHA> >(<span class="stringliteral">"esig2046.dat"</span>, <span class="stringliteral">"ESIGN 2046"</span>, t);00577 00578 cout << <span class="stringliteral">"<TBODY style=\"background: yellow\">"</span> << endl;00579 BenchMarkKeyAgreement<XTR_DH>(<span class="stringliteral">"xtrdh171.dat"</span>, <span class="stringliteral">"XTR-DH 171"</span>, t);00580 BenchMarkKeyAgreement<XTR_DH>(<span class="stringliteral">"xtrdh342.dat"</span>, <span class="stringliteral">"XTR-DH 342"</span>, t);00581 BenchMarkKeyAgreement<DH>(<span class="stringliteral">"dh1024.dat"</span>, <span class="stringliteral">"DH 1024"</span>, t);00582 BenchMarkKeyAgreement<DH>(<span class="stringliteral">"dh2048.dat"</span>, <span class="stringliteral">"DH 2048"</span>, t);00583 BenchMarkKeyAgreement<LUC_DH>(<span class="stringliteral">"lucd512.dat"</span>, <span class="stringliteral">"LUCDIF 512"</span>, t);00584 BenchMarkKeyAgreement<LUC_DH>(<span class="stringliteral">"lucd1024.dat"</span>, <span class="stringliteral">"LUCDIF 1024"</span>, t);00585 BenchMarkKeyAgreement<MQV>(<span class="stringliteral">"mqv1024.dat"</span>, <span class="stringliteral">"MQV 1024"</span>, t);00586 BenchMarkKeyAgreement<MQV>(<span class="stringliteral">"mqv2048.dat"</span>, <span class="stringliteral">"MQV 2048"</span>, t);00587 00588 cout << <span class="stringliteral">"<TBODY style=\"background: white\">"</span> << endl;00589 {00590 <a class="code" href="class_integer.html">Integer</a> modulus(<span class="stringliteral">"199999999999999999999999980586675243082581144187569"</span>);00591 <a class="code" href="class_integer.html">Integer</a> a(<span class="stringliteral">"659942,b7261b,249174,c86bd5,e2a65b,45fe07,37d110h"</span>);00592 <a class="code" href="class_integer.html">Integer</a> b(<span class="stringliteral">"3ece7d,09473d,666000,5baef5,d4e00e,30159d,2df49ah"</span>);00593 <a class="code" href="class_integer.html">Integer</a> x(<span class="stringliteral">"25dd61,4c0667,81abc0,fe6c84,fefaa3,858ca6,96d0e8h"</span>);00594 <a class="code" href="class_integer.html">Integer</a> y(<span class="stringliteral">"4e2477,05aab0,b3497f,d62b5e,78a531,446729,6c3fach"</span>);00595 <a class="code" href="class_integer.html">Integer</a> r(<span class="stringliteral">"100000000000000000000000000000000000000000000000151"</span>);00596 <a class="code" href="class_integer.html">Integer</a> k(2);00597 <a class="code" href="class_integer.html">Integer</a> d(<span class="stringliteral">"76572944925670636209790912427415155085360939712345"</span>);00598 00599 <a class="code" href="class_e_c_p.html">ECP</a> ec(modulus, a, b);00600 <a class="code" href="struct_e_c_p_point.html">ECP::Point</a> P(x, y);00601 P = ec.<a class="code" href="class_e_c_p.html#_e_c_pa14">Multiply</a>(k, P);00602 <a class="code" href="struct_e_c_p_point.html">ECP::Point</a> Q(ec.<a class="code" href="class_e_c_p.html#_e_c_pa14">Multiply</a>(d, P));00603 <a class="code" href="struct_e_c_i_e_s.html">ECIES<ECP></a>::Decryptor cpriv(ec, P, r, d);00604 <a class="code" href="struct_e_c_i_e_s.html">ECIES<ECP></a>::Encryptor cpub(cpriv);00605 <a class="code" href="struct_e_c_d_s_a.html">ECDSA<ECP, SHA></a>::Signer spriv(cpriv);00606 <a class="code" href="struct_e_c_d_s_a.html">ECDSA<ECP, SHA></a>::Verifier spub(spriv);00607 <a class="code" href="struct_e_c_d_h.html">ECDH<ECP></a>::Domain ecdhc(ec, P, r, k);00608 <a class="code" href="struct_e_c_m_q_v.html">ECMQV<ECP></a>::Domain ecmqvc(ec, P, r, k);00609 00610 BenchMarkEncryption(<span class="stringliteral">"ECIES over GF(p) 168"</span>, cpub, t);00611 BenchMarkDecryption(<span class="stringliteral">"ECIES over GF(p) 168"</span>, cpriv, cpub, t);00612 BenchMarkSigning(<span class="stringliteral">"ECNR over GF(p) 168"</span>, spriv, t);00613 BenchMarkVerification(<span class="stringliteral">"ECNR over GF(p) 168"</span>, spriv, spub, t);00614 BenchMarkKeyGen(<span class="stringliteral">"ECDHC over GF(p) 168"</span>, ecdhc, t);00615 BenchMarkAgreement(<span class="stringliteral">"ECDHC over GF(p) 168"</span>, ecdhc, t);00616 BenchMarkKeyGen(<span class="stringliteral">"ECMQVC over GF(p) 168"</span>, ecmqvc, t);00617 BenchMarkAgreement(<span class="stringliteral">"ECMQVC over GF(p) 168"</span>, ecmqvc, t);00618 }00619 00620 cout << <span class="stringliteral">"<TBODY style=\"background: yellow\">"</span> << endl;00621 {00622 <a class="code" href="class_integer.html">Integer</a> r(<span class="stringliteral">"3805993847215893016155463826195386266397436443"</span>);00623 <a class="code" href="class_integer.html">Integer</a> k(12);00624 <a class="code" href="class_integer.html">Integer</a> d(<span class="stringliteral">"2065729449256706362097909124274151550853609397"</span>);00625 00626 <a class="code" href="class_g_f2_n_t.html">GF2NT</a> gf2n(155, 62, 0);00627 byte b[]={0x7, 0x33, 0x8f};00628 <a class="code" href="class_e_c2_n.html">EC2N</a> ec(gf2n, PolynomialMod2::Zero(), <a class="code" href="class_polynomial_mod2.html">PolynomialMod2</a>(b,3));00629 <a class="code" href="struct_e_c2_n_point.html">EC2N::Point</a> P(0x7B, 0x1C8);00630 P = ec.<a class="code" href="class_e_c2_n.html#_e_c2_na10">Multiply</a>(k, P);00631 <a class="code" href="struct_e_c2_n_point.html">EC2N::Point</a> Q(ec.<a class="code" href="class_e_c2_n.html#_e_c2_na10">Multiply</a>(d, P));00632 <a class="code" href="struct_e_c_i_e_s.html">ECIES<EC2N></a>::Decryptor cpriv(ec, P, r, d);00633 <a class="code" href="struct_e_c_i_e_s.html">ECIES<EC2N></a>::Encryptor cpub(cpriv);00634 <a class="code" href="struct_e_c_d_s_a.html">ECDSA<EC2N, SHA></a>::Signer spriv(cpriv);00635 <a class="code" href="struct_e_c_d_s_a.html">ECDSA<EC2N, SHA></a>::Verifier spub(spriv);00636 <a class="code" href="struct_e_c_d_h.html">ECDH<EC2N></a>::Domain ecdhc(ec, P, r, k);00637 <a class="code" href="struct_e_c_m_q_v.html">ECMQV<EC2N></a>::Domain ecmqvc(ec, P, r, k);00638 00639 BenchMarkEncryption(<span class="stringliteral">"ECIES over GF(2^n) 155"</span>, cpub, t);00640 BenchMarkDecryption(<span class="stringliteral">"ECIES over GF(2^n) 155"</span>, cpriv, cpub, t);00641 BenchMarkSigning(<span class="stringliteral">"ECNR over GF(2^n) 155"</span>, spriv, t);00642 BenchMarkVerification(<span class="stringliteral">"ECNR over GF(2^n) 155"</span>, spriv, spub, t);00643 BenchMarkKeyGen(<span class="stringliteral">"ECDHC over GF(2^n) 155"</span>, ecdhc, t);00644 BenchMarkAgreement(<span class="stringliteral">"ECDHC over GF(2^n) 155"</span>, ecdhc, t);00645 BenchMarkKeyGen(<span class="stringliteral">"ECMQVC over GF(2^n) 155"</span>, ecmqvc, t);00646 BenchMarkAgreement(<span class="stringliteral">"ECMQVC over GF(2^n) 155"</span>, ecmqvc, t);00647 }00648 cout << <span class="stringliteral">"</TABLE>"</span> << endl;00649 00650 cout << <span class="stringliteral">"Throughput Geometric Average: "</span> << setiosflags(ios::fixed) << exp(logtotal/logcount) << endl;00651 00652 time_t endTime = time(NULL);00653 cout << <span class="stringliteral">"\nTest ended at "</span> << asctime(localtime(&endTime));00654 <span class="preprocessor">#endif</span>00655 <span class="preprocessor"></span>}</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 8 23:34:09 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 + -