Unterschied zwischen asymmetrischen und symmetrischen Verschlüsselungsmethoden?

7

OK Ich bin verwirrt, wie diese beiden Verschlüsselungsmethoden funktionieren. Ich weiß, dass symmetrisch ist konventionell und verwendet einen gemeinsamen privaten Schlüssel zwischen zwei Benutzern.

Grundsätzlich möchte ich wissen

  1. Die Prinzipien ihrer Arbeitsweise

  2. Ihr Zweck

  3. Ihre relative Leistung

von asymmetrischen und symmetrischen Verschlüsselungsmethoden.

    
user478636 29.03.2011, 21:08
quelle

2 Antworten

20

Ich schlage vor, mit Applied Cryptography zu beginnen. Es ist eine ausgezeichnete Einführung in die Prinzipien der Kryptographie.

Wenn Sie ernsthaft an Kryptographie interessiert sind, empfehle ich dringend das Handbuch der angewandten Kryptographie als ein wunderbares Nachschlagewerk. Es wird zu viel, um es zuerst zu handhaben, aber es ist kostenlos, also schnapp dir jetzt eine Kopie :) und wenn du mit AC fertig bist, lies HAC. (Tatsächlich ist die Hardcover-Ausgabe sehr gut gemacht und viel einfacher zu lesen als ein paar hundert Seiten Laserdruckpapier; ziehen Sie in Erwägung, sie zu kaufen, wenn Ihnen die Optik der PDFs gefällt.)

Symmetrische Verschlüsselung funktioniert, indem geheime Eingabe mit einem geheimen Schlüssel so gemischt wird, dass es (a) schnell (b) die Eingabe oder den Schlüssel nicht von der Ausgabe ableiten kann. Die Details der Mischung variieren beträchtlich, aber es gibt Blockchiffren und Stromchiffren ; Blockchiffren arbeiten, indem sie die Eingabedaten in 8 oder 16 oder 32 Byte Blöcken gleichzeitig betrachten und die Eingabe und den Schlüssel innerhalb dieser Blöcke streuen. Verschiedene Betriebsmodi werden benötigt, um mehr Daten zu verschlüsseln, als in die Blöcke passen, und unterschiedliche Betriebsmodi können sich verbreiten oder nicht Daten zwischen Blöcken auch.

Symmetrische Verschlüsselungscodes sind ideal für die Massenverschlüsselung von Daten von 8 Byte bis 8 Terabyte und die beste Wahl für die Verschlüsselung von Daten .

Die asymmetrische Verschlüsselung funktioniert durch Ausnutzen sehr schwieriger mathematischer Probleme mit Hintertüren , die eine schnelle Lösung des Problems ermöglichen, wenn Sie einen kleinen haben Stück sehr wichtige Daten. Die üblichen mathematischen Probleme sind Factoring großer Zahlen und diskrete Logarithmen . Asymmetrische Algorithmen arbeiten mit einer festen Datengröße, typischerweise 1024-2048 Bits für RSA und El Gamal und 384 Bits für elliptische Kurven Versionen von RSA oder El Gamal. (Elliptische Kurvenversionen verwenden ein anderes Feld als die Ganzzahlen für ihre Berechnungen.) RSA und El Gamal und ähnliche Systeme funktionieren mit einem -Feld , das sowohl eine Multiplikation als auch eine hinzufügen -Operation angibt, und ECC hat eine andere Darstellung dieses Felds, das "mehr" Daten magisch packt Es ist ein super schlauer Weg, bekannte Mechanismen in weniger Speicher zu integrieren, und meine Ein-Satz-Einleitung kann nicht beginnen, ihr gerecht zu werden. Die Einfachheit ist der erstaunliche Teil.)

Die asymmetrische Verschlüsselung hilft, das Schlüsselverteilungsproblem zu lösen, aber nur knapp: anstatt einen O (N ^ 2) Schlüssel zu benötigen Paare zwischen jedem Paar von Leuten, die Kryptographie verwenden wollen, um untereinander zu sprechen, es benötigt O (N) Schlüssel, ein öffentliches / privates Paar pro Person, und jeder muss nur den öffentlichen Teil aller anderen kennen. Dies ist immer noch kein einfaches Problem, wie die Komplexität von x509 demonstriert, sondern Mechanismen wie openPGP und OpenSSH haben einfachere Modelle und Mechanismen, die für viele Anwendungen gut funktionieren.

Asymmetrische Chiffren werden normalerweise verwendet, um Sitzungsschlüssel für symmetrische Verschlüsselungen zu übertragen. Selbst wenn nur eine kleine Datenmenge übertragen wird, bevorzugen Kryptografen typischerweise das Senden der tatsächlichen Daten mit einer symmetrischen Verschlüsselung und das Senden des Schlüssels mit einer asymmetrischen Verschlüsselung. Ein großer Vorteil ist, dass Sie eine Nachricht an hundert verschiedene Empfänger senden können, und die Größe der Nachricht ist O (Größe der Nachricht + 100 * 2048 Bits) - Sie können den Sitzungsschlüssel für jeden der Empfänger einzeln verschlüsseln, und übertragen Sie die Nachricht nur einmal. Großer Erfolg.

Asymmetrische Chiffren werden auch für digitale Signaturen verwendet. Während es möglich ist, eine symmetrische Chiffre für Nachrichtenauthentizität zu verwenden, kann eine symmetrische Chiffre nicht verwendet werden nicht abweisende Signaturen bereitstellen.

Asymmetrische Chiffren eignen sich hervorragend zum Verschlüsseln kleiner Mengen zufälliger oder nicht unterscheidbarer Daten wie Sitzungsschlüssel und Nachricht verdaut . Es ist am besten für Schlüssel und Hash-Werte verwendet wird.

Symmetric Chiffren sind in der Regel viel schneller als asymmetrische Chiffren, sondern weil sie für verschiedene Zwecke verwendet werden, die Geschwindigkeitsdifferenz ist kein Problem in der Praxis. Natürlich können Geschwindigkeiten erheblich durch Algorithmus variieren ( DER ist gottlos langsam in Software und in Hardware schnell sein, aber AES 1,8 bis 3,3-mal schneller für kleine Datenmengen auf meinem System, und könnte wahrscheinlich viel schneller noch in Hardware.)

    
sarnold 29.03.2011, 21:45
quelle
20

Zusammenfassung:

Symmetrische Chiffren: Schneller als asymmetrische Chiffren, erfordert jedoch einen einzelnen Schlüssel, der vom Sender und Empfänger gemeinsam genutzt werden muss. Es ist ein nicht-triviales Problem, diesen Schlüssel auf sichere Weise an beide Parteien zu übertragen.

Asymmetrische Chiffren: Langsamer, löst aber das Schlüsselverteilungsproblem durch die Verwendung von zwei Schlüsseln, von denen einer vollkommen frei zu teilen ist.

In der Praxis können diese kombiniert werden, um das Beste aus beiden Welten zu erhalten (z. B. HTTPS).

    
Willie Wheeler 29.03.2011 21:54
quelle