安全攻防:密码学

1.替换密码(最原始的密码)

破解方法

  • 蛮力攻击、穷尽密钥搜索

    26个英文字母替换密码的密钥空间: 26 * 25 * 24....* 3 * 2 * 1 = 2^88

  • 字母频率分析

    56-64位:几个小时甚至几天可以破解

2.不可逆加密:hash(散列)函数

  • MD5

    对任意操作对象生成一个32位字符串,相当于一个映射表。

    用途:

    1. 密码(服务器不需要知道用户的真实密码,数据库保存的是加密密码)

    2. 搜索

    3. 版权

    4. 文件完整性校验

    破解:

    1. 散列碰撞

    2. 加盐

      在原有字符串添加一串自定义字符串,只是降低了被破解的概率。

      更严格的加盐策略:HMAC

  • SHA1

  • SHA256/512

iOS系统本身集成了其功能,只需要导入库即可使用,有现成扩展:nsstring+hash

特点:

  • 算法公开

  • 对相同的数据加密,得到的结果是一样的

  • 得到的结果都是定长的

3.对称加密算法
encryptionTools

  • DES

  • 3DES

  • AES

4.非对称加密

  • RSA

你可能感兴趣的:(安全攻防:密码学)