3DES:相同的密文是否意味着相同的密钥?

时间:2016-06-23 08:19:18

标签: encryption cryptography password-encryption

如果加密数据相同,我们是否可以假设使用相同的加密密钥来加密数据?

例如,纯文本是'这是样本'。

我们首次使用3DES算法和加密密钥对其进行加密。加密数据变为“MNBVCXZ”。

第二次,我们使用3DES算法和加密密钥对其进行加密。加密数据变成了MNBVCXZ'。

我的问题是:

  1. 我可以假设此加密过程中使用了静态加密密钥吗?
  2. 使用3DES算法可以使用多少密钥来加密数据?

1 个答案:

答案 0 :(得分:2)

  

我可以假设在此加密过程中使用静态加密密钥吗?

是的,如果您自己执行加密(概率非常高),如果攻击者可以执行加密并且明文/密文相对较小,则为no。

由于3DES确实具有2 ^ 168个可能的密钥和2 ^ 64个可能的块,因此显然某些密钥会将单个明文加密为相同的密文。找到这样一对密钥平均需要大约2 ^ 32次计算(因为生日悖论)。

如果明文较大(需要多个块加密),那么找到快速生成相同密文的不同键的机会将变为零。

如果预设了其中一个键,则需要大约2 ^ 64次计算才能找到另一个键。并且 - 出于同样的原因 - 只有1/2 / 64的机会使用两个密钥,遗憾的是,它们会为特定的明文产生相同的密文。

如果您想自己进行计算,请提供更多信息here on the crypto site

  

使用3DES算法可以使用多少密钥来加密数据?

2 ^ 168如果您考虑完整的可能密钥集,即您允许使用DES-ABC密钥。这些密钥编码为192位,包括奇偶校验。这将包括DES-ABA和DES-AAA密钥(后者相当于单个 DES)。

如果您只考虑DES-ABA密钥,则

2 ^ 112。这些密钥编码为128位,包括奇偶校验。这将包括单一DES。