AES_GCMEncryption 2025.04.01,
a nonce értéke a titkosított állomány első 12 bájtja,
a hitelesítő tag pedig a titkosított állomány utolsó 16 bájtja.
Útmutatás: faktorizáljuk az RSA publikus kulcs modulusát Fermat módszerével.
3. Határozzuk meg azt a nyílt szöveget, amelyről tudjuk, hogy három különböző félnek RSA-textbookkal rejtjelezve volt elküldve, ahol a következő linken elérhetőek a felek nyilvános kulcsai, illetve a rejtjelezett szövegek:
key1.txt
key2.txt
key3.txt
cryptE3_1
cryptE3_2
cryptE3_3
Útmutatás: alkalmazzuk a kínai maradéktételt, majd a kapott értéknek határozzuk meg a köbgyökét:
x = nre mod n1,
azaz x = c1 mod n1
x = nre mod n2, azaz x = c2 mod n2
x = nre mod n3, azaz x = c3 mod n3
A köbgyököt meghatározó Python kód:
decimal.getcontext().prec = 100
nr = math.ceil(pow(x, 1/decimal.Decimal(3)))
4. Az RSA kriptorendszer visszafejtésének időigényét gyorsítani lehet, ha alkalmazzuk a
kínai maradéktételt. Alkalmazzuk ezt a gyorsítási folyamatot az RSA-textbook esetében. Írjunk programot, melyben összehasonlítjuk a két visszafejtési algoritmus időigényét.
5. Ugyanaz a szöveg RSA-textbook módszerrel, kétszer volt rejtjelezve. Határozzuk meg az eredeti szöveget, ha tudjuk, hogy a titkosítást különböző exponensekkel legyenek ezek e és f,
de ugyanazzal a modulussal, legyen ez n végezték, ahol (e, f) = 1. A két rejtjelezett szövegnek megfelelő bináris állomány az RSAcr1 és az RSAcr2, a két kulcs, ahol az első érték mindkét esetben a modulus, pedig key_e.txt és key_f.txt állományokban található.
Útmutatás:
- (e, f) = 1, azaz e · x + f·y = 1
- nr = nre·x + f·y = (nr e)x· (nr f)y = cnr1 x · cnr2 y (mod n), ahol nr-nek cnr1 az egyik, cnr2 a másik a titkosított értéke
- az x és y a kiterjesztett Euklideszi algoritmussal határozható meg: alkalmazzuk Pythonban a sympy modulban a gcdx függvényt.
- mindkét titkosított állomány bájtjaiból hozzunk létre egy-egy egész számot, az egyik a cnr1, a másik cnr2 lesz.
6. A crypted7_6.jpg AES-CBC módszerrel volt rejtjelezve, ahol az alkalmazott iv a titkosított file első 16 bájtja. Határozzuk meg az eredeti jpg filet, ha az AES 32 bájtos kulcs titkosított értékét hexában a cryptedAESkey7_6.txt-ben találjuk. Az AES kulcs RSA-OAEP-vel volt titkosítva, ahol az RSA privát kulcs az RSA_privKey7_6.pem állományban található, és adott az állományhoz való hozzáférési jelszó SHA256-os értéke: 591a6e49ad819403426545301221da1764be6c58727b18831cc7d4bf8dbff4e9.
Útmutatás: A jelszó a kövtekező értékek közül valamelyik:
myPassword000, problem7_6, password2025, myPass2025, password7_6