Ich habe die Stanford Javascript Crypto Library (SJCL) für die symmetrische AES-Verschlüsselung verwendet (basierend auf den Beispielen auf ihrer Demoseite) . Ich habe jedoch eine zusätzliche Anforderung, ein Schlüsselpaar zu generieren, Daten mit einem öffentlichen Schlüssel zu verschlüsseln und Daten mit einem privaten Schlüssel zu entschlüsseln. Einige der Klassennamen deuten darauf hin, dass dies in SJCL möglich sein könnte, aber ich habe mich gefragt, ob jemand mit einem Beispiel dafür helfen könnte, wie es gemacht wird. Mir geht es in diesem Stadium nicht um den privaten Schlüsselspeicher, sondern nur um die In-Memory-Generierung und die Verwendung eines öffentlichen / privaten Schlüsselpaars.
Wenn es nicht möglich ist, wäre ich an Empfehlungen für eine alternative Bibliothek interessiert, die sowohl die AES- als auch die Public-Key-Kryptographie abdecken wird - aber ich bin mir bewusst, dass ich das selbst erforschen könnte! Hauptsächlich bin ich neugierig, ob die Bibliothek, mit der ich angefangen habe, alle meine Bedürfnisse abdecken kann oder ob ich eine Alternative suchen muss.
Tatsächlich ist es möglich, private / öffentliche Verschlüsselung mit dem ECC-Modul zu implementieren. Wenn Sie ein Profi sind, können Sie die Dokumentation der API unter Ссылка einsehen.
Wenn Sie ein Beispiel dafür möchten, wie es gemacht wird, können Sie
durchgehenSie können hier die SJCL ECC-Implementierung in Aktion sehen (inkl. Schlüsselerzeugung)
Auch das könnte hilfreich sein Ссылка
P.S. Die Elliptische-Kurven-Kryptographie (ECC) ist ein Ansatz zur Kryptographie mit öffentlichem Schlüssel, der auf der algebraischen Struktur elliptischer Kurven über endlichen Feldern basiert. Der öffentliche 256-Bit-ECC-Schlüssel sollte vergleichbare Sicherheit für einen öffentlichen 3072-Bit-RSA-Schlüssel bieten Ссылка
Sieht so aus, als hätten sie das kürzlich veröffentlicht (etwa ein Jahr nach dem ersten Post), aber es gibt ein Tutorial, wie man asymetrische Verschlüsselung macht
Tags und Links javascript cryptography rsa aes sjcl