AES-ECB: Padding Oracle Attacks

ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ:

CONST_HIDDEN_KEY = b'HIDDEN'
AES_ECB(OUR_STRING || SECRET_STRING, CONST_HIDDEN_KEY)

Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ строку Π½Π° Π²Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π½ΠΎΠΌΡƒ ящику ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Π‘ΡƒΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Π΄Π΄ΠΈΠ½Π³, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π±Π°ΠΉΡ‚Ρƒ SECRET_STRING.

=> ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ любой тСкст, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ECB Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠ»ΡŽΡ‡ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: https://cryptopals.com/sets/2/challenges/12

Вакая ΠΆΠ΅ ситуация ΠΈ со случайным прСфиксом:

CONST_HIDDEN_KEY = b'HIDDEN'
AES_ECB(RANDOM_PREFIX || OUR_STRING || SECRET_STRING, CONST_HIDDEN_KEY)

Π­Ρ‚ΠΎ Ρ‡ΡƒΡ‚ΡŒ слоТнСС, Ρ‡Π΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: https://cryptopals.com/sets/2/challenges/14

Last updated