本项目处于开发前规格稿阶段,页面展示的课程体系、架构设计与版本路线不代表最终版本。功能可能随时调整、重构或移除。

PROJECT N° 06 · WEB · LONG-TERM ROADMAP

CryptoVis 密码学课程百科

不只是算法动画集,而是以交互可视化为核心媒介的密码学课程百科。13 个课程域、120 个核心知识点,每一层中间状态都可追踪、可验证、可治理。

SPECIFICATION v2.0 长期路线
定位
密码学课程百科
形态
纯前端 + 可选服务
课程域
13 域120 知识点
框架
ReactTypeScript
动画
anime.js 4SVG/DOM
数学
KaTeX
核心
语义执行轨迹
无障碍
WCAG 2.2 AA
部署
GitHub Pages + PWA
状态
开发前规格稿

定位与目标

§ 01 · PURPOSE

不只回答"怎么算",还要回答"为什么安全"和"怎么用对"

CryptoVis 把密码学中不可见的状态变化、数学关系、安全假设和协议交互,转化为可观察、可操纵、可质疑、可验证的学习体验。它不是算法计算器的集合,也不是把教科书框图做成动画。

每个主题同时回答四类问题:它如何计算 — 展示输入、状态、轮函数和中间不变量;它为什么安全或不安全 — 连接安全目标、攻击模型和已知失败;它如何被正确使用 — 展示密钥、随机数、IV、nonce、AAD 和参数选择;它在真实系统中位于哪里 — 连接 TLS、PKI、密码存储和密钥生命周期。

算法计算先产生确定性的语义执行轨迹,再由教学编排层把轨迹组织为步骤、解释和提问,最后交给渲染器。播放、暂停、前进、后退和无动画文本模式都基于同一份轨迹。动画不再是状态真相,轨迹才是。

演示与实验工作台采用单视口硬约束:桌面 1366×768 以上视口不出现页面级纵向滚动,主场景、核心控制、当前步骤和安全警告同时可达。3D/2.5D 一镜到底导演系统让摄影机沿数据流连续移动,不通过页面切换或硬切镜头连接步骤 — 减少动态效果时自动降级为静态正交视图,学习结果不丢失。

student@cryptovis · AES-128 · trace
// 计算先产生轨迹,再由渲染器播放
student@cv:~$ trace aes-128 --round 1
[trace] 生成确定性语义执行轨迹...
event#001 add_round_key  round=0
event#002 sub_bytes       row=0 col=0  0x2b→0xf1
event#003 sub_bytes       row=0 col=1  0x7e→0x16
  ... (14 more sub_bytes events)
event#017 shift_rows      row=1 offset=1
event#018 mix_columns     col=0  GF(2⁸)
event#019 add_round_key   round=1
[trace] 19 events, 可序列化, 可重播

student@cv:~$ play --step --no-animation
[step 2/19] SubBytes row=0 col=0
  0x2b → 0xf1  (S-Box[43])
  不变量: 矩阵维度 4×4 不变
  来源: FIPS 197 §5.1.1

student@cv:~$ verify --fips-197
[pass] 轨迹输出与官方向量一致
// 动画关闭后,键盘用户读到等价解释

课程知识体系

§ 02 · 13 DOMAINS · 120 POINTS

先讲安全目标,再讲算法名称

课程不以"算法条目数量"衡量完成度,而以"知识点、学习结果、证据和版本状态"为管理单位。核心知识点是可以独立映射学习结果、内容、练习和证据的最小受控单元。

每个核心知识点至少声明一个可观察学习结果,标注能力层级:识别、解释、执行、分析、判断。C03 安全定义、C09 协议、C10 密码分析和 C12 后量子至少有一半知识点要求达到"分析"或"判断"。

RECOMMENDED LEARNING PATHS

16 周本科路径

导论与数学 → 对称 → 哈希/MAC/KDF → 公钥与签名 → 协议 → 攻击与工程 → 零知识与后量子

8 周强化路径

安全目标 → AES/AEAD → SHA/HMAC/Argon2 → RSA/ECC → 签名/PKI → TLS → 失败案例 → PQC 迁移

CTF 速通路径

编码辨析 → 古典密码 → 块模式 → 哈希与长度扩展 → RSA 小参数 → nonce/随机数错误

