如果加密数据相同,我们是否可以假设使用相同的加密密钥来加密数据?
例如,纯文本是'这是样本'。
我们首次使用3DES算法和加密密钥对其进行加密。加密数据变为“MNBVCXZ”。
第二次,我们使用3DES算法和加密密钥对其进行加密。加密数据变成了MNBVCXZ'。
我的问题是:
答案 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。