熔古铸今:文言文仿真加密
快速使用
请查阅 项目主页 ,详细了解使用/部署方法。
静态页面 / 前端源码
本项目有自动托管在Cloudflare Pages的静态页面可供直接使用。
如果你想自行快速部署这个静态页,可以在Release中下载快速部署文件包。若要自行编译或修改,请前往前端源代码仓库。
浏览器插件的源码同样在前端源代码仓库,位于 crx 分支。
浏览器插件
浏览器插件基于本项目的 JavaScript 实现。
已上架 Chrome WebStore, Edge 加载项 和 Firefox 扩展。
如果不方便访问Chrome插件商店,也可以访问Edge插件商店,和Firefox扩展商店。
提示:Edge 插件商店的上架审核速度十分缓慢,因此更新速度也更慢。不推荐从Edge商店下载本插件。
Android 客户端
本项目的 Android 客户端完全在 WebView 中静态运行。
image
APK使用HBuilderX自动打包,完全离线运行,没有自动更新等配套功能。
功能和界面均和前端静态网页没有差异。
APK文件可以 在 Release 中下载
细节概要
请查阅 项目主页 了解更多。
Ask DeepWiki
加解密过程
明文 -> 压缩 -> AES-256-CTR -> Base64 -> 三重转轮 -> 映射汉字 -> 组句(仅仿真加密时) -> 密文
密文 -> 解仿真(仅仿真加密) -> 转轮逆映射 -> Base64 -> AES-256-CTR 解密 -> 解压缩 -> 明文
映射表
Abracadabra 以最常用的 3000 个汉字为密本,对大小写拉丁字母,阿拉伯数字和部分符号进行映射。
密表为纯人工编纂,没有让人眼花缭乱的生僻字。
映射表公开可查,查阅 映射表(传统) 或者 映射表(仿真) 以了解密本的全貌。
AES 加密
核心安全性由久经考验的 AES 加密算法提供,采用无填充的AES-256-CTR,节省密文长度。
AES 加密密钥和转轮密钥是同一个,均采用哈希值。
三重转轮混淆
模拟古老的转轮,每次加密均会对密本映射进行偏移。
简言之,程序会将给定的密钥进行 SHA256,得到一个长度为 32 的 Uint8_t 数组。
这个数组中的每个数字,都会决定三重转轮中每个转轮每次迭代的转动方向和转动距离。
数字/符号,字母分别拥有一套转轮,即总共六个转轮,改变密钥相当于更换一套完全不同的转轮。
转轮显著增加了 Base64 密文的安全性,查阅 项目主页 来了解转轮的详细运行机制。
压缩
为了削减密文的长度,每次加密前会对数据进行智能压缩。
针对短文本,采用专门为短文本优化的 Unishox2 压缩算法。
一般数据(>1KB)则采用GZIP。
压缩后会执行效率验证,如果出现无效压缩,则自动回落到原始数据。
密文对比
明文:Abracadabra 魔曰(仿真):不应报也。树将棋之,书曰:“天水探火,临于云楼” ,夜乃写定绸之莺,指之不为火,换之不为苗。 魔曰(仿真):流霞以停空,局返,作文换雪。不可彰也,火之无灯,璃说之文,智鸢湛事。 魔曰(传统):桨捷欤网炯棠囍设声沢仅氖城织把夹短阐瑞玖祉作 <-- ↓↓对比项目↓↓ --> 熊曰:呋食性類啽家現出爾常肉嘿達嗷很 佛曰:諸南隸僧南降南吽諸陀南摩隸南僧南缽南薩咤南心彌嚴迦聞婆吽願南眾南色南兜南眾南如婆如南 社会主义:自由民主公正文明法治文明公正民主公正和谐公正民主公正自由公正民主公正文明法治文明公正民主 兽音:~呜嗷嗷嗷嗷呜呜啊呜嗷呜嗷呜呜~嗷啊呜啊嗷啊呜嗷呜~呜~嗷~呜呜嗷嗷嗷嗷嗷嗷呜啊嗷呜啊呜嗷呜呜~嗷啊嗷啊嗷啊呜嗷嗷~~~嗷~呜呜嗷嗷嗷嗷嗷嗷呜啊嗷呜呜呜嗷呜呜~呜啊呜啊嗷啊呜嗷嗷~嗷啊 火星文:(不支持英文)
https://github.com/SheepChef/Abracadabra
- 本文固定链接: https://xmsdn.com/12.html
- 转载请注明: GITHUB 于 github开源项目 - 免费开源系统 发表