首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式保留加密操作前的文本分割

格式保留加密操作前的文本分割
EN

Cryptography用户
提问于 2019-11-21 18:55:34
回答 1查看 85关注 0票数 1

如果我在FPE加密之前重新排序文本,对保持加密安全性的格式有什么影响?

以加拿大邮政编码(字母-数字-字母-数字-数字)为例:

  • K1A 0A6
  • 圣诞老人: H0H 0H0
  • 容易记住: A1B 2C3

使用邮政编码作为基础36个号码,并应用FF1 (NIST 800-38g测试向量AES128键,没有调整)给出了以下密文:

E_k(\mathtt{K1A0A6}_{36}) ==> U7F8BD_{36}

但原始格式没有保留(最后一个字符不是数字)。

对于加密的安全性,如果我

  1. 加密前的组数字和字符
  2. 将字母和数字的基数分别降至26和10。
  3. 将FF1应用于这两组
  4. 重新排序密文,以便保留格式。

就像这样:

\begin{gather} E_k(\mathtt{KAA}_{26}) ==> FDE \\ E_k(\mathtt{106}_{10}) ==> 143 \\ \end{gather}

最终会得到FF1加密的邮政编码:F1D 4E3

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-11-22 02:39:44

我会严格地对整个邮政编码执行FF1。这意味着将代码转换为范围\big[0,26\cdot10\cdot26\cdot10\cdot26\cdot10\big)中的一个数字,然后加密、解密并取回它。这是相对简单的基本转换,所以它应该很容易使用除法和余数的数学。

显然,否则您可能会泄漏部分输入的重复。例如,如果我们分别加密第一部分和第二部分,您可能也有Sneezy的邮政编码\mathtt{H0H\space1H0} (\mathtt{H1H\space0H1}已经被邪恶的女巫拿走了)。现在您可以看到\mathtt{H0H}重复了,所以任何知道Sneezy代码的人也会指出圣诞老人代码的第一部分;不太好。

有了许多已知的邮政编码--其中许多可能已经知道--这意味着很快就可以猜出所有的邮政编码。如果一个人是相对独特的,那么它就清楚地表明了该国人口稀少的地区。

其他方案--如你提议的方案--可能也有类似的问题,这在某种程度上取决于邮政编码是如何生成的。通过将整个邮政编码转换为一个数字,可以避免类似这些问题。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/75926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档