美文网首页
如何选择加密算法

如何选择加密算法

作者: zoro_x | 来源:发表于2017-01-02 13:44 被阅读94次

    作为一个数学一般, 又不是安全相关专业的程序猿. 每次碰到需要加密的时候都不知道如何选择一种合适的加密的算法. 总结一下图解加密算法书中对各个算法的评价. 以后需要选择的时候也有了依据.

    首先需要了解密码的一些常识与原则.

    1. 不要使用保密的密码算法.
    • 不要试图通过保密算法来提高安全性.
    • 不要使用自己发明的算法
    1. 使用低强度的密码比不使用密码更不安全
    2. 任何密码总有一天会被破解(除了随机密码本)
    3. 密码只是信息安全的一部分

    单向散列函数

    单向散列函数也称哈希函数, 单向散列函数的评价标准就是抗碰撞性. 抗碰撞性分为强和弱两种:

    • 强碰撞性: 要找到散列值相同的两条不同的消息是非常困难
    • 弱碰撞性: 要找到和一个消息散列值相同的另一个消息是非常困难

    常见的 Hash 算法有: MD4/MD5, SHA-1/SHA-2/SHA-3, RIPEMD-160. 格式算法的情况如下:

    |算法|强碰撞性被攻破|推荐度|
    |:--- :|:----------------:|:-------:|
    |MD4/MD5 |是 |不推荐使用|
    |SHA-1 |是 |不应该被用于新环境中|
    |SHA-2 |否 |推荐使用|
    |SHA-3 |否 |推荐使用|
    |RIPEMD-160 |否 |可以使用|

    综上所述, 需要使用散列函数的时候最好选择 SHA-2 和 SHA-3, RIPEMD-160 也可以选择, 但是实际使用范围没有 SHA-2 和 SHA-3 广.

    相关文章

      网友评论

          本文标题:如何选择加密算法

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