Calcolo delle prestazioni di decrittografia RSA a 1024 bit [chiuso]

1

Voglio essere in grado di dire quanti tasti al secondo, usando le chiavi RSA a 1024 bit, possono essere controllati su un sistema Pentium 4 standard. Come posso utilizzarlo per determinare le prestazioni di decrittografia e, eventualmente, il tempo rimanente?

    
posta mario 21.08.2012 - 20:55
fonte

2 risposte

2

Le prestazioni dipendono davvero dall'implementazione, dal tipo di processore, dall'orologio del processore e da molti altri fattori. L'utilità della riga di comando OpenSSL include uno strumento di benchmark. Ad esempio:

$ openssl speed rsa1024
Doing 1024 bit private rsa's for 10s: 2430 1024 bit private RSA's in 9.28s
Doing 1024 bit public rsa's for 10s: 48984 1024 bit public RSA's in 9.92s
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jul  3 20:15:19 UTC 2012
options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN
-DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4
-Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2
-Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT
-DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM
-DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.003819s 0.000203s    261.9   4937.9

La macchina su cui ho eseguito questa operazione è nota per essere piuttosto lenta (è un clone VIA C7 x86 a bassa potenza). Un Pentium 4 (che è anche un sistema a 32 bit) dovrebbe funzionare almeno altrettanto rapidamente, ma probabilmente non molto rapidamente (sarei sorpreso se OpenSSL raggiungesse 1000 firme al secondo con RSA 1024 su un Pentium 4).

La traduzione di una figura del genere nelle prestazioni dell'applicazione è un esercizio difficile.

    
risposta data 21.08.2012 - 22:52
fonte
1

Questa domanda è contrassegnata come "forza bruta". Cercando di forzare in modo ingenuo RSA a 1024 bit, provando ogni possibile chiave RSA a 1024 bit, ovviamente non è fattibile. Anche se sei stato in grado di convalidare una chiave in tempo di Planck (Wikipedia) e potresti eseguire questo algoritmo su ogni atomo nell'universo e lo avrebbe fatto dal big bang , non avresti ancora trovato la chiave.

La buona notizia è che ci sono scorciatoie. Un'opzione è la fattorizzazione di interi. Se conosci la chiave pubblica e stai cercando di forzare la chiave privata, puoi provare un algoritmo di fattorizzazione intero . Se hai successo, puoi andare a RSA Laboratories e richiedere il tuo premio di $ 100.000 . Buona fortuna con questo: -).

Un approccio più probabile si basa sul fatto che le coppie di chiavi RSA vengono generalmente scelte utilizzando algoritmi deterministici che partono da un seme pseudo-casuale relativamente breve. Se sai (o puoi indovinare) l'algoritmo usato per scegliere la chiave sotto attacco e il numero di semi possibili è anche limitato (o perché la dimensione del seme è piccola o perché il generatore di numeri pseudo casuali è la settimana) questo potrebbe limitare il numero di possibili chiavi per un numero appetibile Tali attacchi sono stati fatti in passato su chiavi generate da sistemi specifici, ma sono piuttosto rari e molto lontani.

Anche se sei fortunato e l'algoritmo della coppia di chiavi RSA usato è basato su un seme casuale di 16 byte (non ho mai visto niente di più breve di quello), e anche se avessi un computer che potrebbe fare un milione di RSA le operazioni con le chiavi private al secondo (e non lo fai) ti richiederebbero in media circa 6 trilioni di miliardi di anni per forzare la chiave.

Quindi l'unica situazione in cui potrebbe essere possibile oggi forzare una chiave privata RSA a 1024 bit è se il seme pseudo-casuale utilizzato per generare la chiave sia in qualche modo prevedibile e limiti il numero di seme possibile a un numero inferiore a 2 dalla potenza di circa 50. Se ti capita di conoscere un algoritmo così difettoso che è in uso, varrebbe sicuramente la pena un documento di ricerca. In caso contrario, l'algoritmo di fast firte brute sarebbe aspettare che tu possa mettere le mani su un computer quantistico .

    
risposta data 22.08.2012 - 09:36
fonte

Leggi altre domande sui tag