Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Odzyskanie klucza prywatnego do RSA-512. Klucz publiczny + 4 dni + ten poradnik = klucz prywatny.

11 lutego 2022, 13:39 | W biegu | komentarzy 8

Niby dużo osób wie że RSA-512 (chodzi o 512 bitów) już dawno temu został złamany, a chyba najlepszym publicznym wynikiem jest złamanie RSA-829.

Gadu, gadu, ale jak konkretnie na podstawie tylko klucza publicznego odzyskać klucz prywatny? Jakich narzędzi użyć?

Poradnik krok po kroku dostępny jest tutaj.

Autor zaczyna po prostu od wygenerowania testowej pary kluczy i bierze na warsztat klucz publiczny:

$ openssl genrsa -out keypair.pem 512
$ openssl rsa -in keypair.pem -pubout -out pubkey.pub

Sam klucz zapisany szesnastkowo wygląda tak (trzeba go skonwertować na liczbę w formacie dziesiętnym):

Po konwersji będzie to liczba 132560 widoczna nieco niżej w tekście

Później używa narzędzia CADO-NFS:

CADO-NFS is a complete implementation in C/C++ of the Number Field Sieve (NFS) algorithm for factoring integers and computing discrete logarithms in finite fields. It consists in various programs corresponding to all the phases of the algorithm, and a general script that runs them, possibly in parallel over a network of computers.

Czyli:

$ python3 ./cado-nfs.py 13256042284593353982685386592904581600931188946182985378120493025350646620349861342499533434006337407427902755435001220152736225750695462704353038966535639

Po czterech dniach (maszyna z jednym 6-corowym procesorem AMD Ryzen 5 3600 + 64GB RAM):

Mając faktoryzację wystarczy wygenerować klucz prostym skrypcikiem (który autor namierzył na IRC-u – #crypto). Efekt?

Klucz wyglądający idealnie tak samo jak z początku wpisu

Wnioski? Używajcie minimum RSA-2048. Ta rekomendacja jest już ze sporym zapasem, bowiem wspominane wcześniej złamanie RSA-829 wymagało dość dużej mocy obliczeniowej:

The total computation time was roughly 2700 core-years, using Intel Xeon Gold 6130 CPUs as a reference (2.1GHz):

~Michał Sajdak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. chs
    Odpowiedz
  2. Andrzej

    Ile bitów mają klucze do paszport kowidjańskiego?

    Odpowiedz
    • Itnet

      4016

      Odpowiedz
  3. Filip

    A daloby sie to na GPU przepisac? Wtedy by smigalo.

    Odpowiedz
    • AFAIR faktoryzacja umiarkowanie się zrównolegla, więc nie będzie tu dużego boostu (chyba że ktoś posiada inne info? Dajcie znać)

      Odpowiedz
  4. Batrek

    O ile dobrze kojarze to jakis czas temu wykombinowali jak lamiac RSA zejsc z zlozonosci liniowej na pierwiastkowa. Wiec rzeczywiscie „krotsze” RSA mozna dzis dosc prosto zlamac.

    Odpowiedz
  5. Tomasz

    W końcu mamy na świecie gigantyczny komputer rozproszony….. Bitcoiny skądś się biorą. Złamanie 2048 to tylko kwestia potrzeb🤷

    Odpowiedz
  6. kuba
    Odpowiedz

Odpowiedz