Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@

### **熔古铸今:文言文仿真加密**

> 镜有能弹,雨有谧然。以语,当笑速夜,非花称雪所将湛流。不应事也,畅则为动礼,迷则为达鲤,然则绣雪自恋致矣
> 早夏振于局而听恋,路在临驿,静星之舒,迸于夏。梦曰:“不请流也” ,星雅即灯明,雪近即城极,返林而不能放,开而不能指,镜也
>
> 此棋有南涧迷森,悠雨清琴。遥家为鸢兮,宏梦为鹤。或指林写岩,进恋于雨,是语也,鸳极驿安,璃慧空舒。况请瀚者宏,是故无和无后,无安无舒,空之所连、城之所见也。光语筑天,良于璃韵,安铃振灯,局文放花。是故无余无青,无遥无寒,语之所事、琴之所歌也。虽火俊茶长,所以赴雨,其空速也,或弹物任绸,弹楼于声
> 此冰有聪雪高霞,极茶谜竹。或添福看茶,添棋于云,盈岩作鸳,春鹤信心。风取,航鹂旅人,北兰歌涧,雨云信涧,此韵有长路瀚灯,静云青林

构造高仿真文言文,**参考《古文观止》《经史百家杂钞》《古文辞类纂》等古代典籍。**
标准 AES256 加密,引入更复杂的组句、语法匹配机制,将密码和中国古典文言文相融合。
Expand Down Expand Up @@ -150,6 +150,8 @@ AES 加密密钥和转轮密钥是同一个,均采用哈希值。

启用高级加密套件将导致密文长度显著增加,所有组件均可独立开启和关闭。

