// CRYPTOGRAPHY · VISUALIZATION · LAB

密码学可视化实验室

通过交互式 SVG 可视化探索现代密码学的核心算法与协议:从 AES 对称加密到 RSA 非对称加密,从 SHA-256 哈希到 TLS 握手,从 Diffie-Hellman 密钥交换到零知识证明,深入理解每个算法的内部运作机制。

8 Modules SVG + Vanilla JS Zero Dependencies Single File
01Symmetric Encryption

对称加密 AES

AES 高级加密标准通过 SubBytes、ShiftRows、MixColumns、AddRoundKey 四个步骤在多轮中变换 4×4 状态矩阵,将明文转换为密文。支持 128/192/256 位密钥。

状态矩阵变换
02Asymmetric Encryption

非对称加密 RSA

RSA 基于大整数分解的困难性:选取两个大素数 p 和 q,计算 n=p×q,通过欧拉函数 φ(n) 生成公钥 (e,n) 和私钥 (d,n),实现公钥加密、私钥解密。

密钥生成与加解密
03Hash Function

哈希函数 SHA-256

SHA-256 将任意长度消息分块为 512 位,通过 64 轮压缩函数迭代更新 8 个工作变量 (a~h),最终输出 256 位哈希摘要。消息调度 W[0..63] 驱动每轮运算。

压缩函数轮次
04Digital Signature

数字签名

数字签名结合哈希与非对称加密:发送方用私钥对消息哈希签名,接收方用公钥验证。任何篡改都会导致验证失败,保证消息的完整性、认证性和不可否认性。

签名与验证流程
05TLS Handshake

TLS 握手

TLS 握手协议在客户端和服务器之间协商加密参数、验证证书、交换密钥并建立安全通道。TLS 1.3 将握手简化为 1-RTT,TLS 1.2 需要 2-RTT。

握手消息流
06Key Exchange

密钥交换 Diffie-Hellman

Diffie-Hellman 协议允许两方在不安全的信道上协商共享密钥:Alice 发送 g^a mod p,Bob 发送 g^b mod p,双方各自计算得到相同的 g^(ab) mod p。

密钥交换过程
07Zero-Knowledge Proof

零知识证明

零知识证明允许证明者向验证者证明自己知道某个秘密,而不泄露秘密本身。本模块演示图三色问题的 ZKP:承诺、挑战、响应三阶段协议。

三色图 ZKP 协议
08Message Authentication

消息认证 HMAC & AEAD

HMAC 使用密钥和哈希函数生成消息认证码,验证消息完整性与真实性。AEAD (如 AES-GCM) 同时提供加密和认证,通过计数器模式加密和 GHASH 计算认证标签。

认证构造