本项目属于网络空间安全和人工智能的交叉教学场景。立项原因是密码学教学存在一个长期断层:RSA 算法的安全性建立在"大整数分解困难"这个假设上,但课堂上只能用公式推导来解释,学生看不到分解过程本身,也很难理解神经网络这类方法在密码分析里能做什么、边界在哪里;市面上的教学软件又多是"点一下看结果"的演示,学生记住的是结论而不是方法。项目把待分解整数的规模限定在 100 位以内、公钥指数固定为 65537、证书采用 X.509 v3 自签名格式,这个规模不具备真实攻击能力,但足以让"弱密钥下两个素因子彼此接近"这一现象成为可以讲解、可以动手验证的锚点。适用对象是高校密码学、信息安全、人工智能相关课程的实验教学与科研演示。
系统按业务划分为参数配置、样本库、模型训练、仿真实验、CA 证书、算法库、代码空间和实验中心八个模块。参数配置模块用于定义神经网络层数与每层神经元数量、训练轮次、学习率、待分解整数位数等参数,并内置合法性校验,参数不合法会直接提示并拦住后续流程。样本库模块负责样本的生成、入库、分类与检索,样本按 N = p × q 的真实素因子结构构造,为训练和验证提供数据。模型训练模块支持实时样本训练,逐轮记录损失与准确率曲线,训练完成的模型进入模型仓库统一管理,可复用、可对比。仿真实验模块把密钥生成、证书签发、RSA 加解密和类脑分解串成一条可回放的流程,用神经元激活和层间数据流向的可视化展示模型每一步的判断依据,并设置学员决策点,由学员确认或修改模型给出的预测,同时提供任务状态与资源占用的实时监控。CA 证书模块支持 X.509 v3 自签名证书的生成、签发、查看与验证。算法库和代码空间提供在线 Python 编辑环境,学员可以直接改写训练、分解、素数生成等算法脚本并立即运行。实验中心把上述功能按知识点组织成七个实验点(素数生成规律、ANN 训练、类脑分解、CA 证书白盒、学员算法实操、RSA 加解密、算法脚本),每个实验点包含知识讲解、自动备料、分步操作、平台校验和结果反馈五个环节,操作过程的输入、输出与校验结果自动写入实验日志,支持回放和逐步骤溯源。
我负责前端整体设计与开发,以及三端联调与集成。前端采用 Vue 3 + Vite,配合 Element Plus 作为组件库、Pinia 做状态管理、ECharts 6 绘制训练曲线与统计图表、CodeMirror 6 搭建在线 Python 编辑器;Java 业务端基于 Spring Boot 3 与 MyBatis-Plus,承担状态编排和密码学工具(BouncyCastle);Python 算法端使用 PyTorch + FastAPI,负责网络构建、训练、逐轮激活采集和类脑分解计算。三端通过 HTTP 接口与 WebSocket 协同,共用 MySQL、Redis 和 MinIO 存储。
实现上的亮点是训练和推理过程的白盒可视化:用 Canvas 逐帧绘制神经网络结构和层间数据流向,把模型每一步分解的中间结果直接画出来,学生能看到模型为什么这么判断,而不是只拿到一个分解结果。另外把实验点的操作、校验和日志抽成一套通用流程组件,七个实验点复用同一套交互骨架,新增实验点时只需要补数据配置。
难点主要在可视化与长耗时计算的衔接上。训练和仿真都属于长时间运行的任务,需要逐轮、逐步骤向前端回传进度,前端要处理任务的持续跟踪、WebSocket 断线重连,以及切换页面再回来之后的状态恢复;另外待分解整数最多 100 位,超出 JavaScript 数字的安全表示范围,大整数在生成、传输和展示几个环节都需要单独处理。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论