2 个不同的 3DES (ede) 密钥在加密时提供相同的输出

2 different 3DES (ede) keys giving same output while encryption

我有 2 个不同的 3DES (ede) 密钥(意思是双倍长度)。我使用密钥加密了一个 8 字节的块并得到了相同的输出。这个可以吗?还是很少见?这甚至可能吗?

我观察到的一件事是 key1 xor 0101....01 = key2。难道这就是原因。对于所有这样的密钥对,3DES 的工作原理是一样的吗?另外,是否还有其他类似的块(如 0101...01)具有相同的效果?

示例:

data: a21156bcdd00018a

key1: ff41777b3372b7817872b4b212f0c942
cipher text: 76 4f ab e0 2a e0 9b 11

key2: FE40767A3273B6807973B5B313F1C843
cipher text: 76 4f ab e0 2a e0 9b 11

and when data: 0000000000000000

ciphertext 1 = ciphertext 1 = 7adfa8ccbb7b3d29

基本上,给出所有相同的输出。

这是否与 3DES 算法有关?

看看你的二进制密钥:

                  FF/FE    41/40    77/76    7B/7A    33/32    72/73    B7/B6    81/80 
Key1 bit 0-63:   11111111 01000001 01110111 01111011 00110011 01110010 10110111 10000001 
Key2 bit 0-63:   11111110 01000000 01110110 01111010 00110010 01110011 10110110 10000000

                  78/79    72/73    B4/B5    B2/B3    12/13    F0/F1    C9/C8    42/43
Key1 bit 64-128: 01111000 01110010 10110100 10110010 00010010 11110000 11001001 01000010
Key2 bit 64-128: 01111001 01110011 10110101 10110011 00010011 11110001 11001000 01000011

您可能会注意到它们仅在每个字节的最后一位不同。这是 DES 在加密期间不使用的奇偶校验位。从 DES 的角度来看,它们是相同的密钥。