Algoritmi di crittografia asimmetrica [chiuso]

-6

Quali sono i migliori algoritmi di crittografia asimmetrica là fuori? Sto cercando di utilizzare RSA nel mio progetto in qualunque modo ho letto che non è abbastanza sicuro come altri algoritmi di crittografia asimmetrica.

    
posta Matthew 28.04.2013 - 14:21
fonte

1 risposta

10

"Migliore" implica una gradazione su una scala, che dovrebbe essere definita ...

L'algoritmo di crittografia asimmetrica più comunemente usato è RSA . È abbastanza buono per la maggior parte degli scopi. RSA presenta alcune limitazioni, che sono piuttosto generiche (vale a dire che si applicano anche alla maggior parte degli altri algoritmi di crittografia asimmetrica):

  • Può elaborare solo messaggi di dimensioni limitate (con una chiave RSA a 1024 bit, è possibile crittografare al massimo 117 byte).
  • Implica un overhead di alcune dimensioni (con una chiave RSA a 1024 bit, ottieni un messaggio crittografato a 128 byte, anche se il messaggio di origine ha una dimensione non superiore a 117 byte).
  • È che deve usare un po 'di casualità (la crittografia deterministica asimmetrica è intrinsecamente debole perché consente una ricerca esauriente sul messaggio stesso).
  • Può essere relativamente costoso su architetture molto piccole.

Per aggirare la maggior parte di questi problemi, viene utilizzata la crittografia ibrida : con RSA, si cripta una chiave simmetrica casuale ( vale a dire 128 bit casuali ) e si utilizza tale chiave per crittografare la maggior parte dei dati con un algoritmo di crittografia simmetrica più veloce e meno vincolato come AES .

Un altro algoritmo di crittografia asimmetrica relativamente comune è ElGamal . Le sue varianti di curve ellittiche possono offrire prestazioni migliori rispetto a RSA (sovraccarico più veloce, meno dimensioni), ma la crittografia ibrida è ancora necessaria.

Assemblare correttamente la crittografia asimmetrica e simmetrica non è un compito facile, quindi non diventare creativo e inventare il proprio (è facile avere qualcosa che funziona , ma molto difficile ottenere qualcosa che funzioni sicuro ). Invece, utilizzare un protocollo esistente in cui sono stati elaborati tutti i dettagli difficili; per esempio. OpenPGP .

    
risposta data 28.04.2013 - 15:43
fonte

Leggi altre domande sui tag