教师专题路径

从任意课程域选取 45/90/120 分钟课包,注明先修要求与课后练习

编号 课程域 知识点 代表内容 最低深度
C01密码学导论与安全目标6机密性、完整性、认证、不可否认性、威胁模型、Kerckhoffs 原则全部 D2+
C02数学与计算基础14模运算、扩展欧几里得、概率、熵、群/环/域、有限域D2+, 4 项 D3+
C03安全定义与证明直觉10PRG/PRF/PRP、IND-CPA/CCA、EUF-CMA、随机预言机、归约D2+, 4 项 D3+
C04古典密码与密码分析6Caesar、Vigenère、仿射、Playfair、置换、频率分析全部 D2+
C05对称密码、流密码与模式14Feistel、DES/3DES、AES、SM4、ChaCha20、ECB/CBC/CTR/GCMD2+, 8 项 D3+
C06哈希、MAC、KDF 与密码存储12SHA-2、SHA-3、MD5/SHA-1、HMAC、PBKDF2、scrypt、Argon2D2+, 6 项 D3+
C07公钥加密与密钥建立12RSA、OAEP、DH、ElGamal、ECC/ECDH、X25519、KEM/DEMD2+, 6 项 D3+
C08数字签名、证书与 PKI10RSA-PSS、DSA、ECDSA、EdDSA、证书链、撤销、时间戳D2+, 5 项 D3+
C09协议与系统应用10TLS 1.3、HPKE、SSH、PGP、磁盘加密、端到端消息D2+, 4 项 D3+
C10密码分析与安全工程10生日攻击、填充预言机、nonce 重用、侧信道、降级D2+, 5 项 D3+
C11承诺、零知识与高级协议6承诺、Sigma 协议、Schnorr、三色图、Fiat-ShamirD2+, 2 项 D3+
C12后量子密码与密码敏捷性6量子威胁、ML-KEM、ML-DSA、SLH-DSA、混合迁移D2+, 3 项 D3+
C13国密、遗留算法与合规语境4SM2/SM3/SM4、标准体系、遗留评估、合规语境全部 D2+
合计120120 D2+; 50 D3+; 18 D4

内容深度分级

§ 03 · D0 → D4

深度是内容承诺,不是页面美术等级。同一主题可拆成 D1 概览页、D3 算法页和 D4 实验页,三者通过知识图谱关联。没有来源、没有审核人、没有测试证据的页面只能进入预览区,不能计入课程覆盖率。

D0

索引

定义、同义词、所属课程域、状态、权威链接。不计入核心覆盖。

D1

概念

一句话直觉、结构图、用途、误区、安全状态、2 道自测。仅扩展知识。

D2

可操作理解

端到端流程、可调输入、关键参数、成功/失败对照、练习与来源。计入核心覆盖。

D3

可追踪深讲

确定性执行轨迹、中间状态、官方测试向量、步进/回退、轨迹不变量。计入深讲指标。

D4

课程级实验

D3 全部内容 + 攻击或误用实验、实验指导、评分量规、教师答案。计入实验指标。

五层核心架构

§ 04 · ARCHITECTURE

算法状态独立于动画时间线

计算先产生确定性的语义执行轨迹(TraceEvent),包含操作类型、输入输出、前后快照、轮次、解释键和不变量。轨迹可序列化、可比较、可重播。动画引擎只负责渲染时间,不拥有算法真相。

教学编排层把轨迹切分为讲解步骤,绑定学习目标、解释、提问和误区。渲染层是插件式的 — 矩阵、比特块、曲线、协议泳道和内存网格各自独立。关闭动画后,键盘用户仍可完成全部步骤并读到等价解释。

公开内容、实验和本地进度在无后端时可用。可选服务只承担账户同步、班级和作业收集,不可用时课程内核优雅降级。

L5

课程与服务层

知识图谱、搜索、进度、题库、教师工作台、可选同步与版本锁定

L4

场景、镜头与交互层

3D/2.5D 场景图、CameraDirector、单屏布局、矩阵/曲线/协议/内存插件和 DOM 讲解叠层

L3

教学编排层

把轨迹切分为步骤,绑定学习目标、解释、提问、提示和误区

L2

语义执行轨迹层

输出类型化 TraceEvent、快照、来源与不变量,可序列化可重播

L1

计算与模型层

纯函数实现、参数校验、大整数/有限域工具、官方测试向量

旗舰可视化

§ 05 · 20 MANDATORY · 24 TOTAL

全量版至少完成 24 个 D3/D4 旗舰模块,每个旗舰模块提供默认 3D/2.5D 一镜到底路径:摄影机沿数据流从总览进入细节,完成运算、分支和比较,再回到结构总览,不通过页面切换或硬切镜头连接。每个视觉步骤必须能回答"正在改变什么、为什么改变、改变后满足什么不变量"。纯装饰过渡不计入教学可视化完成度。

旗舰模块 深度 必须可见的教学对象
AES-128D4密钥扩展、10 轮状态矩阵、四种轮变换、雪崩效应
DES / FeistelD3L/R 交换、扩展、S-Box、置换及遗留风险
SM4D3轮结构、非线性/线性变换及与 AES 的结构差异
ECB/CBC/CTR/GCM 对比D4IV/nonce、padding、并行性、错误传播、AAD、tag、GHASH
ChaCha20D4Quarter Round 的 ARX 操作、状态布局和计数器
SHA-256D4填充、消息调度、压缩、链式状态和雪崩实验
SHA-3 / KeccakD3sponge、absorb/squeeze、五个置换步骤
HMACD4ipad/opad、内外层哈希、长度扩展关系
Argon2D4lane、block、迭代、内存成本和参数权衡
RSA 教材数学D3素数、φ/n、逆元、平方-乘模幂
RSA-OAEP 与 RSA-PSSD4随机化编码、掩码生成、验证和失败条件
Diffie-HellmanD3群参数、双角色交换、中间人风险
ECC 点运算D4实数域直觉、有限域计算、点加/倍点/标量乘
ECDH / X25519D3密钥交换、共享秘密和公钥校验语境
ECDSA nonce 失败D4签名流程、nonce 重用导致私钥恢复
EdDSAD3确定性 nonce 派生、签名与验证流程
TLS 1.3 握手D4协商、(EC)DHE、证书、HKDF、Finished 和密钥阶段
Schnorr Sigma 协议D3离散对数见证、承诺、挑战、响应和可靠性误差
三色图零知识D3承诺、随机边挑战、打开颜色和重复实验
ML-KEM / ML-DSAD4KEM 与签名边界、标准参数、封装/解封装、迁移语境

正确性与内容治理

§ 06 · QUALITY

"动画看起来正确"不能替代测试证据

每个 D3/D4 模块必须通过五层验证:官方已知答案测试(FIPS/RFC/ISO/GB)、差分测试(与成熟独立实现对比)、性质测试(往返、域闭包、错误输入拒绝)、轨迹不变量测试(轮数、维度、快照一致性)和视觉关键帧测试。

教学实现先通过正确性门禁,后接可视化。作者不得独自批准自己的 D3/D4 页面;D3/D4 需要密码学技术审核和教学审核各一名。已发布页面每 12 个月复核一次;"标准化中"页面每 90 天检查状态。

  • 五层正确性验证 — 官方向量、差分测试、性质测试、轨迹不变量、视觉关键帧
  • 双重内容审核 — D3/D4 需密码学技术审核 + 教学审核,作者不可独自批准
  • WCAG 2.2 AA — 键盘完整操作、颜色非唯一编码、减少动态模式、屏幕阅读器文本轨迹
  • 发布契约 — 每页显示类型、深度、安全状态、规范状态、复核日期和非生产提示
  • 版本锁定 — 教师可锁定课程版本,学期内不受标准更新影响
  • 教学实现用于生产 — 永久禁止。页面持续显示"教学实现/参数受限/非生产用途"
  • 以算法数量承诺覆盖率 — 不以条目数量或未定义的"大纲覆盖率"作为市场承诺

教学与教师功能

§ 07 · PEDAGOGY

先修诊断

根据答题结果推荐数学补课和课程起点,避免学生从错误位置开始。

课程地图

显示已完成、待复习、前置依赖和下一推荐主题,知识图谱无孤立节点。

检索式百科

支持中文、英文、缩写、算法别名、标准号和错误概念搜索。

实验记录

保存参数、随机种子、观察、结论和版本号,可导出为本地文件。

