Was ist der häufig verwendete Algorithmus für digitale Signaturen?
Es gibt viele Möglichkeiten, digitale Signaturen zu implementieren. Derzeit wird die Verschlüsselungstechnologie mit öffentlichen Schlüsseln hauptsächlich für digitale Signaturen verwendet. 1994 kündigte das American Institute of Standards and Technology den Standard für digitale Signaturen an, wodurch die Verschlüsselungstechnologie mit öffentlichen Schlüsseln weit verbreitet ist.
Das Public-Key-Verschlüsselungssystem verwendet einen asymmetrischen Verschlüsselungsalgorithmus. Unter diesen ist DES ein symmetrischer Verschlüsselungsalgorithmus, EDI kein Verschlüsselungsalgorithmus und RSA und 13SA sind beide asymmetrische Verschlüsselungsalgorithmen. Dies ist der erste Algorithmus, der sowohl für die Datenverschlüsselung als auch für digitale Signaturen verwendet werden kann. Es ist leicht zu verstehen und zu bedienen, bietet eine hohe Sicherheit und wird häufig verwendet.
Der RSA-Verschlüsselungsalgorithmus ist ein asymmetrischer Verschlüsselungsalgorithmus. RSA wird häufig in der Public-Key-Verschlüsselung und im elektronischen Handel eingesetzt. (Empfohlenes Lernen: Web-Frontend-Video-Tutorial)
RSA wurde 1977 von Ron Rivest, Adi Shamir und Leonard entwickelt · Gemeinsam mit Leonard Adleman vorgeschlagen.
Alle drei arbeiteten damals am MIT. RSA besteht aus den Anfangsbuchstaben ihrer Nachnamen, die zusammen geschrieben werden.
Im Jahr 1973 schlug Clifford Cocks, ein Mathematiker, der in der Kommunikationszentrale der britischen Regierung arbeitete, in einem internen Dokument einen identischen Algorithmus vor, seine Entdeckung wurde jedoch erst 1997 veröffentlicht.
Die Schwierigkeit, extrem große ganze Zahlen zu faktorisieren, bestimmt die Zuverlässigkeit des RSA-Algorithmus. Mit anderen Worten: Je schwieriger es ist, eine sehr große ganze Zahl zu faktorisieren, desto zuverlässiger ist der RSA-Algorithmus. Wenn jemand einen schnellen Faktorisierungsalgorithmus finden würde, würde die Zuverlässigkeit der mit RSA verschlüsselten Informationen definitiv dramatisch sinken.
Aber die Möglichkeit, einen solchen Algorithmus zu finden, ist sehr gering. Heutzutage können nur kurze RSA-Schlüssel mit roher Gewalt geknackt werden. Bisher gibt es weltweit keine zuverlässige Möglichkeit, den RSA-Algorithmus anzugreifen. Solange die Schlüssellänge ausreichend lang ist, können mit RSA verschlüsselte Informationen eigentlich nicht geknackt werden.
1983 meldete das MIT in den USA ein Patent für den RSA-Algorithmus an. Dieses Patent ist am 21. September 2000 abgelaufen. Da der Algorithmus vor Einreichung der Patentanmeldung veröffentlicht wurde, werden die Patentrechte in den meisten anderen Teilen der Welt nicht anerkannt.
RSA-Kryptosystem mit öffentlichem Schlüssel. Das sogenannte Public-Key-Kryptographiesystem verwendet unterschiedliche Verschlüsselungsschlüssel und Entschlüsselungsschlüssel. Es handelt sich um ein Kryptosystem, bei dem „es rechnerisch nicht möglich ist, den Entschlüsselungsschlüssel aus dem bekannten Verschlüsselungsschlüssel abzuleiten“.
Im Public-Key-Kryptografiesystem ist der Verschlüsselungsschlüssel (d. h. der öffentliche Schlüssel) PK eine öffentliche Information, während der Entschlüsselungsschlüssel (d. h. der geheime Schlüssel) SK geheim gehalten werden muss. Der Verschlüsselungsalgorithmus E und der Entschlüsselungsalgorithmus D sind ebenfalls öffentlich. Obwohl der Entschlüsselungsschlüssel SK durch den öffentlichen Schlüssel PK bestimmt wird, kann SK nicht basierend auf PK berechnet werden, da die Euler-Funktion phi(N) für große Zahlen n nicht berechnet werden kann.
Auf dieser Theorie basiert der berühmte RSA-Algorithmus im Jahr 1978. Er generiert normalerweise zuerst ein Paar RSA-Schlüssel, von denen einer ein geheimer Schlüssel ist und vom Benutzer gespeichert wird; Der Schlüssel kann öffentlich gemacht und sogar auf einem Webserver registriert werden.
Um die Vertraulichkeit zu verbessern, muss der RSA-Schlüssel mindestens 500 Bit lang sein, im Allgemeinen werden 1024 Bit empfohlen. Dies macht die Verschlüsselung rechenintensiv. Um den Rechenaufwand zu reduzieren, wird bei der Übertragung von Informationen häufig eine Kombination aus herkömmlichen Verschlüsselungsmethoden und Verschlüsselungsmethoden mit öffentlichem Schlüssel verwendet, dh die Informationen werden mit einem verbesserten DES- oder IDEA-Schlüssel verschlüsselt und anschließend wird ein RSA-Schlüssel verwendet um den Sitzungsschlüssel und den Informationsauszug zu verschlüsseln. Nachdem die andere Partei die Nachricht erhalten hat, entschlüsselt sie sie mit verschiedenen Schlüsseln und kann die Nachrichtenzusammenfassung überprüfen.
Der RSA-Algorithmus ist der erste Algorithmus, der sowohl für die Verschlüsselung als auch für digitale Signaturen verwendet werden kann. Er ist außerdem einfach zu verstehen und zu bedienen. RSA ist der am häufigsten untersuchte öffentliche Schlüsselalgorithmus. In den mehr als dreißig Jahren seit seiner Einführung wurde er verschiedenen Angriffen ausgesetzt und wird seit 2017 allgemein als einer der besten öffentlichen Schlüssel angesehen Pläne.
Das obige ist der detaillierte Inhalt vonWas ist der häufig verwendete Algorithmus für digitale Signaturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Standby ist ein Sperrbildschirmmodus, der aktiviert wird, wenn das iPhone an das Ladegerät angeschlossen und horizontal (oder im Querformat) ausgerichtet ist. Es besteht aus drei verschiedenen Bildschirmen, von denen einer im Vollbildmodus angezeigt wird. Lesen Sie weiter, um zu erfahren, wie Sie den Stil Ihrer Uhr ändern können. Auf dem dritten Bildschirm von StandBy werden Uhrzeiten und Daten in verschiedenen Themen angezeigt, die Sie vertikal wischen können. Einige Themes zeigen auch zusätzliche Informationen an, wie z. B. Temperatur oder nächster Alarm. Wenn Sie eine beliebige Uhr gedrückt halten, können Sie zwischen verschiedenen Themen wechseln, darunter Digital, Analog, Welt, Solar und Floating. Float zeigt die Zeit in großen Blasenzahlen in anpassbaren Farben an, Solar verfügt über eine Standardschriftart mit einem Sonneneruptionsdesign in verschiedenen Farben und World zeigt die Welt durch Hervorhebung an

Zahlen als Ausgabe darzustellen ist eine interessante und wichtige Aufgabe beim Schreiben eines Programms in einer beliebigen Sprache. Bei ganzzahligen Typen (Daten vom Typ kurz, lang oder mittel) ist es einfach, Zahlen als Ausgabe darzustellen. Bei Gleitkommazahlen (Float- oder Double-Typ) müssen wir sie manchmal auf eine bestimmte Anzahl von Dezimalstellen runden. Wenn wir beispielsweise 52,24568 mit drei Dezimalstellen darstellen möchten, ist eine gewisse Vorverarbeitung erforderlich. In diesem Artikel stellen wir verschiedene Techniken vor, um Gleitkommazahlen durch Runden auf eine bestimmte Anzahl von Dezimalstellen darzustellen. Unter den verschiedenen Ansätzen ist es wichtig, eine C-ähnliche Formatzeichenfolge zu verwenden, das Präzisionsargument zu verwenden und die Funktion „round()“ aus der Mathematikbibliothek zu verwenden. Schauen wir sie uns einzeln an. mit

Die Möglichkeit, Zufallszahlen oder alphanumerische Zeichenfolgen zu generieren, ist in vielen Situationen praktisch. Sie können damit an verschiedenen Orten im Spiel Feinde oder Nahrung hervorbringen. Sie können es auch verwenden, um Benutzern zufällige Passwörter vorzuschlagen oder Dateinamen zum Speichern von Dateien zu erstellen. Ich habe ein Tutorial darüber geschrieben, wie man in PHP zufällige alphanumerische Zeichenfolgen generiert. Ich habe am Anfang dieses Beitrags gesagt, dass nur wenige Ereignisse wirklich zufällig sind, und das Gleiche gilt für die Zufallszahlen- oder String-Generierung. In diesem Tutorial zeige ich Ihnen, wie Sie in JavaScript eine pseudozufällige alphanumerische Zeichenfolge generieren. Generieren von Zufallszahlen in JavaScript Beginnen wir mit der Generierung von Zufallszahlen. Die erste Methode, die mir in den Sinn kommt, ist Math.random(), die einen Float zurückgibt

