Buna ziua,
Am o întrebare cu privire la complexitatea timpului de atac de întâlnire la mijloc asupra criptării RSA a manualelor. Să presupunem că încerc să criptez chei simetrice de lungimi diferite fără umplutură folosind algoritmul RSA. Exemple de taste:
- Cheie DES pe 56 de biți (cu biți de paritate): DA13511CAB329E32 (fără biți de paritate pot fi factorizați: BC6AF11Ã12864009)
- Cheie Skipjack pe 80 de biți: 54C22E82E4E2F5FD9A5D (poate fi factorizată: 3537Ã197BF2D963817B70B)
- Cheie AES pe 128 de biți: CF15C540E2E43F764B1F995E30BBE883 (poate fi factorizată: BBC80693039D7291Ã11A51051306064BD3)
Acum, fiecare cheie simetrică va fi criptată cu cheia publică RSA:
exponent: 65537, modul: aleatoriu și diferit pentru fiecare criptare
Știu: c (text cifrat RSA), e (exponent), n (modul) din următoarea ecuație:
$c=k^e\bmod n$
și încerc să găsesc k (cheie simetrică)
Pentru a efectua întâlnirea la mijloc, trebuie să fac următoarele:
Pentru cheia simetrică cu spațiu de taste egal cu n (pentru DES $n=2^{56}$, pentru Skipjack $n=2^{80}$, pentru AES $n=2^{128}$) Trebuie să generez tabloul asociativ A (pseudocod):
Acum încerc să găsesc doi factori ai lui k, unul este deja undeva în matricea A, celălalt va fi căutat într-o buclă (pseudocod):