HelixShieldCipher发布信息
众所周知,这是我们早在高中生物必修二就学过的三种RNA——

我们还知道的是,这种神奇的、能传递信息的物质,其传递信息的有效组成部分是——碱基!
等等,什么?传递信息?
用的什么?三碱基组合的密码子。
(鬼点子生成中…)
我有一计!
于是乎,在一顿酣畅淋漓的… vibe coding 下, HelixShieldCipher 横空出世!
这是?
基于 RNA 密码子的 ASCII 字符加密库,支持 Rust 核心库、CLI 工具和 Web 服务。
这个项目的GItHub地址是:HelixShieldCipher
功能特性
核心加密/解密
- 字符集:支持 ASCII 字符
- 密码子映射:每个 ASCII 字符映射到一个唯一的 3 碱基 RNA 密码子(仅含 A/U/C/G)
- 种子驱动偏移:通过
u64种子初始化 LCG 伪随机数生成器,对字符索引进行偏移后查表
加密流程
1 | 明文 → 字符查索引 → (索引 + 伪随机偏移) mod 54 → 查密码子表 → 密文(RNA 碱基序列) |
解密过程反向进行:
1 | 密文 → 按3碱基分组 → 查反向表得 ASCII → (加密索引 - 伪随机偏移) mod 54 → 原字符 |
组件
| 组件 | 名称 | 说明 |
|---|---|---|
| 核心库 | rna-cipher-core |
零依赖 Rust 库,提供加密/解密/编解码 |
| CLI 工具 | rna-cipher-cli |
命令行加密/解密/密码表导出 |
| Web 服务 | rna-cipher-web |
Axum + 前端界面 |
接口
| 接口 | 说明 |
|---|---|
| Rust API | encrypt(text, seed) / decrypt(cipher, seed) |
| C FFI | rna_encrypt() / rna_decrypt() |
| Web API | POST /api/encrypt / POST /api/decrypt |
Rust API
1 | // v1.00(已弃用但保留) |
CLI
1 | # v1.00 |
Web API
1 | { |
算法介绍
1. 基于口令的种子派生
种子 $X$ 完全由口令 $P$ 的 SHA256 哈希值派生:
$$X = \text{int}(\text{SHA256}(P)[8:16])$$
2. 类 Enigma 步进(步进值 $B$)
密码子表按照步进值 $B$ 动态偏移,每加密一个字符生成新的 $B$ 值:
$$B_i = \text{LCG}(\text{state}_i) \bmod 54$$
使得同一明文字符在不同位置映射到不同密码子,有效抵抗频率分析。
3. 配对方式偏移(偏移量 $Y$)
$H’$ 的取模结果产生配对方式偏移 $1 \sim 2$ 位:
$$Y = (H’ \bmod 2) + 1$$
4. 5’/3’ 端混淆
通过开关控制,启用后密文的 5’ 端起始点由口令派生,进一步增强混淆。
5. 模板链
开启后生成模板链(非直接信息链),解密时需还原为信息链。必须同时开启 5’/3’ 端混淆。
6. RNA 甲基化
甲基化的基因密码子在解密时自动跳过。甲基化位置由口令派生,不体现在密码子计数值差异中。
算法流程
1 | 输入:口令 P,明文 M(或密文 C) |
许可
GNU General Public License v3.0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 anniharax的博客!
