Vissza

8. labor: a Diffie-Hellman kulcscsere, digitális aláírások


1. Ha tudjuk, hogy a Diffie-Hellman kulcscseréhez szükséges prímszám a generatorsDH.txt állomány első értéke és ha a generátor elem a további értékek közül valamelyik, szimuláljuk a Diffie-Hellman kulcscsét, majd a meghatározott értéket az AES titkosító kulcsaként alkalmazva, titkosítsunk és fejtsünk vissza egy nagyobb méretű állományt.

2. A crypted8_2.jpg AES-CTR módszerrel volt rejtjelezve, ahol az alkalmazott nonce a titkosított file első 8 bájtja és a counter értéke 1-től indul. Határozzuk meg az eredeti jpg filet, ha az AES 32 bájtos kulcs titkosított értékét a Diffie-Hellman kulcserét alkalmazva lehet meghatározni a következőképpen:

  • olvassuk ki a publikus paramétereket a DHKey8_2.txt állományból, azaz rendre a p, q, r egész számok hexa értékét,
  • olvassuk ki a privát kulcs hexa értékét az APrivFile.txt állományból,
  • olvassuk ki a publikus kulcs hexa értékét az BPubFile.txt állományból,
  • a közös K kulcsból hozzuk létre a 32 bájtos AES kulcsot, alkalmazva az scrypt kulcs deriváló függvényt, ahol a salt hexa értéke: 438bcc1fd2bb1363e90fb6ff4756bc58, a CPU/Memory költség értéke: 2 ** 10, a blokk méret: 8, a párhuzamossági paraméter: 1.

3. Generáljunk véletlenszerűen 2048 bites Diffie-Hellman publikus paramétert, mentsük ki a generált értékeket egy állományba, majd ezeket felhasználva a Schnorr aláírási sémát alkalmazva határozzuk meg egy tetszőleges bájtszekvencia digitális aláírását, illetve ellenőrizzük le a létrehozott aláírást.

4. Generáljunk véletlenszerűen egy 2048 bites RSA kulcspárt, a kulcsokat mentsük ki egy-egy állományba, majd ezeket a kulcsot felhasználva határozzuk meg egy tetszőleges bináris állomány digitális aláírását valamely RSA aláírási sémát alkalmazva, illetve ellenőrizzük le a létrehozott aláírást.