Hallo, ich hoffe mir kann hier jemand helfen. Ich habe folgendes kleines RSA-JAVA-Programm.
Ich möchte die letzten 35 Dezimalstellen des String "d" rückwärts immer um 1 erniedrigen.
Sobald 1 abgezogen wurde, soll die Berechnung mit dem neuen Wert laufen und das Ergebnis mit den ersten 4 Stellen von String " f " verglichen werden. Sobald die 4 Stellen übereinstimmen soll das Programm anhalten und den neuen String " d " einblenden. Kann man zusätzlich noch eine Art Einblendung herstellen, um zu kontrollieren ob das Programm noch läuft und wie weit es runtergezählt hat? Ich weis ich verlange oder wünsche mir wohl zuviel aber vielleicht kann mir hier jemand dabei helfen oder einen Tip geben ?
Im Voraus Danke.
Epsodus
Ich möchte die letzten 35 Dezimalstellen des String "d" rückwärts immer um 1 erniedrigen.
Sobald 1 abgezogen wurde, soll die Berechnung mit dem neuen Wert laufen und das Ergebnis mit den ersten 4 Stellen von String " f " verglichen werden. Sobald die 4 Stellen übereinstimmen soll das Programm anhalten und den neuen String " d " einblenden. Kann man zusätzlich noch eine Art Einblendung herstellen, um zu kontrollieren ob das Programm noch läuft und wie weit es runtergezählt hat? Ich weis ich verlange oder wünsche mir wohl zuviel aber vielleicht kann mir hier jemand dabei helfen oder einen Tip geben ?
Im Voraus Danke.
Epsodus
Java:
import java.math.*;
public class RSAEnCrypt2 {
public static void main(String[] args){
String n = "171295581447903300986321208431321261475104852187701569509858234168658221950866829633792060321590357747162448119272872165226329700202733069872936018037606033446526940775957117571485324414808136422641062639145288692404398181022503781091906676617931289403349527721829176733748344288205954439345716668620111758441";
String d = "114197054298602200657547472287547507650069901458467713006572156112438814633911219755861373547726905164774965412848581443484219800135155379915290678691737338180181163589622342412277208328113817792155727598935298434098488037601427951211452379735118017930415539291862498215673599954216783452309872345674212345543";
String c = "1881676371789154860897069";
String f = "123456789";
//String e = "3"
BigInteger nBig = new BigInteger(n);
BigInteger dBig = new BigInteger(d);
BigInteger cBig = new BigInteger(c);
BigInteger mBig = cBig.modPow(dBig,nBig);
String m = mBig.toString();
System.out.println("Geheimtext: " +(f));
System.out.println("Geheimtext: "+m);
}
}
Zuletzt bearbeitet: