Frage

Ich habe auf einem System gearbeitet, die in einer großen Anzahl von Dateien asymmetrische Verschlüsselung verwendet. Ich bin derzeit mit RSA mit 4096-Bit-Schlüsseln für jede Datei ein 256-Bit-AES zufällig generierten Schlüssel zu verschlüsseln, aber die Leistung etwas fehlt, als eine erforderliche Operation ist durch alle Dateien (geschätzte Zahl zu scannen, wenn das System in Einsatz ist rund 10.000) und identifizieren, welche davon entschlüsselt werden kann, einen bestimmten privaten Schlüssel. Während ich diese Operation nicht erwarten, sofort zu sein, ist es im Moment zu lange dauert (~ 2 Dateien pro Sekunde verarbeitet). Ich hielt die Schlüssellänge zu reduzieren, sondern sogar bis zu 2048 Bit Aufnahme nicht bietet das Leistungsniveau ich brauche. 512 Bits würde nur etwa Schnitt, aber als solche Schlüssel jetzt trivialer geknackt werden kann, das der Frage aus.

Kann jemand Punkt mich in die Richtung eines Systems, das schneller, aber ähnlicher Verschlüsselungsstärke ist? Es müßte ordentlich über einen Java JCA-Anbieter (zum Beispiel so etwas wie bouncycastle), um Plug in meine bestehenden Anwendung umgesetzt werden. Ich weiß, Hüpfburg unterstützt El Gamal, aber ich kann keine Angaben finden, wie stark dieser Algorithmus ist, oder wenn es sogar wahrscheinlich schneller als RSA sein soll. Ich auch hören über Elliptische-Kurven-Systeme, die nur relativ kurze Schlüssel benötigen (384 Bit oder dergleichen), aber nicht wissen, wo eine Implementierung einer von diesen zu finden.

War es hilfreich?

Lösung

Für Ihre Frage gefragt, versuchen Diffie-Hellman über elliptische Kurven, die auch als „ECDH“ bekannt. Abschätzen Sicherheit ist ein bisschen schwierig, wenn wir mit Größen umgehen, die nicht mit der aktuellen Technologie geknackt werden, da dies davon abhängt, wie wir setzen auf zukünftige technologische Entwicklungen. Dennoch kann man sagen, dass ECDH über die P-256-Kurve stellt „128 Bit“ der Sicherheit, ein Niveau, das ähnlich ist, was man von 2048-Bit-RSA bekommen würde. Dieses Niveau ist für alle gängigen Nutzungen weitgehend ausreichend, oder genauer gesagt in geeigneter Weise, wenn P-256 ist nicht genug für Sie dann Ihr Problem haben ganz besondere Bedürfnisse und Verschlüsselungsstärke ist wahrscheinlich die am wenigsten Sorgen sein.

Auf meinem PC (ein 2,4 Ghz Intel Core 2, 64-Bit-Modus, Linux läuft), OpenSSL Ansprüche pro Sekunde etwa 900 ECDH Instanzen crunch aus, einen einzigen Kern verwendet wird.

Edit: für die Abschätzung der Schlüsselsicherheit, abhängig von der Länge, für mehrere Algorithmen finden Sie unter diese Seite .

Andere Tipps

Warum nicht Sie berechnen einen kryptographisch starken Hash jeder Taste, und dann das Speichern im klaren mit jedem Dateinamen? Dann, da ein Schlüssel, dass Sie gegen alle Dateien entsprechen müssen, können Sie einfach den Schlüssel Hash und es in der Tabelle nachschlagen.

würde ich für einen Ansatz gehen, die weniger RSA-Operationen erfordern. SSL / TLS, obwohl sie RSA verwenden usw. für AES etc Schlüssel verschlüsselt, kann AES nicht für die Daten verwenden, nur weil es eine rechenintensive Betrieb bei ausreichend großen Schlüsselgrößen ist für die Sicherheit auf einer Pro-Paket durchgeführt werden, oder in Ihrem Fall pro-Datei-Basis.

Ein weiteres Public-Key-System ist: http://en.wikipedia.org/wiki/ElGamal_encryption. Sicherheit-weise ich glaube, es ist noch gebrochen werden muss, aber persönlich würde jetzt mein Vertrauen in RSA setzen. Ich weiß nicht, ob es irgendwelche Elliptische-Kurven-Verschlüsselungsalgorithmen derzeit verfügbar sind -., Das heißt ich weiß, dass sie erforscht werden aber verstehen, dass sie für den produktiven Einsatz nicht bereit sein, und ich hörte, gab es Patentfragen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top