【发布时间】:2015-08-09 17:03:30
【问题描述】:
我正在开发一个具有非常具体的加密要求的应用程序:
我们需要加密/解密单个 64 位值,以保护我们内部架构的某些部分免受通过我们的公共 Web 端点进行的逆向工程。
问题是,现有的 64 位加密方法(如 3DES)不够安全,无法满足我们的要求(据我所知)。
它们的执行速度也比 AES 慢,这是另一个痛点。
我的问题是,我们能否以 64 位块的输入和输出实现 AES?
我们是否必须创建修改后的 AES 算法? (如果我们这样做,也不会完全破坏交易。)
【问题讨论】:
-
您可能使用 3DES,只要您使用 192 位密钥(168 位有效)密钥。这将为您提供大约 112 位的安全性。请注意,通常需要使用需要 IV 或 nonce 的模式,这可能会添加额外的数据。或者,您可以查找提及格式保留加密的文章。
-
您可以考虑另一种具有 64 位块大小(但 128 位密钥)的算法,例如 MISTY1(选择 NESSIE;CRYPTREC 候选)或 Khazad(NESSIE 决赛选手)。或者您可以在“格式保留加密”模式 (AES-FFX) 中使用 AES。
标签: security encryption cryptography aes