本文共 2218 字,大约阅读时间需要 7 分钟。
a.非对称加密算法也成为公开密钥算法,其解决了对称加密算法密钥需要预分配的难题。
密钥交换算法使用公开密钥进行加密,使用私人密钥进行解密;而数字签名算法则使用私人密钥进行加密,使用公开密钥进行解密。
密钥交换算法要求从加密密钥(公开密钥)很难推算出解密密钥(私人密钥);而数字签名算法则要求从解密密钥,很难推算出加密密钥
RSA算法应用一般包括两个方面:
密钥交换和数字签名。 RSA密钥加密的特点是输入数据不能超过RSA密钥的长度,而输出数据长度总是RSA密钥的长度,而输出输出长度总是与RSA密钥长度相同,所以对于量大的数据,一般需要预先进行数据分割。
RSA数字签名,通常是跟信息摘要函数一起使用,这样既可以一次完成加密,比如对于一个大文件,可以先使用SHA1或者MD5算法转换成160位或者128位的摘要信息,使用同样的信息摘要算法对该文件进行运算得到信息摘要值,然后使用RSA算法(通常是公钥)进行解密得到签名方的信息摘要值,对比新计算的信息摘要值和解密得到的信息摘要值。
b.信息输出项text、noout和modulus
使用text选项将会以明文的形式输出密钥各个参数的值,使用modulus选项专门输出模数值
d.操作类型选项sign\verify\encrypt\decrypt
e.数据补齐方式选项pkcs\ssl\oaep和raw
DH算法(Diffie-Hellman)是最早提出的一种用于密钥交换的公开密钥算法,该算法目前已经广发应用于各种安全协议。
DH算法参数包括本原元g和模n,openssl提供的指令gendh和dhparam都可以生成DH参数,并可以经过编码保存在文件中。
out选项制定了DH算法参数输出和保存的文件名,可以是标准输出设备。
DH算法参数指令的主要目的是产生公共模数n,而本原元g是指定的,目前常用的本原元有2和5。
rand选项指定了产生随机数使用的随机数种子文件,改文件一般来说可以为任何类型的文件。
DH密钥长度一句DH算法参数的长度而定,所以,生成的DH算法参数的长度决定DH密钥的长度。
DH参数文件存放一段时间之后,你如果对该文件产生怀疑,可以使用check选项对其中DH参数进行检查。check检查四个方面:模数是否正确,模式是否安全,本原元g是否正确及本原元是否合适。
DSA算法是美国的国家标准数字签名算法,他只有数字签名功能,而没有密钥交换的功能。
DSA密钥是在DSA密钥参数的基础上产生的,一对DSA密钥可以包含三个部分:
DSA密钥参数(p、q和g)、DSA私钥和DSA公钥。DSA密钥参数是公开的,甚至可以为一组网络用户所共享,即这组网络用户使用相同的DSA密钥参数生成各自的DSA密钥对。
用户经常会有各种奇怪的需求和想法,尤其是为了加强安全性,对DSA密钥也一样。
DH公开密钥算法,DH算法是一种专门用于密钥交换的算法。
DSA非对称加密算法,专门用于数字签名的非对称加密算法。
转载地址:http://mqwdb.baihongyu.com/