Are there two symmetric commutative encryption features?

I am wondering if there is a strong (e.g. AES or so) encryption function that works as follows:

  • symetric
  • 2 keys: plaintext → 2keys → ciphertext, however it should not have key order values, i.e.

Key1 (Key2 (clear text)) == Key2 (Key1 (clear text)) for example "Commutative" (also required for decryption - you need two keys, it does not matter the order)

thank

+3
source share
4 answers

This is not commutative encryption, but there are proven algorithms for secret exchanges (note that this is not the same as the "key agreement".)

- . , "". , . , .

, . , . , , 256. "y-" (y- x = 0). . Y- x = 1, x = 2, x = 3, & hellip; , .

- , , y. -, , . ; .

, . , , .

, , , . , , .

.

+3

, CTR. CTR :

ciphertext = plaintext XOR cipher(key, counter)

IV . - . , CTR- , :

ciphertext = plaintext XOR cipher(key0, counter) XOR cipher(key1, counter)

XOR , .

, . : , , , ( , SSL- ):

  • - IV. IV .
  • (key0, IV + ctr) ctr = 0... KS_A Charlie
  • (key1, IV + ctr) ctr = 0... KS_B Charlie
  • Charlie KS_A XOR KS_B XOR , .
  • (IV, ( ), ). .

, :

  • Charlie ( ) (IV, ( )) , .
  • , KS_A XOR KS_A = D_A Charlie
  • , KS_B XOR KS_B = D_B Charlie
  • KS = D_A XOR D_B = KS_A XOR KS_B
  • Charlie plaintext = ciphertext XOR KS

DH , , IV. . , .

CTR, CTR , , , , CBC. :

sessionkey = RANDOM
IV_0 = RANDOM
IV_1 = RANDOM
enc_sessionkey = sessionkey XOR cipher(key0, IV_0) XOR cipher(key1, IV_0)
ciphertext = enc_sessionkey + IV_0 + IV_1 + cipherCBC(IV_1, sessionkey, plaintext)

, , , - .. , . , .

+6

. , . .

0

, . , , . , , , - , . , , , .

, , " " - , , atk. , , ( , ), , /. , , , . , , .

0

All Articles