Frage

Was sind die Unterschiede zwischen SHA1 und RSA? Sind sie nur verschiedene Algorithmen oder sind sie im Grunde (das heißt für verschiedene Dinge verwendet wird) unterschiedlich auf einer bestimmten Ebene.

War es hilfreich?

Lösung

Grundsätzlich anders.

SHA1 ist ein Hash-Algorithmus, der eine Einwegfunktion ist, eine Eingabe von jeder Größe in eine Festlängenausgabe (160 Bit in diesem Fall) drehen. Eine kryptographische Hash-Funktion ist ein, für die es nicht möglich sein sollte, zwei Eingänge geben die gleiche Leistung zu finden, außer mit roher Gewalt (zum Beispiel mit einer 128-Bit-Funktion sollten Sie durchschnittlich versuchen müssen auf 2 ^ 64 Nachricht einer solche zu finden „Kollision“ wegen etwas das Geburtstagsparadoxon genannt -. Google es für mehr)

In der Tat für SHA1 ist dies nicht mehr der Fall ist - der Algorithmus (in kryptographischen Bedingungen zumindest) gebrochen jetzt, mit einem Kollisionsangriff von Xiaoyun Wang et al, das einen klassischen Geburtstagsangriff schlägt. Die SHA2-Familie ist nicht gebrochen, und ein Prozess ist im Gang durch NIST auf einem SHA3 Algorithmus oder eine Familie von Algorithmen zu vereinbaren.

Bearbeiten -. Google hat nun generiert und veröffentlichte eine tatsächliche SHA1 Kollision

RSA ist ein asymmetrischer Verschlüsselungsalgorithmus, einen Eingangs in einen Ausgang Verschlüsselung, die dann entschlüsselt werden kann (einen Hash-Algorithmus Kontrast, der umgekehrt werden kann). Es verwendet einen anderen Schlüssel für die Verschlüsselung (die Öffentlichkeit ein) als für die Entschlüsselung (die privaten). Dies kann deshalb verwendet werden, um verschlüsselte Nachrichten von anderen zu erhalten -. Sie Ihren öffentlichen Schlüssel veröffentlichen können, aber nur mit Ihnen den privaten Schlüssel können dann die Nachrichten entschlüsseln, die mit ihm verschlüsselt wurden

Wenn Sie die Schlüssel für RSA umkehren, kann es verwendet werden, um eine digitale Signatur zu erzeugen - durch etwas mit Ihrem privaten Schlüssel verschlüsselt, jeder kann es mit dem öffentlichen Schlüssel entschlüsseln und, wenn sie sicher sind, die öffentlichen Schlüssel gehören Sie, dann haben sie das Vertrauen, dass Sie waren es, die die ursprüngliche verschlüsselt. Dies wird in der Regel in Verbindung mit einer Hash-Funktion getan - Sie hash Ihre Eingabe, verschlüsselt dann, dass mit Ihrem privaten Schlüssel, eine digitale Signatur einer festen Länge für Ihre Eingabe Meldung geben

.

Andere Tipps

Antworten vor sind bereits ausreichend Erklärungen. Aber ich denke, dass Sie diese Frage stellen, nur weil SHA und RSA oft kommen together.So mich lassen erklären, warum.

Zuerst beachten Sie, dass

RSA ist nicht effizient, aber SHA ist.

Nehmen wir laden Sie Windows 7, und sicherstellen möchten, wenn es original Windows 7 von Microsoft ist. Wenn Microsoft verschlüsselt nur Windows 7 von RSA, wird es dauert eine wirklich lange Zeit zu tun, dass wir es überhaupt nicht ausstehen können. So Microsoft verwendet SHA1 auf Windows 7 und erzeugt einen 128 Bit langen Daten. Und dann Microsoft verschlüsselt diese 128 Bit lange Daten mit RSA (mit seinem privaten Schlüssel verwenden).

Dann alles, was Sie tun müssen, ist, dass Ihre öffentlichen Schlüssel sicher von Microsoft. Und dann SHA1 verwenden, um eine 128 Bit lange Daten zu generieren. Und dann die öffentlichen Schlüssel von RSA verwenden, um die Signatur von Microsoft zu entschlüsseln. Dann vergleichen Sie nur die zwei 128 Bit lange Daten, um zu sehen, ob sie übereinstimmen.

