关闭

APP开发实战42-非对称加密介绍

607人阅读 评论(0) 收藏 举报
分类:

12.3非对称加密

非对称加密需要两个密钥公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以叫非对称加密。

在非对称加密中使用的主要算法有:RSAElgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。

非对称加密工作过程示意图:

(1)乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。

(2)得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。

(3)乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。

    在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。

    同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

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

    非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    APP和服务器间传输数据的加密,适合用非对称加密。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:557135次
    • 积分:9837
    • 等级:
    • 排名:第1847名
    • 原创:323篇
    • 转载:756篇
    • 译文:0篇
    • 评论:17条
    最新评论