Peter II schrieb:
>> Warum muss ich bei Public-Key-Verfahren eine Nachricht verschlüsseln UND
>> signieren?
>
> bei https werden die Nachrichten nicht Signiert. Die Daten werden nur
> AES (oder ähnlich) verschlüsselt. Beim Schlüsselaustausch werden
> Zertifikate geprüft, diese sind Signiert.
Das stimmt so nicht. Natürlich ist eine Signatur nach dem Aushandeln
eines symmetrischen Schlüssels nicht mehr notwendig. Vorher aber, und
das ist genau die Phase wo Public-Key Verfahren zum Einsatz kommen,
braucht man natürlich Signaturen. Konkret bei der Verifikation des
Serverzertifikats.
Frank schrieb:
> Angenommen, ich habe einen lesbaren Klartext. Wenn ich den mit meinem
> privaten Schlüssel verschlüssele und der Empfänger kennt sicher meinen
> öffentlichen Schlüssel, dann kommt bei ihm wieder lesbarer Klartext
> raus. Es wäre also offenkundig, dass die Nachricht A) nicht verändert
> wurde und B) wirklich von mir stammt. Denn ohne den korrekten
> öffentlichen Schlüssel käme kein sinnvoller Text raus.
Was ein sinnvoller Text ist, liegt immer im Auge des Betrachters. Was
mancherorts im Internet verzapft wird, könnte jedenfalls kein
Algorithmus als lesbaren Text erkennen. Grundsätzlich findet eine
Überprüfung ob etwas richtig oder falsch entschlüsselt wurde, mit einer
Prüfsumme oder einem Hash statt. Das funktioniert dann bei Musikdateien
genau wie bei Texten.
Der Grund, dass man eine Signatur braucht liegt eben darin, dass man bei
asymmetrischen Verfahren immer nur eins von beidem erreicht:
-Verschlüsselt man mit dem public key, ist die Nachricht vor Mitlesern
geschützt. Die Authentizität lässt sich aber nicht feststellen, weil
jeder die Nachricht mit dem öffentlichen Schlüssel hätte verschlüsseln
können.
-Verschlüsselt man mit dem private key ("Signieren"), weiß man sicher
wer es verschlüsselt hat, aber dafür kann es jeder lesen.
In der Realität bildet man einen Hash über die Nachricht, und
verschlüsselt den dann mit dem Private Key. Das ist dann die Signatur.