Wir alle kennen Zahlen, die nicht das Quadrat einer Zahl sind, wie zum Beispiel 2, 3, 5, 7, 8 usw. Es gibt N nichtquadratische Zahlen und es ist unmöglich, jede Zahl zu kennen. In diesem Artikel erklären wir alles über quadratlose oder nichtquadratische Zahlen und Möglichkeiten, die N-te nichtquadratische Zahl in C++ zu finden. N-te nichtquadratische Zahl Wenn eine Zahl das Quadrat einer ganzen Zahl ist, wird die Zahl als perfektes Quadrat bezeichnet. Einige Beispiele für perfekte Quadratzahlen sind -1isquadratvon14isquadratvon29isquadratvon316isquadratvon425isquadratvon5. Wenn eine Zahl nicht das Quadrat einer ganzen Zahl ist, wird die Zahl als nichtquadratisch bezeichnet. Die ersten 15 nichtquadratischen Zahlen sind beispielsweise -2,3,5,6,

In der Programmiersprache PHP ist die Funktion is_numeric() eine sehr häufig verwendete Funktion, mit der ermittelt wird, ob eine Variable oder ein Wert eine Zahl ist. Bei der tatsächlichen Programmierung ist es häufig erforderlich, den vom Benutzer eingegebenen Wert zu überprüfen, um festzustellen, ob es sich um einen numerischen Typ handelt. In diesem Fall kann die Funktion is_numeric() zur Bestimmung verwendet werden. 1. Einführung in die Funktion is_numeric() Die Funktion is_numeric() ist eine Funktion, die verwendet wird, um zu erkennen, ob eine Variable oder ein Wert eine Zahl ist. Gibt tru zurück, wenn die Variable oder der Wert eine Zahl ist

In diesem Artikel werden wir das Problem diskutieren, Zahlen zwischen 1 und n (vorgegeben) zu finden, die nicht durch eine Zahl zwischen 2 und 10 teilbar sind. Lassen Sie uns dies anhand einiger Beispiele verstehen: Eingabe: Nummer = 14 Ausgabe: 3 Erläuterung: Es gibt drei Zahlen, 1, 11 und 13, die nicht teilbar sind. Eingabe: Nummer = 21 Ausgabe: 5 Erläuterung: Es gibt fünf Zahlen 1, 11, 13, 17 und 19, die nicht teilbar sind

Zahlen in Java Es ist wichtig zu verstehen, dass die Zahlenklasse keine greifbare Klasse, sondern eine abstrakte Klasse ist. Darin befindet sich eine Reihe von Wrapper-Klassen, die seine Funktionalität definieren. Zu diesen Wrapper-Klassen gehören Integer, Byte, Double, Short, Float und Long. Möglicherweise stellen Sie fest, dass es sich dabei um dieselben grundlegenden Datentypen handelt, die wir zuvor besprochen haben, sie werden jedoch als separate Klassen mit Großbuchstaben dargestellt, um der Klassenbenennungskonvention zu entsprechen. Der Compiler konvertiert automatisch primitive Datentypen in Objekte und umgekehrt, je nach Bedarf für eine bestimmte Funktion oder einen bestimmten Programmumfang. Numerische Klassen sind Teil des java.lang-Pakets. Dieser Vorgang wird Autoboxing und Unboxing genannt. Indem wir die abstrakte Natur numerischer Klassen und ihrer entsprechenden Wrapper-Klassen verstehen, können wir dies tun

Besprechen Sie beispielsweise ein Problem: Wir müssen eine gegebene Zahl N in ihre maximalen Primzahlen aufteilen, eine Primzahl von N subtrahieren und dann die Differenz der Primzahlen überprüfen. Wenn die Differenz eine Primzahl ist, können wir N als Summe zweier Primzahlen ausdrücken. Aber hier müssen wir