SHA1 ist ein Hash-Algorithmus (Document und Zertifizierung Unterzeichnung), während RSA ist ein Verschlüsselungs- / Entschlüsselungs-Algorithmus (Secure Kommunikation).

Wie andere bemerkt haben, sind sie grundsätzlich verschiedene Dinge verschiedenen Funktionen dienen. Sie verwenden RSA Informationen in eine scheinbar zufällige Form zu krabbeln, während Sie SHA1 verwenden, um die Integrität der Nachricht zu gewährleisten (das heißt keines der Bits geändert haben). In einer Sicherheitsanwendung, werden Sie eine oder beide verwenden, je nachdem, welche Funktionalität die Sie benötigen.

SHA1 ist eine kryptographische Hash-Funktion, während RSA ein Algorithmus für die Verschlüsselung ist.

Eine Hash-Funktion nimmt ein Stück von Daten und eine Reihe von festgelegter Länge zurückzukehren. In einer verschlüsselten Hash-Funktion aller Rückgabe Strings hat die gleiche Wahrscheinlichkeit. Gegeben nur der Hash-Nummer können Sie die Eingabe nicht bestimmen, noch können Sie einen anderen Eingang finden, die denselben Hash (excpetion mit einem sehr, sehr geringe Wahrscheinlichkeit) verursacht. Sha1 hat einige Sicherheitslücken.

Ein Algorithmus für die Verschlüsselung gibt nimmt ein Stück von Daten, aber der Ausgang ist nicht feste Länge - Ihre Verschlüsselung. In Anbetracht der Ausgang (der Verschlüsselung) Sie können (wenn Sie die richtigen Tasten haben), um die Eingabe zu bestimmen.

Der Secure Hash Algorithm (SHA) Algorithmus nimmt eine Nachricht von weniger als 264 Bits in der Länge und erzeugt einen 160-Bit-Message-Digest. Der Algorithmus ist etwas langsamer als MD5, aber die größeren Message Digest macht es sicherer gegen Brute-Force-Kollision und Inversion-Attacken. Der Algorithmus in der Secure Hash spezifizierten Standard (SHS, FIPS 180), wurde von NIST entwickelt. SHA-1 ist eine Revision zu SHA, die im Jahr 1994 veröffentlicht wurden; die Revision nicht veröffentlichten korrigiert einen Fehler in SHA. Sein Design ist sehr ähnlich wie die MD4-Familie von Hash-Funktionen entwickelt von Rivest. SHA-1 ist auch in dem ANSI X9.30-Standard beschrieben.

RSA ist ein Algorithmus für Public-Key-Kryptographie. Es ist der erste Algorithmus in Public-Key-Kryptographie als geeignet für die Unterzeichnung sowie Verschlüsselung und einen der ersten großen Fortschritte bekannt. RSA ist weit verbreitet in der elektronischen Geschäftsverkehr Protokollen verwendet, und wird angenommen, sicher gegeben ausreichend langer Schlüssel zu sein, und die Verwendung von up-to-date-Implementierungen.

Der bemerkenswerteste Unterschied ist, dass SHA ein Verschlüsselungsalgorithmus ist, während RSA sowohl eine Verschlüsselung als auch Signieralgorithmus ist.

Am 2005.08.16 wurde bekannt, dass es möglich ist, eine Kollision in SHA-1 in 2 ^ 63 Operationen zu finden. Dieses Forschungsergebnis ist Professor Xiaoyun Wang von der Tsinghua-Universität in Peking durch, zusammen mit den Professoren Andrew Yao und Frances Yao. Es erstreckt sich die Arbeit von Wang, Yin und Yu, die zeigte, dass eine Kollision könnte in 2 ^ 69 Operationen finden. Was das bedeutet, ist, dass es einfacher ist, für eine Kollision in SHA auftritt als in RSA -. Aber vor allem haben keine zwei ähnlichen Schlüssel jemals gefunden, dass kollidierte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top