本资源包含多种加密算法的源代码实现,包括3DES、AES、MAC、MD5、RC以及SHA等,适用于安全编程与学习。
常用算法源码支持VC6环境,包含了各种常用的加密方案、流密码和其他块密码技术。以下是该库包含的主要内容:
- **认证加密方案**:GCM, CCM, EAX, OCB。
- **高速流密码**:ChaCha(包括 ChaCha8/12/20)、Panama、Sosemanuk、Salsa20 和 XSalsa20。
- **AES及其候选算法**:AES(Rijndael)、RC6、MARS、Twofish、Serpent和CAST-256。
- **其他块密码**:ARIA, IDEA, Triple DES (DES-EDE2 and DES-EDE3), Camellia, SEED, Kalyna, RC5, Blowfish, TEA, Threefish 和 Skipjack。
- **SHACAL-2 和 XTEA**。
此外,该库还提供了多种块密码模式的操作方法:
- ECB
- CBC
- CBC 密文窃取(CTS)
- CFB
- OFB
- 计数器模式 (CTR)
对于消息认证码方面,包含以下算法:
- VMAC, HMAC, GMAC (GCM), CMAC, CBC-MAC, DMAC, Two-Track-MAC 和 BLAKE2 (BLAKE2b/BLAKE2s)。
- Poly1305 和 SipHash。
哈希函数部分包括:
- BLAKE2(包括 Blake2b和Blake2s)
- Keccack
- SHA系列:SHA-1, SHA-2, SHA-3
- Tiger,WHIRLPOOL,RIPEMD家族 (RIPEMD-128/256/160/320)。
在公钥密码学方面:
- RSA, DSA(包括确定性DSA)
- ElGamal
- Nyberg-Rueppel (NR)
- Rabin Williams (RW)
- 基于椭圆曲线的德国数字签名算法(ECGDSA),LUC,LUCELG 和 DLIES(DHAES变体)。
- ESIGN
此外还有为公钥系统设计填充方案:
- PKCS#1 v2.0, OAEP
- PSS和PSSR
- IEEE P1363 EMSA2 和 EMSA5。
该库还涵盖了各种密钥交换协议,包括但不限于:
- Diffie-Hellman (DH)
- 统一Diffie-Hellman(DH2)
- Menezes-Qu-Vanstone(MQV), Hashed MQV(HMQV)和完全哈希化MQV(FHMQV)
- LUCDIF
- XTR-DHell
最后,该库包括椭圆曲线密码学相关的算法:
- ECDSA (包括确定性ECDSA), ECGDSA, ECNR 和 ECIES。
- 椭圆曲线Diffie-Hellman(ECDH)和ECCMQV。