请查阅 [**项目主页**](https://abracadabra.js.org/document/enc.html#高级加密) 了解更多。

### 三重转轮混淆

模拟古老的转轮,每次加密均会对密本映射进行偏移。
Expand Down
20 changes: 20 additions & 0 deletions docs/document/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,26 @@ BERT 等文本分类模型,经过大量训练,也许可以单独攻击密文

无论用户如何设置随机指数和过滤开关,均不会影响密文的解密。

## 合理使用高级加密

高级加密模式允许资深用户选择加密套件,提供更强的加密安全性。但高级加密也有诸多局限性,用户应当合理使用高级加密以达到自身目的。

- 高级加密会显著增加密文的长度,最多可达数百字。
**若对密文长度有要求,谨慎使用高级加密。**

- 为了使高级加密有意义,**请避免使用弱口令/默认密钥**。
任何复杂的密码学套件都无法提升弱口令的安全性。

- 仅打开高级加密主开关而不使用任何功能,其标头仍然会添加到密文中。
**若不使用任何高级加密功能,请关闭高级加密主开关。**

- KDF 是计算密集功能,在低性能设备上运行时会有明显卡顿。

- 打开 TOTP 功能,可免于向密文后方追加 KDF 盐值,从而缩短密文长度。

- TOTP 功能本身不会增加密钥的熵,其安全性主要由 BaseKey 决定。
**若想进一步提升密文安全性,可自定义一个与加密密钥不同的 BaseKey。**

## 繁體中文(香港)

針對使用繁體中文的用戶,魔曰現已支援繁體中文輸入/輸出。
Expand Down
25 changes: 25 additions & 0 deletions docs/document/best-practise.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,33 @@
合适的做法是将加密出来的文言文与上下文搭配。
这么做可以抵抗多种攻击,也让 BERT 之类的模型难以对文本进行分类。

## 高级加密

下面列出一些情况下的最佳实践。

### 最高安全性

如果想要尽可能提高密文的安全性,无视密文长度
可打开 IV, HMAC, KDF 三个开关。

如此会显著增加密文的长度,但安全性最高。

### 最高效率

如果想要有一些安全性,但并不想牺牲密文长度,则可仅打开 KDF 和 TOTP 开关。

此时高级加密对密文长度的影响最小,安全性略有提高。

## 传统模式加密

::: warning 已终止支持

传统加密已终止支持,相关代码不会被移除,但也不会接受进一步更新。

传统加密模式下,不可启用高级加密功能。

:::

下面列出一些情况下的最佳实践。

### 安全优先
Expand Down
8 changes: 8 additions & 0 deletions docs/document/character.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@
困句夏之全玚凪斋或骏琅咨兆咩谜理金说宙银歌舒
:::

::: warning 已终止支持

传统加密已终止支持,相关代码不会被移除,但也不会接受进一步更新。

传统加密模式下,不可启用高级加密功能。

:::

传统模式的密表是几百个常见汉字,加密结果为这些汉字组成的无序字符串。

在传统模式下,会在随机位置对密文添加标志位,用来简化加解密操作流程,程序识别到加密标志位便会自动解密,无需用户手动指定解密,提高便利性。你也可以生成没有标志位的密文,此时需要手动指定强制解密。
Expand Down
33 changes: 31 additions & 2 deletions docs/document/demo-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,36 @@

<div style="max-width:570px;">

![alt text](demo_next.png)
![alt text](demo_next.webp)

</div>

- **话语** 框内,请填写待加密/解密的字符串。
- **魔咒** 框内,请填写密钥,也可以留空不填,不填时自动使用默认密钥 `ABRACADABRA`。
- **符文** 框内,会输出加密/解密结果,点击右下角按钮可以直接复制到剪切板。
- 加密/解密按钮下方的滑条,可以用来调整随机因子。具体请查阅[使用提示](/document/FAQ.md#善用随机滑条)和[文言文仿真管线](/document/wenyan.md)。
- 加密/解密按钮下方滑条,可调整随机因子。具体请查阅 [使用提示](/document/FAQ.md#善用随机滑条) 和 [文言文仿真管线](/document/wenyan.md) 。
- **高级加密** 开关,打开后将允许用户使用高级加密功能,用法见下文。
- **骈文格律** 开关,打开后将总是生成整齐划一的骈文句式,用法见下文。
- **逻辑优先** 开关,打开后将总是生成前后存在逻辑关系的转折复合句,判断句,用法见下文。
- **去除标点** 开关,打开后将总是生成不含标点符号的密文。
- **繁體中文** 開關,打開後將總是生成繁體字密文,解密時無需打開。具体请查阅 [使用提示](/document/FAQ.md#繁體中文-香港) 。

## 高级加密面板

<div style="max-width:570px;">

![alt text](demo_next_advenc.webp)

</div>

- 四个开关(IV, HMAC, KDF, TOTP),可独立控制高级加密各功能的开启和关闭。
- 四个开关可全部关闭,但此时请把高级加密主开关关闭,否则高级加密标头将仍然附加在密文上,降低加密效率。
- 开启 TOTP 后,将会显示时间步长滑条,密钥过期剩余时间,以及用于定义 TOTP Epoch 和 Basekey 的输入框。
- 拖动时间步长滑条,可观察到密钥过期剩余时间的变化,部分步长的过期剩余时间可能周期性重合,可等待下一周期。
- **TOTP Epoch** 框内,请填写整数,可自定义加解密时用于计算 TOTP 密钥的时间戳,留空默认是系统时间。
- **Basekey** 框内,请填写字符串,可自定义 TOTP 预共享密钥,留空默认与加密密钥相同。

更多内容请查阅 [使用提示](/document/FAQ.md#合理使用高级加密) 和 [高级加密](/document/enc.md#高级加密) 。

## 骈文模式

Expand Down Expand Up @@ -43,6 +64,14 @@

## 传统模式

::: warning 已终止支持

传统加密已终止支持,相关代码不会被移除,但也不会接受进一步更新。

传统加密模式下,不可启用高级加密功能。

:::

传统模式加密较少用,它的密表是几百个常见汉字,加密结果为这些汉字组成的无序字符串。

传统模式加密/解密均可点击 `吟唱你的魔法` 按钮,程序会检测标志位,自动加密/解密。
Expand Down
Binary file removed docs/document/demo_next.png
Binary file not shown.
Binary file added docs/document/demo_next.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/document/demo_next_advenc.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions docs/document/js-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,14 @@ Abra.WenyanInput(TestTemp, "DECRYPT", "ABRACADABRA", null, {

### OldInput() 传统加密函数

::: warning 已终止支持

传统加密已终止支持,相关代码不会被移除,但也不会接受进一步更新。

传统加密模式下,不可启用高级加密功能。

:::

`OldInput()` 用传统模式加密密文。

```js
Expand Down
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ Abracadabra(魔曰) 是开源,安全,高效的文本加密工具。

### **熔古铸今:文言文仿真加密**

> 镜有能弹,雨有谧然。以语,当笑速夜,非花称雪所将湛流。不应事也,畅则为动礼,迷则为达鲤,然则绣雪自恋致矣
> 早夏振于局而听恋,路在临驿,静星之舒,迸于夏。梦曰:“不请流也” ,星雅即灯明,雪近即城极,返林而不能放,开而不能指,镜也
>
> 此棋有南涧迷森,悠雨清琴。遥家为鸢兮,宏梦为鹤。或指林写岩,进恋于雨,是语也,鸳极驿安,璃慧空舒。况请瀚者宏,是故无和无后,无安无舒,空之所连、城之所见也。光语筑天,良于璃韵,安铃振灯,局文放花。是故无余无青,无遥无寒,语之所事、琴之所歌也。虽火俊茶长,所以赴雨,其空速也,或弹物任绸,弹楼于声
> 此冰有聪雪高霞,极茶谜竹。或添福看茶,添棋于云,盈岩作鸳,春鹤信心。风取,航鹂旅人,北兰歌涧,雨云信涧,此韵有长路瀚灯,静云青林

构造高仿真文言文,**参考《古文观止》《经史百家杂钞》《古文辞类纂》等古代典籍。**
标准 AES256 加密,引入更复杂的组句、语法匹配机制,将密码和中国古典文言文相融合。
Expand Down