网络攻防学习笔记 Day18
DES 是一种分组密码,对二进制数据加密,明文分组的长度为 64 位,相应产生的密文分组也是 64 位。DES 密码系统使用 64 位密钥,但 64 位中由用户决定的只有 56 位。
DES 密钥的产生通常是由用户提供由 7 个英文字母组成的字符串,英文字母被逐个按 ASCII 码转化为二进制数,形成总长 56 位的二进制字符串,字符串的每 7 位补充 1 位作为奇偶校验,从而生成总长 64 位的密钥。
3DES 算法使用 3 个密钥,并执行 3 次 DES 运算。3DES 遵循“加密—解密—加密”的工作流程,3DES 的加密过程可以表示为:c=E(k3,D(k2,E(k1,m)))其中,m 表示明文,c 表示密文。
由于使用了 3 个密钥,3DES 的密钥长度为 192 位,其中去除校验位的有效密钥长度为 168 位。
RC4 算法的关键是根据明文和密钥生成相应的密钥流,密钥流的长度和明文、密文的长度是相同的。RC4 算法加密采用的是异或运算(XOR)。
RSA 公钥密码系统基于“大数分解”这一著名数论难题。将两个大素数相乘十分容易,但要将乘积结果分解为两个大素数因子却极端困难。
RSA 公钥密码系统存在的主要缺陷是:加密操作和解密操作都涉及到复杂的指数运算,处理速度很慢。与典型的对称密钥密码系统 DES 相比,即使在最理想的情况下,RSA 也要比 DES 慢上 100 倍。
Diffie-Hellman 密钥交换算法(简称为“DH 算法”或“DH 交换”)它使得通信的双方能在非安全的信道中安全地交换密钥,用于加密后续的通信消息。有效性依赖于计算离散对数的难度。
HTTPS 协议使用的 TLS(TransportLayer Security)和 IPsec 协议的 IKE(InternetKey Exchange)均以 DH 算法作为密钥交换算法。
ElGamal 公钥密码体制算法既能用于数据加密也能用于数字签名。与 Diffie-Hellman 算法一样,其安全性也依赖于计算有限域上离散对数这一难题。
椭圆曲线密码(Elliptic Curve Cryptography,ECC)是一种公开密钥密码体制,ECC 以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成的 Abel 群离散对数难解性,实现加密、解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/1cea38d0925b277724747dd62】。文章转载请联系作者。
评论