encryption - TripleDES key 大小-.NET与Wikipedia

标签 encryption wikipedia des tripledes

根据Wikipedia的说法,TripleDES支持56、112和168位 key 长度,但是System.Cryptography.TripleDESCryptoServiceProvider.LegalKeySizes表示它仅接受128位和192位 key 长度。

我正在开发的系统需要是可互操作的(通过我的代码加密的数据需要在PHP,Java和Objective-C中可解密),在这种情况下,我认为谁是正确的?

那我应该相信谁呢?以及如何确定我的加密数据是可移植的?

最佳答案

维基百科没有说TripleDES支持56位 key 。 “键控选项”谈到“三倍长”键和“双倍长”键,后者“将键长减小到112位”。
原始DES的有效 key 大小为56位。但是,这种 key 是由64位输入构成的,其中8位未使用。因此,“三倍长”键选项适用于由三倍64位(= 192位)构成的三倍56位(= 168),而“双倍长”选项适用于两次56位键(= 112)由两次64位(= 128)构成。

由于您的TripleDESCryptoServiceProvider需要首先从基于64位的输入中获取实际 key ,因此它将仅采用128位(双倍长度)或192位(三倍长度)作为输入,然后在内部派生168或112位实际该输入中的键。

这是TripleDES的标准过程,因此跨平台的可移植性应该没有问题。

关于encryption - TripleDES key 大小-.NET与Wikipedia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766225/

相关文章:

iphone - iOS 如何加密存储持久数据?

android - 堆损坏 - Android native 代码中的 SEGV_MAPERR

python - 为文本挖掘映射关系挖掘维基百科

identity - 确认用户就是他们所说的维基百科用户?

java - 寻找 DES key

SQL 使用 SSL 加密单个连接

c++ - 使用已知 key 将密文解密为明文

mysql - 如何下载维基百科中某个类别内的所有页面?

php - 如何在 NODE.JS 上模仿 php crypt()

c - 如何检查 DES key 的奇偶校验?