PGP -Verschlüsselung mit RSA -Algorithmus
Der PGP -Tastatur kann unter Verwendung einer Vielzahl von Verschlüsselungsalgorithmen erzeugt werden. Wenn Sie jedoch die PGP -Tasten manuell erzeugen, bietet sie jedoch RSA Als Standard -Algorithmusoption. Der RSA -Algorithmus wurde von “erstellt“Rivest-Shamir-Adleman" In 1978. Es verwendet öffentliche und private Schlüssel zur Datenverschlüsselung und Entschlüsselung. Beispielsweise sendet ein Client dem Server seinen öffentlichen Schlüssel und fordert einige Daten an. Dann verschlüsselt der Server die Daten mit Hilfe des öffentlichen Schlüssels des Kunden und sendet sie an sie. Nach dem Empfangen der Daten entschlüsselt der Kunde sie mit seinem privaten Schlüssel.
RSA ermöglicht es Ihnen, Ihre Datei oder Nachricht vor dem Senden zu sichern. Mit der Verwendung von RSA in der PGP -Verschlüsselungsmethode können Sie Ihre Daten zertifizieren, so. Diese Beschreibung wird Sie leiten PGP -Verschlüsselung In Java Verwendung der RSA Algorithmus. Darüber hinaus werden wir auch ein Java -Programm für die PGP -Verschlüsselung und -Delyption unter Linux demonstrieren. So lass uns anfangen!
Notiz: Installieren Sie Java JDK auf Ihrem Linux -System, bevor Sie es nicht bereits haben.
So installieren Sie Java JDK 17 unter Linux
Java installieren JDK 17 Erstens auf Ihrem System drücken Sie “Strg+Alt+t”Um den Terminal zu öffnen und dann den folgenden Curl -Befehl auszuführen:
$ curl -o https: // herunterladen.Orakel.com/java/17/letztes/jdk-17_linux-x64_bin.Teer.gzDie fehlerfreie Ausgabe erklärt, dass der Download abgeschlossen ist. Jetzt werden wir die "extrahieren"JDK-17_LINUX-X64_BIN.Teer.gz"Mit Hilfe des untergegebenen"Teer" Befehl:
$ tar -xvf jdk-17_linux-x64_bin.Teer.gzIm nächsten Schritt werden wir die “bewegen“JDK-17.0.1”Extrahiertes Verzeichnis in die“/opt/opt/" Standort:
$ sudo mv jdk-17.0.1 /opt /jdk17Setzen Sie danach die Java -Umgebungsvariable und fügen Sie den Pfad hinzu:
$ export java_home =/opt/jdk17Bis zu diesem Zeitpunkt haben Sie Java JDK auf Ihrem System installiert und konfiguriert. Geben Sie für die Verifizierungsversion das „Geben Sie die“ einJavaBefehl mit dem “-Ausführung" Möglichkeit:
$ java -VerssionPGP -Verschlüsselung in Java mit RSA
Jetzt werden wir vorwärts gehen und ein Java -Programm zum Verschlingen und Entschlüsseln einer Nachricht mit Hilfe von PGP -Schlüssel erstellen. Der Algorithmus, den wir verwenden werden, ist “RSA", mit "PKCS1"Polsterung und"EZBBlockmodus. Der "EZB”Oder elektronischer Codebuchmodus ist der einfachste Ansatz, der verwendet wird, um eine Abfolge von Nachrichtenblöcken zu verarbeiten, während die“ die “PKSC1Polster hilft RSA bei der Definition der mathematischen Eigenschaften des PGP -Schlüsselpaares und des Verschlüsselungsprozesses.
Zunächst werden wir eine "erstellen"RSA" Klasse:
öffentliche Klasse RSADas "RSA"Klasse hat zwei Variablen, die"Privat Schlüssel" und das "Öffentlicher Schlüssel”:
private privatekey privatekey;Wir werden den definierten PGP -Schlüssel den Wert mit einem “zuweisen“Tastaturgenerator”. Der "Tastaturgenerator"Wird die" nutzen "RSAAlgorithmus zur Erzeugung der PGP -Tastärwerte im Konstruktor der RSA -Klasse:
public RSA ()Im nächsten Schritt werden wir eine "erstellen"kodieren()" Und "dekodieren()"Funktion, die zum Codieren und Dekodieren der Nachricht mit der" verwendet wird "Basis64”(Binär zu text) Encoder und Decoder:
private String codes (Byte [] Daten)Fügen Sie nun eine hinzu Verschlüsseln() Funktion in der RSA -Klasse. Im "Verschlüsseln()Die Funktion, wir werden zuerst die hinzugefügte Nachricht in Bytes konvertieren, da die angegebene Verschlüsselung mit einem Byte -Array erfolgen kann. Danach geben wir den Algorithmus, den Blockmodus und die Polsterung als “anRSA/EZB/PKCS1Padding" Für ein "Chiffre" Objekt. Dann werden wir die Chiffre mit der “initialisieren“ENCRYPT_MODE"Und die PGP"Öffentlicher Schlüssel”.
Diese Funktion "Encrypt () verwendet unsere PGP"Öffentlicher SchlüsselUm die Nachricht zu verschlüsseln und die verschlüsselten Bytes zurückzugeben:
public String decrypt (String -Nachricht) löst Ausnahme ausEbenso werden wir eine andere Funktion namens definierenentschlüsseln ()"Um die Saiten zu dekodieren, die unsere PGP verwenden"Privat SchlüsselUm die verschlüsselte Nachricht in der zu entschlüsseln "Decrypt_mode" und geben Sie das entschlüsselte Array zurück:
public String entschlüsselt (String verschlüsseltMessage) löst Ausnahme ausLassen Sie uns nun das überprüfen "hauptsächlich()" Methodenfunktionalität. In "hauptsächlich(),"Erstens werden wir zwei Saiten definieren"verschlüsseltMessage" Und "entschlüsselt”. Der "Verschlüsselte Message" wird die verschlüsselte Form unserer hinzugefügten Zeichenfolge umfassen “Dies ist LinuxHint.com"Was wir mit RSA Encrypt () -Funktion und der" verschlüsseln werden "entschlüsseltVariable speichert die entschlüsselte Nachricht:
public static void main (String [] args)Implementierung der PGP -Verschlüsselung in Java
Wir hoffen, dass unsere angegebenen Anweisungen Ihnen geholfen haben, den oben gegebenen Code zu verstehen. In diesem Abschnitt wird der bereitgestellte PGP -Verschlüsselungs -Java -Code in unserem Linux -System implementiert, um Ihnen die Ausgabe anzuzeigen. Zu diesem Zweck werden wir zunächst eine erstellen “RSA.Java"Java -Datei mit der"Nano" Editor:
$ sudo nano rsa.JavaDein "RSA.Java" Die Datei sieht zunächst so aus:
Fügen Sie nun den folgenden Code in Ihr "hinzu"RSA.Java"Datei und drücken Sie"Strg+o”Um die hinzugefügten Änderungen zu speichern:
Javax importieren.Krypto.Chiffre;Als nächstes kompilieren Sie die “RSA.JavaDatei, indem Sie den folgenden Befehl schreiben:
$ javac rsa.JavaDie Zusammenstellung der angegebenen Datei führt zu einem “RSABinärdatei führen Sie sie aus, um die Ausgabe der PGP -Verschlüsselung und Entschlüsselung in Ihrem Linux -Terminal zu erhalten:
$ java rsaAus der Ausgabe können Sie sich die verschlüsselten und entschlüsselten Zeichenfolgen ansehen:
Abschluss
Die PGP -Verschlüsselung ermöglicht es Ihnen, Nachrichten oder E -Mails mit der Kombination von “sicher zu sendenÖffentlich" Und "Privatgelände" Schlüssel. Um zu zeigen, dass ein Absender der rechtmäßige Eigentümer der Kommunikation ist, bietet er eine digitale Signatur für private und öffentliche Schlüssel. Die PGP -Verschlüsselung wird auch verwendet, um zu bestätigen, ob eine Nachricht an den beabsichtigten Empfänger übermittelt wird oder nicht. Dieser Bericht hat Sie geführt PGP -Verschlüsselung In Java Verwendung der RSA Algorithmus. Darüber hinaus haben wir auch ein JAVA -Programm für die PGP -Verschlüsselung und -Delyption in unserem Linux -System gezeigt.