← Tətbiqi kriptoqrafiya mühəndisliyiSimmetrik şifrləmə

CBC-də doldurma orakulu

Yalnız «doldurma səhvdir» deyən server istənilən mesajı açarsız, bayt-bayt deşifrləməyə kifayətdir. Bu demo real AES-CBC-yə hücum edir.

İnteraktiv demonun içindəki yazılar hələlik ingilis dilindədir.

Encrypting the secret with a fresh AES key…

Nəyə diqqət etməli

  • Orakul (padding oracle) hər sorğuda bir bit sızdırır: doldurma düzgün idimi? Açıq mətni bərpa etmək üçün bayt başına təxminən 128 sorğu kifayətdir.
  • Hücumçu yalnız əvvəlki şifrmətn blokunu dəyişir. CBC deşifrləməsi onu növbəti bloka XOR edir, buna görə hər təxmin açıq mətnin idarə olunan redaktəsidir.
  • Həll daha yaxşı səhv mesajı deyil. Deşifrləmədən əvvəl autentifikasiya edin (encrypt-then-MAC) və ya AEAD istifadə edin ki, dəyişdirilmiş şifrmətn doldurma yoxlanmazdan əvvəl rədd edilsin.