密码学可视化实验室
通过交互式 SVG 可视化探索现代密码学的核心算法与协议:从 AES 对称加密到 RSA 非对称加密,从 SHA-256 哈希到 TLS 握手,从 Diffie-Hellman 密钥交换到零知识证明,深入理解每个算法的内部运作机制。
对称加密 AES
AES 高级加密标准通过 SubBytes、ShiftRows、MixColumns、AddRoundKey 四个步骤在多轮中变换 4×4 状态矩阵,将明文转换为密文。支持 128/192/256 位密钥。
非对称加密 RSA
RSA 基于大整数分解的困难性:选取两个大素数 p 和 q,计算 n=p×q,通过欧拉函数 φ(n) 生成公钥 (e,n) 和私钥 (d,n),实现公钥加密、私钥解密。
哈希函数 SHA-256
SHA-256 将任意长度消息分块为 512 位,通过 64 轮压缩函数迭代更新 8 个工作变量 (a~h),最终输出 256 位哈希摘要。消息调度 W[0..63] 驱动每轮运算。
数字签名
数字签名结合哈希与非对称加密:发送方用私钥对消息哈希签名,接收方用公钥验证。任何篡改都会导致验证失败,保证消息的完整性、认证性和不可否认性。
TLS 握手
TLS 握手协议在客户端和服务器之间协商加密参数、验证证书、交换密钥并建立安全通道。TLS 1.3 将握手简化为 1-RTT,TLS 1.2 需要 2-RTT。
密钥交换 Diffie-Hellman
Diffie-Hellman 协议允许两方在不安全的信道上协商共享密钥:Alice 发送 g^a mod p,Bob 发送 g^b mod p,双方各自计算得到相同的 g^(ab) mod p。
零知识证明
零知识证明允许证明者向验证者证明自己知道某个秘密,而不泄露秘密本身。本模块演示图三色问题的 ZKP:承诺、挑战、响应三阶段协议。
消息认证 HMAC & AEAD
HMAC 使用密钥和哈希函数生成消息认证码,验证消息完整性与真实性。AEAD (如 AES-GCM) 同时提供加密和认证,通过计数器模式加密和 GHASH 计算认证标签。