2010-06-22 4 views
6

Finora l'ho visto solo utilizzato nelle firme digitali e nei protocolli di accordi chiave. Può essere usato come RSA per crittografare effettivamente i dati? Ci sono delle librerie per questo?È possibile utilizzare la crittografia a curve ellittiche per crittografare i dati?

Modificato:

ho bisogno di qualcosa come RSA. Cifra i dati con la chiave pubblica del destinatario, in modo che possa decifrarlo con la sua chiave privata.

So che ECDH può essere utilizzato per inviare un valore segreto a qualcuno ma non si decide quali dati vengono inviati. A differenza del DH "normale" con ECDH, il valore segreto risultante è sempre lo stesso poiché dipende solo dai keypair. Credo che potrei usare questo valore come chiave per un cifrario simmetrico e criptare un'altra chiave che è stata scelta da me e crittografare i dati con quella chiave (se voglio supportare più ricevitori). E 'un buon modo?

+0

Questa è una query interessante. Qual è stato l'approccio finale che hai adottato per utilizzare ECC per il trasporto delle chiavi? – Raj

risposta

4

Può essere utilizzato con il costrutto in stile ElGamal per crittografare i bit. Un'istanza più moderna di questo è lo schema IES, ECIES nel tuo caso. Bouncycastle supporta questo con la classe IESEngine. In particolare, lo first constructor fa quello che sembra che tu stia cercando di fare.

+0

Questo sembra buono. Grazie. – stribika

0

Come RSA, è necessario utilizzare ECC per crittografare i dati. In realtà, questa modalità è utilizzata per i protocolli di keying.

Come RSA, ECC è relativamente lento, quindi è più comune negoziare le chiavi di sessione utilizzando ECC e passare a cifrature simmetriche dopo averne scelto uno.

+1

Come può essere usato come RSA? Tutti i protocolli di codifica che sono a conoscenza dell'uso di ECC sono un accordo chiave, mentre RSA viene solitamente utilizzato per il trasporto delle chiavi. –

+1

Intendi dire ECDH? Non lo faccio in realtà crittografare i dati. In realtà non decidi quali sono i dati segreti che invii. Dipende da entrambi i keypair. Ho bisogno di qualcosa come le e-mail crittografate RSA in cui si sceglie una chiave simmetrica casuale e si codifica con una o più chiavi pubbliche. Modificherò la domanda per renderla più chiara. – stribika

2

Curva ellittica Lo schema di crittografia di Elgamal è funzionale allo scopo. Utilizza la chiave pubblica per crittografare e la chiave privata corrispondente per decifrare il testo cifrato.