适用于合同、图纸、财务报表、医疗影像等敏感文件在内外网之间流转的场景:发送方加密后外发,接收方解密并校验来源;也用于文件归档前的完整性固化、招投标/法律文书的防篡改存证。面向个人用户、中小企业及需要文件外发合规管控的政企部门,解决"文件被截获即泄露、被修改无从察觉"的问题。
点击空白处退出提示
适用于合同、图纸、财务报表、医疗影像等敏感文件在内外网之间流转的场景:发送方加密后外发,接收方解密并校验来源;也用于文件归档前的完整性固化、招投标/法律文书的防篡改存证。面向个人用户、中小企业及需要文件外发合规管控的政企部门,解决"文件被截获即泄露、被修改无从察觉"的问题。
SealSign 提供文件"加密 + 签名"双重保护,采用 PGP 式 sign-then-encrypt 模型:
1. 密钥管理:一键为用户生成两对密钥(Ed25519 签名密钥对、X25519 加密密钥对),支持逗号分隔批量生成多用户密钥;公钥可自由分发,私钥本地留存。
2. 文件加密:用发送方签名私钥签名、用接收方加密公钥加密,输出带元数据的 .enc 文件。
3. 解密与验证:接收方用自己私钥解密、用发送方公钥验证签名;验证失败拒绝输出文件并以非零码退出,防止被篡改内容落盘。
4. 独立签名验证:v3 格式无需任何密钥即可验证,支持提供发送方公钥作为信任锚并交叉校验文件内嵌公钥是否被替换。
5. 大文件流式处理:按 1MB 分块加解密,恒定内存占用,单遍完成无需临时文件。
6. 目录级批量处理:输入目录即可批量加解密,逐个报告成功/失败并汇总统计。
7. 图形界面:五个标签页(密钥生成 / 加密 / 解密 / 验证 / 批量处理)配实时日志区,非命令行用户可直接使用;双击图标即可启动。
8. 交付形态:提供免安装单文件 exe 与标准 Windows 安装包,含开始菜单快捷方式。
由本人独立完成从需求设计、密码学方案选型到编码、测试、打包与文档的全流程。
· 架构分层:tool.py(Click CLI 入口)→ operations.py(业务编排)→ crypto_core.py(密码学原语封装)/ file_format.py(.enc 打包解包)/ key_utils.py(密钥读写)→ gui.py(tkinter 界面),核心逻辑与界面完全解耦,CLI 与 GUI 复用同一套下层实现。
· 密码学实现:基于 PyNaCl 实现 X25519 ECDH 密钥交换 + HKDF 派生对称密钥 + XSalsa20-Poly1305 认证加密(SealedBox),签名采用 Ed25519;每次加密生成一次性临时密钥对,实现前向保密;密钥交换与认证加密双重防篡改,签名层实现来源认证。
· 格式设计与兼容:自定义 .enc 打包格式(JSON 头 + base64 密文),迭代至 v3——签名对象由明文改为密文,使验证无需解密私钥并支持流式验证;通过 version/chunked 字段自动识别流式与否及新旧版本,实现 v1/v2/v3 全兼容。
· 流式加密难点攻克:头部先写入与真实签名等长的占位签名,边分块加密边增量计算密文 SHA-256,结束后原地回填签名,实现单遍流式且无需临时文件、恒定内存占用;解密端按长度前缀分块读取,同样支持流式验签。
· 健壮性:全部异常路径给出中文明确提示而非堆栈;解密/验签失败拒绝输出文件;未提供发送方公钥时回退内嵌公钥并显式警告"未经信任核验",同时交叉校验内嵌公钥与信任锚是否一致。
· 测试与交付:编写 6 组 unittest 用例,覆盖加解密往返一致性、密文篡改检测、签名篡改与错误公钥验证、流式加解密、流式验签、批量处理;使用 PyInstaller(含 cffi 隐藏导入修复)打包为单文件 exe







评论