Cifratura di dati corti con solo RSA?

3

Ho un caso in cui ho bisogno di creare account di recupero e voglio crearli in modo che nessuno conosca la password per loro fino a quando non è necessario. Quindi, ho pensato che lo avrei fatto usando RSA - quando l'account è creato tramite codice, genererà una password casuale che verrà poi crittografata con una chiave pubblica e memorizzata per un eventuale uso successivo.

Poiché il testo in chiaro sarà breve, diciamo 160 bit con una password alfanumerica di 20 caratteri, non è necessario eseguire la crittografia simmetrica RSA- > AES. Tuttavia, questo mi fa riflettere sulle implicazioni per la sicurezza:

Poiché un utente malintenzionato potrebbe ottenere l'accesso alla chiave pubblica e alla password crittografata, un attacco di testo in chiaro scelto potrebbe provare a eseguire la bruteforce della password poiché l'RSA è normalmente deterministico. Tuttavia, se utilizzo PKCS # 1 padding v1.5 (o OAEP), dovrebbe essere coperto, giusto? O dovrebbe esserci un padding casuale (comunque) - il testo in chiaro è limitato nella portata e nella lunghezza?

    
posta lumes 15.02.2015 - 21:00
fonte

2 risposte

3

Bene, hai detto che "RSA è normalmente deterministico", ma questo è il punto: RSA encryption è normalmente non -deterministico. Con "normalmente" intendo "quando viene eseguito come descritto nello standard pertinente", ovvero PKCS # 1 . Sia il vecchio ("v1.5") che il nuovo ("OAEP") metodi di crittografia RSA includono la casualità, e questo è volontario: questo è precisamente per impedire una ricerca esauriente sul testo in chiaro.

L'operazione che sta alla base di RSA (l'esponenziazione modulare) è deterministica, ma non lasciarti ingannare; La crittografia asimmetrica RSA, proprio come qualsiasi altra decente crittografia asimmetrica, è randomizzata.

(Alcune persone chiamano il "libro di testo RSA" ad alta definizione modulare come se fosse un algoritmo a sé stante, ma è solo sbagliato e confuso.)

    
risposta data 15.02.2015 - 23:30
fonte
1

Hai ragione a dire che devi introdurre casualità per mitigare un attacco di testo in chiaro scelto. Non sono un crittografo, ma noto che OAEP richiede un input casuale e mi sembra sufficiente. OAEP è stato inventato proprio per questo scopo.

    
risposta data 15.02.2015 - 21:09
fonte

Leggi altre domande sui tag