2016-05-23 19 views
2

Man kann eine Datei mit PGP signieren, clearsign Option von in CMD folgenden Befehl AusführenWie funktioniert die ClearSign-Option von GnuPG?

gpg --clearsign filename

Welche Art von Algorithmus ist GnuPG für Clear Option verwendet, so dass auch nach der Unterzeichnung durchgeführt wird, die Ausgangssignatur in lesbar ist Fromat?

Ich las ein Handbuch, das sagte, wie Clearsmarkierung funktioniert, aber ich kann es nicht verstehen. It is available here.

Laut Handbuch wird auf die Signatur eine Rüstung angewendet, die die Signatur unlesbar macht. Aber die Frage war, wie ClearSign die Signatur lesbar macht.

Aber wie kann man die Ausgabe einer Signatur, bestehend aus einem Hash-Algorithmus und einer Verschlüsselungsfunktion, als Klartext steuern?

Wie kann die Ausgabe mithilfe von Hash- und Verschlüsselungsfunktionen in einem lesbaren Bereich von ASCII-Zeichen garantiert werden?

+0

Was meinen Sie mit "Kontrolle der Ausgabe einer Signatur"? Wenn eine Nachricht und ein Hash plus öffentlicher/privater Schlüssel angegeben wird, wird die Signatur eindeutig bestimmt (für RSA). –

+0

Ich würde sagen, die Rüstung macht es lesbar (für Mail-Clients), die zugrundeliegende Binärversion könnte leicht in einigen Dateiformaten verstümmelt werden. –

Antwort

5

Die Signatur ist immer binär, wirklich. Die clearsign bedeutet nur, dass die Signatur nicht über die komprimierte Nachricht, sondern über die ursprüngliche Nachricht berechnet wird, wenn sie im Textformat vorliegt. Dies bedeutet, dass die signierte Nachricht für den Empfänger noch lesbar ist (nach dem Header ----BEGIN PGP SIGNED MESSAGE----), was bedeutet, dass der Empfänger in einer Mail die Nachricht immer noch lesen kann, ohne ein PGP-Programm durchlaufen zu müssen. Der Empfänger benötigt noch ein solches Programm, um die Signatur zu verifizieren.

Da die Signatur immer binär ist, aber manchmal in einem Textformat gesendet werden muss, bedeutet dies, dass die Signatur als base64 kodiert ist, um sicherzustellen, dass sie auch im Textformat vorliegt. Wenn Sie nicht clearsign, aber sign tun, wird die gesamte Nachricht zuerst komprimiert und dann signiert und die Summe ist Base64-codiert. Die Nachricht wäre für jeden noch lesbar (nach base64 Dekodierung und Dekomprimierung). Daher wird die standardmäßige ASCII-Rüstungskodierung verwendet, um eine druckbare ASCII-Ausgabe zu garantieren. Aber diese endgültige Codierung dient nur der Bequemlichkeit, die zugrunde liegende binäre Form ist die tatsächliche Signatur, die verifiziert wird.