rsa加解密原理(rsa在线加密解密工具)
-
-
类目:知识大全
-
联系人:
-
微信号:
-
Q Q 号:
-
手机号:
-
浏览量:
342
【商户信息】
【货源详情】
数字签名非常常见:
在了解数字签名之前,请了解SHA-1摘要,RSA不对称加密算法。 然后知道数字签名。
SHA-1
sha-1(securehashalgorithm )是一种数据加密算法。 该算法的思想是接收明文并以不可逆的方式将其转换为“通常更小”的密文。 它还可以简单地理解为,获取一系列输入代码(称为预映射或信息),并将其转换为散列值(也称为信息摘要或信息认证码),该散列值是一个长度较短且位数固定的输出序列。
单向散列函数的安全性是生成散列值的操作过程有很强的单向性。 在输入序列中嵌入密码可以防止任何人在不知道密码的情况下生成正确的散列值,从而确保安全性。 SHA以块为单位将输入流分块为512位(64字节),生成20字节的输出,称为信息认证码或信息摘要。
该算法对输入消息的长度没有限制,生成的输出为160位消息摘要。 输入由512位的组处理。 SHA-1不可逆防碰撞,具有良好的雪崩效果。
可以通过散列算法实现数字签名。 数字签名的原理是通过一种函数运算(Hash )将所传送的明文转换为消息摘要。 不同的明文对应不同的消息摘要。 消息摘要加密后,与明文一起发送给收件人,收件人根据收到的明文生成新的消息摘要,与发送方发送的消息摘要进行解密和比较。 如果比较结果一致,则明文没有变更,如果不一致,则表示明文被篡改。
总之,SHA-1是单向的、位数固定为160的数据加密算法,根据平台的不同,在平台自身嵌入SHA-1的实现,直接调用相应的函数即可。
RSA加密算法
RSA公钥加密算法由Ron Rivest、Adi Shamirh和LenAdleman (麻省理工学院)于1977年开发。 RSA因开发他们三人的名字而得名。 RSA是目前最具影响力的公钥加密算法,能够抵抗所有已知的密码攻击,被ISO推荐为公钥数据加密标准。 RSA算法基于非常简单的数论事实。 将两个大素数相乘非常容易,但对其乘积进行因式分解非常困难,所以可以公开乘积作为密钥。
RSA算法是一种非对称密码算法。 不对称意味着该算法需要一对密钥,如果使用一个加密,则另一个需要解密。
RSA的算法有三个参数: n、e1和e2。
这里,n为两个大的素数p、q的乘积,n的2进制表现时占有的位数为所谓的密钥长度。
e1和e2是一对相关值,e1可以任意取,但要求e1和(p-1 ) * (q-1 )相互平行; 进而选择e2,并要求(e2*e1 ) mod ) (P-1 ) ) Q-1 ) )=1。 (n,e1 ),n,e2 )是密钥对。 在此,n,e1 )是公开密钥,n,e2 )是秘密密钥。
RSA解密算法完全相同,设a为明文,b为密文,则A=B^e2 mod n; B=A^e1 mod n; (在公钥密码体制中,一般用公钥加密,用私钥解密) e1和e2可以交换使用。 这意味着:
A=B^e2 mod n; B=A^e1 mod n;
如果是客户端开发的,我只是对加密算法感兴趣。 n (模量)和e (指数),将这两个放入平台rsa密码函数中生成密码。 然后,可以调用rsa加密函数生成一系列数字,然后将其发送到服务器。
非对称加密
1976年,美国学者Dime和Henman为了解决信息公开发布和密钥管理的问题,提出了一种新的密钥交换协议,使不安全媒体上的通信双方能够交换信息,达成安全一致的密钥。 这就是“公钥系统”。 相对于称为“对称加密算法”的方法,也称为“非对称加密算法”。
与对称加密算法不同,非对称加密算法需要两个密钥:公钥" publickey "和私钥" privatekey "。 公开密钥和秘密密钥是一对,用公开密钥加密数据时,只能用对应秘密密钥解密; 用私钥加密数据后,只能用相应的公钥解密。 由于加密和解密使用两个不同的密钥,因此该算法称为非对称加密算法。
非对称加密算法实现秘密信息交换的基本过程是甲方生成一对密钥,将其中的一个密钥作为公共密钥公开给其他人,得到该公钥的乙方用该密钥对秘密信息进行加密后发送给甲方; 甲方用自己保存的另一个私钥解密加密的信息。 甲方只能用其私钥解密用其公钥加密的任何信息。
非对称加密算法是高度敏感的,不需要最终用户交换密钥,但加密和解密需要时间,速度较慢。 不适合加密文件,只适合加密少量数据。
RSA算法等经典的不对称加密算法安全性相当高。 不对称加密的典型应用是数字签名。
双密钥加密方法在一个进程中使用两个密钥。 一个用于加密,另一个用于解密。 这种加密方法称为非对称密码,也称为公钥密码,因为一个密钥是公开的。 另一方需要保密。
数字签名
数字签名是指将上述两种技术融合在一起,实现非常安全的信息传递机制。 经过以上介绍,数字签名变得容易理解了。 如图所示
从上图可以很容易地看出“摘要”“私钥”“公钥”的几个关键技术。 当然,该模型本身是“非对称加密”
再准备一张数字签名的流程图
图为来自百度百科
总结
数字签名的基础是不对称加密,本来并不复杂。