加密算法你了解多少(三)

密码学早在计算机出现前就已经存在,古代就出现了代换密码或置换密码等一些古典的密码技术,本文将着重介绍现代的密码技术,目前主要有一下三个分支,分别为摘要算法、对称加密技术和非对称加密技术。本文将着重介绍一下非对称加密技术的加密算法的特性。

非对称加密相较于对称加密不同点在于加密密钥与解密密钥不同,并且加密密钥是公开的,而解密密钥是权限所有者才可以知道的,但是相对于对称加密其速度会慢很多,同时也解决了对称加密密钥管理难的问题。

目前常用的非对称加密算法中,主要介绍 RSA 算法。

RSA 算法由加密密钥与解密密钥组成,步骤为:

(1)选取两个非常大的素数 a 和 b,将其转换为二进制;

(2)计算 n=a*b,需要利用字符串进行模拟计算;

(3)计算 m=(a-1)*(b-1),利用字符串进行模拟计算;

(4)找到一个大于 1 且小于 m 的数 c,满足 gcd(m,c)=1;

(5)满足 cd mod m=1,计算出逆元 d;

(6)加密密钥与解密密钥生成完毕,(n,c)为加密密钥,(n,d)为解密密钥。

非对称加密除了用在数据加密之外还可以用在认证以及数字签名的领域。