Ich versuche, den Mechanismus der Verschlüsselung im Web zu verstehen. Eines ist mir an dieser Stelle nicht klar: Wenn ich zum Beispiel google.com Zertifikat überprüfe, kann ich sehen, dass der öffentliche Schlüssel 4320 Bit lang ist, aber Chrome zeigt, dass die Verbindung mit AES_128_GCM verschlüsselt ist, dass ich würde erwarten, mit 128-Bit-Schlüsseln zu arbeiten. Was fehlt mir hier?Länge des öffentlichen Schlüssels vs Verschlüsselungsalgorithmus
Antwort
Die 4320 Bits im Algorithmus des öffentlichen Schlüssels werden verwendet, um die 128 Bits im symmetrischen Schlüsselalgorithmus zu verschlüsseln. Der öffentliche Schlüssel stellt einen sicheren Kommunikationskanal zwischen zwei Parteien her, die ursprünglich keinen gemeinsamen Schlüssel haben. Betrachten Sie dies als einen Kanal mit geringer Bandbreite, der aufgrund der rechenintensiven Natur des Algorithmus mit öffentlichem Schlüssel nicht sehr nützlich ist. In der Praxis besteht die einzige Verwendung dieses öffentlichen Schlüssels darin, einen gemeinsamen Schlüssel zu kommunizieren, um einen Kanal mit hoher Bandbreite einzurichten, der etwa AES verwendet (was erfordert, dass beide Parteien den gleichen Schlüssel haben). Der Gesamtprozess ist ein Beispiel für eine hybrid cryptosystem.
Der gesamte Prozess ist mehr beteiligt, aber hier sind die Grundlage, um die Frage zu beantworten.
Die Daten sind mit einem symmetrischen Algorithmus wie AES verschlüsselt, sie sind schnell, sicher und können jede Datenlänge verarbeiten.
Der symmetrische Schlüssel wird durch einen asymetrischen Algorithmus als RSA oder EC verschlüsselt, sie sind langsam und die Datenlänge ist durch die Schlüssellänge begrenzt.
Es gibt viele Artikel im Internet über HTTPS, es kann ziemlich kompliziert werden.
- 1. MySQL ändern Länge des Schlüssels
- 2. Abfrage Abfrage zum Abrufen des öffentlichen Schlüssels vom öffentlichen Schlüsselserver
- 3. Beeinflusst die Länge des Schlüssels die Wörterbuchleistung?
- 4. Verwenden des öffentlichen Schlüssels der signierten Assembly als Sicherheitsmaßnahme
- 5. Lesen des öffentlichen/privaten Schlüssels aus dem Speicher mit OpenSSL
- 6. Verwenden des öffentlichen Schlüssels von authorized_keys mit Java-Sicherheit
- 7. Python-API zum Abrufen des öffentlichen PGP-Schlüssels vom Schlüsselserver?
- 8. ssh-rsa Validierung des öffentlichen Schlüssels mit einem regulären Ausdruck
- 9. Extrahieren des öffentlichen Schlüssels aus dem Zertifikat im DER-Format
- 10. Senden des öffentlichen Android Market-Schlüssels über das Internet
- 11. Get Länge des gleichen Schlüssels in Array von Javascript-Objekten
- 12. Serialisieren und Deserialisieren eines öffentlichen RSA-Schlüssels
- 13. Zuweisen eines öffentlichen Schlüssels zum Benutzer-Login
- 14. Privat vs öffentlichen Variablen
- 15. eindimensionale Array Shapes (Länge,) vs. (Länge 1) vs. (Länge)
- 16. Reagieren: Leistungssteigerung des Schlüssels
- 17. Lesen eines ASN.1 DER-codierten öffentlichen RSA-Schlüssels
- 18. Erstellen eines öffentlichen RSA-Schlüssels aus seinem Modul und Exponenten
- 19. Wie Wiederherstellen eines öffentlichen RSA-Schlüssels aus einem Byte [] -Array?
- 20. Senden eines öffentlichen Schlüssels in Pynacl als JSON-Objekt
- 21. Abrufen des JSON-Schlüssels und des Werts
- 22. Überprüfung des Host-Schlüssels fehlgeschlagen
- 23. onSharedPreferencesChangeListener mit Wert des Schlüssels?
- 24. Verschlüsseln von E-Mails in C# mithilfe des öffentlichen PGP-Schlüssels
- 25. Befehl ssh-keygen in Java zum Extrahieren des öffentlichen Schlüssels aus dem privaten Schlüssel
- 26. Was ist der Einsatz für die Benutzername und Hostnamen an der ENDOF des öffentlichen RSA-Schlüssels
- 27. Verifizieren von mit dem RS256-Algorithmus signierten JWT unter Verwendung des öffentlichen Schlüssels in C#
- 28. Web-basierte Methode zum Abrufen des öffentlichen Schlüssels aus der .pem-Datei
- 29. Länge vs Präzision
- 30. Wie ermitteln Sie die Größe des öffentlichen Schlüssels aus der CSR-Datei mit Bouncy Castle in Java?
Danke für die Antwort. Also, um zu überprüfen, ob ich es richtig verstanden habe, ist der öffentliche Schlüssel der im Zertifikat (er ist weder verschlüsselt noch hashed), aber die eigentliche Datenverschlüsselung erfolgt mit symmetrischer Schlüsselverschlüsselung (unter Verwendung von public/private) Schlüsselverschlüsselung nur, um den symmetrischen Schlüsseltransfer unter sicheren Bedingungen zu gewährleisten) – Zack
Ja. Das erste öffentliche Schlüsselsystem war der Diffie-Hellman-Schlüsselaustausch, der keinerlei Informationen übermittelte, aber zwei Parteien erlaubte, sich sicher auf einen gemeinsamen Schlüssel zu einigen. Spätere Systeme (z. B. RSA, ElGamal) ermöglichen, dass tatsächliche Daten übertragen werden, aber in der Praxis werden sie ähnlich wie Diffie-Hellman verwendet - nur um einen gemeinsamen Schlüssel zu erstellen. –