版权归原作者所有,如有侵权,请联系我们

[科普中国]-非对称密码

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

非对称密码指的是非对称密码体制中使用的密码。

非对称密码体制又称为双密钥密码体制或公开密钥密码体制。如果一个密码体制的加密 / 解密操作分别使用两个不同的密钥 ,并且不可能由加密密钥推导出解密密钥 ,则该密码体制称为非对称密码体制。

特点一是加密密钥和解密密钥不同 ,并且难以互推 。

二是有一个密钥是公开的 ,即公钥 ,而另一个密钥是保密的 ,即私钥。

这样就意味着非对称密码体制的安全性主要取决于基于经过深入研究的数学难题 ,即要找到一个单向陷门函数 ,从而实现加密密钥和解密密钥不同而且难以互推。非对称密码中出现了一对不同的密钥对 ,虽然密钥量增大了 ,但由于私钥由个人进行保管 ,而公钥可以向任何人公开 ,这样就很好的解决了密钥的分发和管理的问题 ,并且它还能够实现数字签名。

常见非对称密码算法常用的非对称密码算法有RSA、ECC等。

下面就对 RSA 算法进行简要介绍。RSA算法是在1978年提出来的 ,它是第一个既能用于数据加密也能用于数字签名的算法。它的安全性建立在“大整数质因子分解”数论难题的基础之上。其基本思想为 :

①选择两个大的素数p和q,素数就是只能被分解成其本身和 1 的乘积的数 ,为了保证安全性,RSA中使用的素数都比较大 ,而且要严格保密 ;

②计算出n=p×q,z=(p-1)×(q-1);

③选择一个与 z 互为素数的 d ;

④找出 e,使(e×d) mod z =1 ;

⑤(e,n)是公开密钥 ,(d,n)是私有密钥。设密文是 C,明文是 M,则加密算法为 C=mod n,解密算法为 P=mod n。

RSA 是目前最有影响力的公钥加密算法 ,它能够抵抗现在绝大多数的密码攻击方式 ,因此它也被 ISO 推荐为公钥数据加密标准。但它也存在一些缺陷 :一是运行速度相对较慢 ;二是大素数产生困难 ,至今还没有一个比较有效普遍的大素数生成算法 ;三是产生密钥麻烦 ,难以做到一次一密。1

与对称密码相比对称密码体制是一种传统密码体制 ,又称为单密钥密码体制或秘密密钥密码体制。如果一个密码体制的加密密钥和解密密钥相同 ,或者虽然不相同 ,但是由其中的任意一个可以很容易地推导出另一个 ,则该密码体制便称为对称密钥密码体制。

其特点为 :一是加密密钥和解密密钥相同 ,或本质上相同 ;二是密钥必须严格保密。这就意味着密码通信系统的安全完全依赖于密钥的保密。通信双方的信息加密以后可以在一个不安全的信道上传输 ,但通信双方传递密钥时必须提供一个安全可靠的信道。2

而非对称密码体制与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。