C++加密库 Crypto++
jopen
13年前
<p>Crypto++ 是一个 C++ 的加密处理库,支持如下算法:</p> <table border="1"> <tbody> <tr> <th align="right">algorithm type</th> <th align="left">name</th> </tr> <tr> <td align="right">authenticated encryption schemes</td> <td><a href="/misc/goto?guid=4958190316183087103">GCM</a>, <a href="/misc/goto?guid=4958190316928642784">CCM</a>, <a href="/misc/goto?guid=4958190317665121295">EAX</a></td> </tr> <tr> <td align="right"><a href="/misc/goto?guid=4958190318402526961">high speed</a> stream ciphers</td> <td><a href="/misc/goto?guid=4958190319141714022">Panama</a>, <a href="/misc/goto?guid=4958190319884195999">Sosemanuk</a>, <a href="/misc/goto?guid=4958190320624120755">Salsa20</a>, <a href="/misc/goto?guid=4958190321372784242">XSalsa20</a></td> </tr> <tr> <td align="right">AES and AES candidates</td> <td><a href="/misc/goto?guid=4958190322111335366">AES</a> (Rijndael), <a href="/misc/goto?guid=4958190322854541229">RC6</a>, <a href="/misc/goto?guid=4958190323615635075">MARS</a>, <a href="/misc/goto?guid=4958190324360359542">Twofish</a>, <a href="/misc/goto?guid=4958190325105225199">Serpent</a>, <a href="/misc/goto?guid=4958190325841351602">CAST-256</a></td> </tr> <tr> <td align="right">other <a href="/misc/goto?guid=4958190326578887575">block ciphers</a></td> <td><a href="/misc/goto?guid=4958190327317922304">IDEA</a>, <a href="/misc/goto?guid=4958190328057535447">Triple-DES</a> (DES-EDE2 and DES-EDE3), <a href="/misc/goto?guid=4958190328798300499">Camellia</a>, <a href="/misc/goto?guid=4958190329547847014">SEED</a>, RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2</td> </tr> <tr> <td align="right"><a href="/misc/goto?guid=4958190330294282778">block cipher modes of operation</a></td> <td>ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode (CTR)</td> </tr> <tr> <td align="right">message authentication codes</td> <td><a href="/misc/goto?guid=4958190331032082104">VMAC</a>, <a href="/misc/goto?guid=4958190331769048926">HMAC</a>, <a href="/misc/goto?guid=4958190316183087103">GMAC (GCM)</a>, <a href="/misc/goto?guid=4958190333187264293">CMAC</a>, CBC-MAC, DMAC, Two-Track-MAC</td> </tr> <tr> <td align="right">hash functions</td> <td><a href="/misc/goto?guid=4958190333947281008">SHA-1</a>, <a href="/misc/goto?guid=4958190334686410396">SHA-2</a> (SHA-224, SHA-256, SHA-384, and SHA-512), <a href="/misc/goto?guid=4958190335426341968">Tiger</a>, <a href="/misc/goto?guid=4958190336159801064">WHIRLPOOL</a>, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320</td> </tr> <tr> <td align="right"><a href="/misc/goto?guid=4958190336904712958">public-key cryptography</a></td> <td><a href="/misc/goto?guid=4958190337647997365">RSA, DSA</a>, ElGamal, Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of DHAES), ESIGN</td> </tr> <tr> <td align="right">padding schemes for public-key systems</td> <td><a href="/misc/goto?guid=4958190338385005529">PKCS#1</a> v2.0, OAEP, PSS, PSSR, <a href="/misc/goto?guid=4958190339134006869">IEEE P1363</a> EMSA2 and EMSA5</td> </tr> <tr> <td align="right">key agreement schemes</td> <td>Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH</td> </tr> <tr> <td align="right"><a href="/misc/goto?guid=4958190339867443722">elliptic curve cryptography</a></td> <td>ECDSA, ECNR, ECIES, ECDH, ECMQV</td> </tr> <tr> <td align="right">insecure or obsolescent algorithms retained for backwards compatibility and historical value</td> <td><a href="/misc/goto?guid=4958190340614120034">MD2</a>, <a href="/misc/goto?guid=4958190341355891163">MD4</a>, <a href="/misc/goto?guid=4958190342108243818">MD5</a>, <a href="/misc/goto?guid=4958190342848148435">Panama Hash</a>, <a href="/misc/goto?guid=4958190343586842760">DES</a>, <a href="/misc/goto?guid=4958190344332427086">ARC4</a>, <a href="/misc/goto?guid=4958190345071398248">SEAL 3.0</a>, WAKE-OFB, DESX (DES-XEX3), RC2, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square</td> </tr> </tbody> </table> <ul> <li>pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool</li> <li>password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B</li> <li>Shamir's <a href="/misc/goto?guid=4959517720524996247">secret sharing scheme</a> and Rabin's information dispersal algorithm (IDA)</li> <li>fast multi-precision integer (bignum) and polynomial operations</li> <li>finite field arithmetics, including GF(p) and GF(2^n)</li> <li>prime number generation and verification</li> <li>useful non-cryptographic algorithms <ul> <li><a href="/misc/goto?guid=4959517720611400386">DEFLATE</a> (RFC 1951) compression/decompression with <a href="/misc/goto?guid=4959517720684560700">gzip</a> (RFC 1952) and <a href="/misc/goto?guid=4959517720770519161">zlib</a> (RFC 1950) format support </li> <li>hex, base-32, and base-64 coding/decoding </li> <li>32-bit CRC and Adler32 checksum </li> </ul> </li> <li>class wrappers for these operating system features (optional): <ul> <li>high resolution timers on Windows, Unix, and Mac OS </li> <li>Berkeley and Windows style sockets </li> <li>Windows named pipes </li> <li>/dev/random, /dev/urandom, /dev/srandom </li> <li>Microsoft's CryptGenRandom on Windows </li> </ul> </li> <li>A high level interface for most of the above, using a <a href="/misc/goto?guid=4959517720857579667">filter/pipeline</a> metaphor</li> <li><a href="/misc/goto?guid=4959517720933421154">benchmarks</a> and validation testing</li> <li>x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used algorithms, with run-time CPU feature detection and code selection <ul> <li>supports GCC-style and MSVC-style inline assembly, and MASM for x64 </li> </ul> </li> <li>certain versions are available in <a href="/misc/goto?guid=4959517721011748769">FIPS 140-2 validated</a> form</li> </ul> <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1328022286718" target="_blank">http://www.open-open.com/lib/view/home/1328022286718</a></p> <p><br /> </p>