演示模式

大字号、简化导航、逐步揭示、教师备注、计时器、黑屏和远程翻页。

参数化作业

为每位学生生成不同但可复现的输入和随机种子,题目映射学习结果。

题库与量规

至少 300 道审核题目,30% 为分析/判断题,可追溯到学习目标和内容版本。

答案隔离

教师答案与学生页面隔离,支持按课程包导出,版本锁定后保持一致。

离线内核

公开内容、实验和本地进度在无后端时可用,可选服务中断不影响阅读。

版本路线图

§ 08 · v0.1 → v2.0

版本采用"能力门禁"而非固定日历承诺。每个版本只有满足退出条件才可发布,不得为了赶版本跳过测试、审核或状态标注。工作量标记按兼职核心团队估算:S = 2~4 周,M = 5~8 周,L = 9~12 周,XL = 13~20 周。

V0.1
可验证垂直切片:轨迹、步进、测试贯通
V0.2
课程外壳、数学基础、古典密码
V0.3
对称块密码与模式:AES/DES/SM4
V0.4
流密码与哈希:ChaCha20、SHA-2/3
V0.5
认证、AEAD、KDF 与密码存储
V0.6
公钥与椭圆曲线:RSA、DH、ECC
V0.7
签名与 PKI:ECDSA、EdDSA、证书链
V0.8
协议与失败实验:TLS、nonce 重用
V0.9
零知识、PQC、教师 Alpha
V1.0
首个完整学期稳定版
V1.1
国密、遗留与标准中心
V1.2
密码分析与安全工程深度版
V1.3
教师平台与开放贡献体系
V1.5
全量覆盖与规模化候选版
V2.0
长期全量版:深度、质量、外部验证

VERSION OVERVIEW · 能力门禁

版本 主题 主要课程能力 工作量 发布性质
v0.1可验证垂直切片轨迹、单屏壳、3D 场景、镜头导演、测试贯通M内部技术预览
v0.2课程外壳与基础阅读/单屏演示双模式、导论、数学、古典密码M公开 Alpha
v0.3对称密码与模式AES 一镜到底、3D 景深模式对比、DES/SM4L公开 Alpha
v0.4流密码与哈希ChaCha20、SHA-2/SHA-3、遗留碰撞案例L公开 Alpha
v0.5认证、AEAD、KDFHMAC/GCM/Argon2、密码存储L教学 Beta
v0.6公钥与椭圆曲线RSA、DH、ECC/ECDH、KEM/DEML教学 Beta
v0.7签名与 PKIRSA-PSS、ECDSA/EdDSA、证书链L教学 Beta
v0.8协议与失败实验TLS、协议组合、nonce/随机数/填充失败XL课程候选版
v0.9零知识、PQC、教师 AlphaSchnorr、三色图、ML-KEM/ML-DSA、课程编排XL课程候选版
v1.0首个完整学期版课程、题库、单屏 3D 演示和发布质量L首个稳定版
v1.1国密、遗留与标准中心SM 系列、历史条目、状态追踪L内容扩展版
v1.2密码分析与安全工程攻击实验、侧信道直觉、密钥生命周期XL深度扩展版
v1.3教师平台与开放贡献班级/作业可选服务、贡献与审稿体系XL平台版
v1.5全量覆盖与规模化120 点覆盖、24 个一镜到底模块、离线与兼容迁移XL全量候选版
v2.0长期全量版单屏、3D 连续镜头、课程深度与外部验证全部达标XL长期稳定版

最终成功标准:一名教师可以在不依赖开发者现场支持的情况下,使用 CryptoVis 完成一学期课程;一名学生可以从"编码不等于加密"进阶到理解安全定义、协议组合、实现风险与后量子迁移;每个技术结论都能追溯到规范、测试向量、内容审核和版本记录。

开发前
规格稿

CryptoVis 目前处于开发前规格稿阶段。页面展示的课程体系、架构设计与版本路线均为设计构想,不代表最终版本。首要行动不是立即铺开算法,而是完成 v0.1 的 AES 垂直切片、冻结 120 点课程矩阵、建立页面契约与审核流程。

教学实现不得宣称可用于生产加密。算法实现正确性通过官方向量、差分测试和性质测试交叉验证。