DSA-Verschlüsselung
-
Hi,
ich habe ein kleines Problem, bei dem ich leider trotz intensiven googelns nicht weiter komme: ich will einfach eine zufällig generierte Zeichenkette mit dem öffentlichen DSA-Key von OpenSSH (soll unter Linux laufen -> muss .ssh/id_dsa.pub verwenden) verschlüsseln und auf der anderen Seite mit dem privaten Schlüssel entschlüsseln und zurückschicken (Challenge-Response-Verfahren).
Mein eigentliches Problem: wie verschlüssel und entschlüssel ich die Daten, OHNE einen neuen Key zu generieren, sondern stattdessen den OpenSSH-DSA-Key zu verwenden? Ich brauche zwei einfache fertige Funktionen:
void encryptDSA( const std::string & public_key, const std::string & in_buf, std::string & out_buf ) { ... } void decryptDSA( const std::string & private_key, const std::string & in_buf, std::string & out_buf ) { ... }
Hat da jemand was fertiges?? Ich finde einfach nix...
-
Mit DSA kannst du nicht verschlüsseln, sondern nur Daten signieren! DSA = Digital Signature Algorithm.
-
Jo, aber du verschlüsselst die Signatur. Die kann ja meinen in_buf in encryptDSA darstellen... mir geht es um eine einfache Implementation des DSA-Algorithmuses.
-
im prinzip brauche ich nur eine einfache implementierung für ein challenge-response-verfahren. Muss ja nicht mal DSA o.ä. sein...
-
DSA Implementierungen solltest du wie Sand am Meer finden. libgcrypt zum Beispiel.
-
kingruedi schrieb:
DSA Implementierungen solltest du wie Sand am Meer finden. libgcrypt zum Beispiel.
hab mich inzwischen mit openssl angefreundet...