直接跳到内容

密码学

密码学是研究信息安全的科学,涉及加密、解密、签名和验证等技术,确保数据的机密性、完整性和真实性。作为现代数字世界的基石,密码学支撑着从安全通信到区块链的各类应用。

什么是密码学?

密码学通过数学算法将原始数据 (明文) 转换为不可读形式 (密文),只有授权方才能恢复原始内容。其核心目标包括防止数据泄露、检测篡改和验证身份。

示意图:

原始通信: 发送方 -> 明文 -> 传输 -> 明文 -> 接收方
密码学通信: 发送方 -> 加密(明文)=密文 -> 传输 -> 解密(密文)=明文 -> 接收方

密码学的核心特点

机密性

确保只有授权方能够访问信息内容,防止未授权访问和窃听。对称和非对称加密是实现机密性的主要手段。

示意图:

明文"Hello" -> 加密算法+密钥 -> 密文"Kdjr3#" -> 解密算法+密钥 -> 明文"Hello"

完整性

通过哈希函数和消息认证码检测数据是否被篡改,确保接收到的信息与发送时完全一致。

示意图:

发送方: 数据 -> 生成哈希值 -> 发送数据+哈希值
接收方: 接收数据 -> 重新计算哈希 -> 对比接收的哈希值 -> 验证完整性

身份验证与不可否认性

数字签名技术验证消息发送方身份,并防止发送方事后否认曾发送过消息。

示意图:

发送方: 消息 -> 私钥签名 -> 发送消息+签名
接收方: 接收消息+签名 -> 使用发送方公钥验证签名 -> 确认身份

访问控制

通过密码学凭证控制对资源或服务的访问权限,如数字证书和零知识证明。

密码学基础技术

对称加密

加密和解密使用相同密钥,速度快,适合大数据量加密。

示意图:

加密: 明文 + 共享密钥 -> 加密算法 -> 密文
解密: 密文 + 共享密钥 -> 解密算法 -> 明文

典型算法:

  • AES:分组加密,支持 128/192/256 位密钥
  • ChaCha20:流加密,移动设备性能优异

非对称加密

使用公钥-私钥对,公钥用于加密,私钥用于解密,解决密钥分发问题。

示意图:

密钥生成: 生成密钥对[公钥|私钥]
加密: 明文 + 接收方公钥 -> 密文
解密: 密文 + 接收方私钥 -> 明文

典型算法:

  • RSA:基于大数分解难题
  • 椭圆曲线加密 (ECC):相同安全强度下密钥更短

哈希函数

将任意长度输入转换为固定长度输出,具有单向性和抗碰撞特性。

示意图:

输入数据 -> 哈希函数 -> 固定长度哈希值
特性: 相同输入永远相同输出,微小输入变化导致输出巨变

典型算法:

  • SHA-256:输出 256 位,区块链广泛应用
  • BLAKE3:现代哈希函数,性能优异

数字签名

结合哈希和非对称加密,提供身份验证和不可否认性。

示意图:

签名: 消息 -> 哈希 -> 私钥加密哈希值 -> 数字签名
验证: 消息 -> 哈希 -> 公钥解密签名 -> 对比哈希值

密码学进阶技术

零知识证明

允许一方向另一方证明某陈述为真,而不泄露任何额外信息。

示意图:

证明者: 知道秘密S -> 生成证明 -> 验证者: 验证证明正确性
验证者最终只知道陈述为真,不知S的具体内容

应用类型:

  • zk-SNARKs:需要可信设置,证明小验证快
  • zk-STARKs:无需可信设置,证明较大但可扩展性强

同态加密

允许在加密数据上直接进行计算,解密结果与在明文上计算相同。

示意图:

数据A(加密) + 数据B(加密) -> 密文计算 -> 结果(加密) -> 解密 -> 明文结果
等同于: 数据A(明文) + 数据B(明文) -> 明文计算 -> 明文结果

安全多方计算

多个参与方共同计算函数,各方输入保持私密,只获得最终结果。

示意图:

参与方A(输入a) + 参与方B(输入b) + 参与方C(输入c)
-> 安全协议计算函数f(a,b,c)
-> 各方获得结果f(a,b,c),但不知其他方具体输入

门限密码学

将密钥或签名权力分散到多个参与方,需要达到阈值数量的参与方才能完成操作。

示意图:

主私钥 -> 分割为5个份额[份额1|份额2|份额3|份额4|份额5]
签名时: 任意3个份额即可生成有效签名,少于3个则无法完成

密码学在区块链中的应用

公私钥对与钱包地址

用户通过椭圆曲线算法生成密钥对,公钥经哈希和编码生成区块链地址。

示意图:

随机数 -> 椭圆曲线算法 -> 私钥 -> 推导公钥 -> 哈希处理 -> 编码 -> 地址

交易签名

每笔交易由发送方私钥签名,网络节点使用公钥验证签名有效性。

示意图:

交易数据 -> 发送方私钥签名 -> 广播交易+签名
节点验证: 交易数据 + 签名 + 发送方公钥 -> 验证通过/拒绝

默克尔树

通过哈希树结构高效验证大数据集的完整性和成员关系。

示意图:

交易1哈希    交易2哈希    交易3哈希    交易4哈希
    \          /            \          /
     中间哈希1                中间哈希2
        \                      /
              根哈希(记录在区块头)

共识算法安全

工作量证明依赖哈希函数的计算难度,权益证明依赖数字签名的身份验证。

密码学面临的挑战

量子计算威胁

Shor 算法可破解 RSA 和椭圆曲线加密,Grover 算法加速哈希碰撞寻找。

防御方案:

  • 后量子密码学:基于格、编码、多变量等数学难题
  • 量子密钥分发:利用量子力学特性保障密钥安全

侧信道攻击

通过分析功耗、电磁辐射或执行时间等物理特征获取密钥信息。

防护措施:

  • 恒定时间实现
  • 随机化掩码技术
  • 物理隔离

密钥管理

密钥丢失导致数据永久不可访问,密钥泄露危及整个系统安全。

最佳实践:

  • 分层密钥结构
  • 硬件安全模块 (HSM)
  • 门限签名方案

密码学作为数字信任的基础,持续演进以应对新的安全挑战,为构建安全可靠的数字未来提供核心技术支撑。

密码学已经加载完毕