1. 安全传输模型
密钥:铭文转化为密文或将密文转化成明文的算法中输入的参数。分为对称密钥和非对称密钥。
2. 古典密码学
- 置换密码表:将A
Z与ZA进行替换,即字母表的后移位数决定了映射字母表。例如A后移3位,A -> D、B -> E。 - 代换密码表:随机对应关系,即字母A~Z映射关系不定,但都是一对一进行映射,映射的结果不能重复。
古典密码学存在安全性问题:通过对大量文章统计AZ的频率进行统计,之后对密文AZ进行频率统计,进行对照加工处理反编译。
3. 对称加密
- 用户A和用户B的密钥是相同的。
- 古典密码学也属于对称加密的特殊例子。
常见的对称加密算法:DES、3DES、AES(AES的优点:速度更快、安全性更高)。
4. 非对称加密
- 用户A和用户B的密钥是不同的。
- 用户A使用密钥(公钥)进行加密,用户B使用密钥(私钥)进行解密。
常见的非对称加密算法:RSA(最具有影响力的算法,数论,两个大的素数进行相乘,解是对素数的因式分解)、ECC(椭圆加密算法)、DH。
非对称加密的过程:
- 密钥a(公钥)、密钥b(私钥),是拥有一定数学关系的一组密钥。
- 密钥a(公钥):公钥给别人使用,对外公开。
- 密钥b(私钥):私钥给自己使用,不对外公开。
- 发送数据者使用密钥a(公钥)进行加密,通过互联网(网络),传输给数据接收者。
- 数据接收者使用密钥b(私钥)进行解密,从而获取数据发送者的数据内容。
5. 对称加密和非对称加密的比较
对比类型 | 对称加密 | 非对称加密 |
---|---|---|
密钥 | 一串密钥 | 一组密钥(公钥、私钥) |
效率 | 效率高 | 效率低 |
安全性 | 较高 | 更高 |
管理成本 | 高 | 低 |
6. 散列算法
散列算法(Hash function):又称散列算法、哈希函数。是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。
通过Hash function之后的字符串,完全看不到原文内容。如果两个原文不同,那么Hash之后的结果,也是极大概率的不一致。如果两个Hash结果一致,并不能说明两个原文一定相同,存在Hash碰撞问题。
Hash function的关系:多对一。
常见的散列算法:MD5。
散列算法是不安全的。
- 获取到后台数据库的数据(拖库)。
- 了解使用的哈希散列算法。
- 对照自身庞大的哈希散列结果数据。
7. 加盐操作
加盐操作:为了规避散列之后反破解,在散列之前对需要散列的值进行部分自定义处理,从而进一步加大破解难度。
从严格意义上来说,哈希散列算法,不能算加密算法,因为Hash散列是单向的,不具备逆向解密的能力。
评论区