加密

作者: 蜗牛也有梦想 | 来源:发表于2017-12-28 09:27 被阅读9次

    加密的种类
    MD5 AES RSA

    加密的目的
    加密的目的是为了防止数据的泄漏,在client和server之间传递的数据的时候,内容可能被三方截获。为了防止第三方解读、篡改数据,产生了各种各样的加密技术。
    MD5
    MD5算法具有以下特点:
    1、压缩性:任意长度的数据,算出的MD5值长度都是固定的128bit。
    2、容易计算:从原数据计算出MD5值很容易。
    3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
    4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

    RSA

    非对称加密,公钥加密,私钥解密,反之亦然。由于需要大数的乘幂求模等算法,运行速度慢,不易于硬件实现。通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安全,但是生成密钥越慢,加解密也越耗时。
    既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。

    AES

    对称加密,密钥最长只有256个bit,执行速度快,易于硬件实现。由于是对称加密,密钥需要在传输前通讯双方获知。
    基于以上特点,通常使用RSA来首先传输AES的密钥给对方,然后再使用AES来进行加密通讯。

    现在比较流行的加密方案是组合型的,上面三种方法的组合,MD5做签名,RSA+AES加密数据。
    利用RSA的pk对AES的key做加密,然后发送给服务器;服务器利用SK解密得到AES的key。之后所有的数据都用AES做加密,所以服务器也能够正常解密。

    参考资料
    RSA与AES的区别
    数据传输加密

    相关文章

      网友评论

          本文标题:加密

          本文链接:https://www.haomeiwen.com/subject/rtdmgxtx.html