密码学基础
密码学基础
[toc]
1.体系
1 | graph TD; |
2.对称加密体制
加密双方共享同一个密钥来进行加解密计算
模式
1 | flowchart LR |
安全性在密钥的保密
一次一密(无条件安全),但是密钥长度会超过明文长度
流密码
需要密钥流生成器,生成伪随机序列,它将明文消息和一个伪随机密钥流逐位或逐字节结合,生成密文。与分组密码不同,流密码连续不断地处理数据流,而不是将数据分成固定大小的块。
核心概念和工作原理:
- 密钥流生成器: 流密码的核心是一个密钥流生成器,它使用密钥生成一个伪随机的密钥流。
- 加密: 明文消息与密钥流进行异或 (XOR) 操作,生成密文。
- 解密: 使用相同的密钥流与密文进行异或操作,恢复明文。
漏洞:1.可以通过一个已知明文来推出另一个明文
2.相同明文产生相同密文
分组密码
逐分组进行处理,对明文分组进行加密,产生密文。
通过迭代来产生密文。
1 | graph LR; |
3.非对称加密体系
加密双方使用一对密钥来进行加解密计算,使用两个密钥:公钥和私钥。公钥可以公开分发,而私钥必须保密。这两个密钥在数学上相关联,使用公钥加密的数据只能用对应的私钥解密,反之亦然。
以下是更详细的解释:
核心概念和工作原理:
- 密钥对: 每个用户或实体都有一对密钥:公钥和私钥。
- 加密: 使用接收者的公钥加密消息。只有拥有对应私钥的接收者才能解密消息。
- 解密: 使用私钥解密消息。
- 数学基础: 非对称加密算法通常基于数学难题,例如大数分解(RSA)或椭圆曲线离散对数问题(ECC)。这些难题使得在已知公钥的情况下计算私钥非常困难。
主要优势:
- 密钥分发更安全: 无需安全通道即可交换公钥。
- 数字签名: 可以使用私钥对消息进行数字签名,以验证消息的发送者和完整性。
- 身份验证: 可以使用公钥验证用户的身份。
主要劣势:
- 加密速度较慢: 相比对称加密,非对称加密的计算量更大,速度较慢。
- 密钥管理更复杂: 需要安全地生成、存储和管理密钥对。
常用的非对称加密算法:
- RSA (Rivest-Shamir-Adleman): 基于大数分解难题。
- ECC (Elliptic Curve Cryptography): 基于椭圆曲线离散对数问题。ECC 在相同安全级别下可以使用更短的密钥,因此效率更高。
- ElGamal: 基于离散对数问题。
- DSA (Digital Signature Algorithm): 主要用于数字签名。
应用场景:
- TLS/SSL (Transport Layer Security/Secure Sockets Layer): 用于保护网络通信,例如 HTTPS。
- SSH (Secure Shell): 用于安全远程登录。
- PGP (Pretty Good Privacy): 用于电子邮件加密和数字签名。
- 比特币和其他加密货币: 用于数字签名和交易验证。
- 数字证书: 用于验证网站和用户的身份。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小chen妙妙屋!
评论



