In che modo i seguenti formati chiave sono più sicuri e meno sicuri: RSA, ECDSA, ED25519 [duplicato]

1

Nell'esaminare le informazioni disponibili sulla rete, vedo una quantità di informazioni contrastanti sui formati di chiavi RSA, ECDSA ed ED25519.

Comprendo che RSA è il più universale al momento.

Dalla mia lettura sembra in ordine di sicurezza, l'ordine è per lo più meno sicuro: ED25519, RSA, ECDSA.

Non capisco qualcosa qui?

Non sto cercando quando usarlo, piuttosto sto cercando una classifica basata sulla sicurezza della chiave. Attualmente utilizzo una chiave LONG RSA (> 4096 bit).

    
posta mdpc 20.12.2016 - 23:58
fonte

2 risposte

2

"Il che è più sicuro" non è la migliore domanda da porre. Tutti sono sufficientemente sicuri fintanto che:

  1. Sono implementati e utilizzati correttamente;
  2. Sono utilizzati con una dimensione della chiave sufficientemente grande.

ECDSA e Ed25519 sono basati su curve ellittiche . Il vantaggio è che possono raggiungere lo stesso obiettivo di sicurezza con chiavi più brevi di quelle richieste da RSA, il che si traduce in prestazioni migliori. Le chiavi a curve ellittiche a 256-bit sono generalmente intese a fornire sicurezza simile a cifrari simmetrici a 128 bit come AES-128. Con RSA, le chiavi da 2.048 bit sono considerate le attuali dimensioni minime della chiave sicura, fornendo qualcosa come la sicurezza a 112 bit (che non è meno sicura in pratica della sicurezza a 128 bit).

Il sito KeyLength contiene vari consigli per la dimensione della chiave per questi algoritmi.

Ed25519 è più recente di ECDSA. I suoi principali vantaggi sono velocità, semplicità e infallibilità : entrambi sono sicuri se usati correttamente, ma ECDSA è più difficile da usare correttamente. L'errore ECDSA più famoso è Bug della firma PS3 di Sony , causato dai programmatori di Sony che hanno implementato ECDSA in modo errato. Ed25519 non è vulnerabile all'errore commesso dai programmatori di Sony, né ad altri "trucchi" che sono le implementazioni ECDSA.

Quindi è ampiamente ritenuto che Ed25519 sia il migliore dei tre, poiché fornisce:

  1. Una sicurezza sufficiente per il prossimo futuro. (Tutti e tre saranno brindisi se viene costruito un computer quantistico pratico).
  2. Molto buono a prova di errore - meno vulnerabile agli errori del programmatore e dell'utente;
  3. Tasti più piccoli e prestazioni molto veloci.

... ma nessuno di questi fattori dovrebbe impedirti di utilizzare ECDSA o RSA se, per esempio, stai utilizzando un sistema in cui uno di questi è disponibile ma non lo è Ed25519. Allo stesso modo, se si dispone di un sistema che utilizza RSA o ECDSA, probabilmente non ha senso aggiornarlo a Ed25519. Anche RSA ed ECDSA hanno l'approvazione NIST e NSA e Ed25519 no, quindi se questo è importante per te allora Ed25519 è fuori.

    
risposta data 21.12.2016 - 01:17
fonte
1

Dichiarazione di non responsabilità: non sono un crittografo o un ingegnere crittografico; Non ho mai implementato o rotto cattive implementazioni di nessuno di questi algoritmi.

Per ECDSA è necessario specificare la curva e la sicurezza che il proprio CSPRNG non ha alcun pregiudizio. Per RSA, è necessario specificare la dimensione della chiave e anche lo schema di riempimento (è PKCS # 1 v1.5 o PKCS # 1 v2 con RSASSA-PSS)?

ECDSA è spaventoso perché richiede un generatore di numeri casuali di qualità superiore rispetto a qualsiasi altro primitivo crittografico (un RNG che sarebbe sicuro con RSA potrebbe esporre la tua chiave privata ECDSA).

RSA fa paura perché è difficile da implementare in modo sicuro.

Ed25519 dovrebbe essere sicuro come RSA a 3072 bit con RSASSA-PSS e sicuro come ECDSA su NIST P-256. Presumibilmente, Ed25519 è più facile da implementare in modo sicuro, ed inoltre è più veloce. È anche più recente (ma è abbastanza vecchio che tutti hanno abbastanza tempo per tentare di romperlo), progettato per essere migliore di RSA e ECDSA, ed è per djb e alcune persone pensano che sia importante.

Valuterei RSA4096 > Ed25519 > ECDSA P-256 per sicurezza, se la tua implementazione RSA è stata rivista e testata in battaglia.

Vorrei usare Ed25519 > RSA4096 > ECDSA P-256 per implementazioni medie, a causa delle differenze nella misura in cui è difficile implementarle in modo sicuro.

    
risposta data 21.12.2016 - 00:25
fonte

Leggi altre domande sui tag