• Keine Ergebnisse gefunden

Hochschule f¨ ur Technik und Wirtschaft

N/A
N/A
Protected

Academic year: 2022

Aktie "Hochschule f¨ ur Technik und Wirtschaft"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hochschule f¨ ur Technik und Wirtschaft

Studiengang Kommunikationsinformatik Studiengang Praktische Informatik Prof. Dr.–Ing. Damian Weber

Kryptographie – ¨ Ubung 2

Aufgabe 1 (Rechnen in Z/nZ)

Implementieren Sie eine Klasse znz, die das Rechnen modulo n vereinfacht; diese Klasse sollte f¨ur alle Instanzen das gleiche n verwenden. Es sollte so sein, daß man dieses n nur einmal, und zwar vor Beginn aller Berechnungen, setzen muß.

Als Konstruktoren sollten Sie die Initialisierung eines znz Elements wahlweise mit einem int, BigInteger und einem String vorsehen.

Als Methoden sollten die Grundrechenarten und das Potenzieren m¨oglich sein.

Schreiben Sie einen kleinen Interpreter, der die Grundrechenarten modnunterst¨utzt, z.B. Rechnen mod 990366689399:

$ java interpreter 990366689399

>111111111111+888888888888 9633310600

>111111111111-888888888888 212588911622

>111111111111*888888888888 127922799802

>111111111111/888888888888 123795836175

>111111111111^888888888888 223751932320

>quit

$

Hierzu m¨ussen Sie f¨ur die Klasse znz die Methoden, die die Arithmetik ausf¨uhren analog zu BigInteger entwickeln, d.h. die Namensgebung und die Bedeutung der Methoden soll f¨ur die beiden Klassen die gleiche sein.

Was kommt f¨ura990366689399

mod 990366689399 f¨ur beliebige a heraus?

Aufgabe 2 (Primzahlen)

a) Implementieren Sie den Fermat’schen Primzahltest und seine Verbesserung f¨ur den Exponent p−21.

Seite 1 von 2

(2)

b) Implementieren Sie den Miller–Rabin–Primzahltest. Nehmen Sie p als Prim- zahl an, wenn der Miller–Rabin–Primzahltest f¨ur alle a∈ {2,3,5,7,11} funk- tioniert hat.

c) Finden Sie alle Zahlen aus {11,13,15, . . . ,107 − 1}, die laut b) nicht prim sind, aber den (nicht verbesserten) Fermat’schen Primzahltest aus a) f¨ura= 2 bestehen.

d) Implementieren Sie eine Funktion

BigInteger nextprime(BigInteger n)

die f¨ur eine gegebene Zahl die n¨achste Primzahlp > n zur¨uckliefert.

Hierf¨ur k¨onnen Sie als Basis Ihre Miller–Rabin–Methode benutzen.

Bemerkung:boolean isProbablePrime(int)ist die in der JAVA–Klassenbibliothek enthaltene Miller–Rabin–Implementierung.

Seite 2 von 2

Referenzen

ÄHNLICHE DOKUMENTE

d) F¨ uhren Sie auf obigem Graphen Breadth–First–Search aus aus, begin- nend mit Knoten 1. Finden Sie die k¨ urzesten Wege inklusive Distanzen von Knoten 1 zu

Ziffern, Blanks und Sonderzeichen wurden nicht verschl¨ usselt; außerdem wurde die Groß–/Kleinschreibung beibehalten (Beispiel: wird der Buchstabe x zu y verschl¨ usselt, dann auch X

• Sie k¨onnen die Primzahlerzeugung dahingehend beschleunigen, daß Sie einen Primzahltest f¨ ur q erst dann anwenden, wenn Sie sicher sind, daß q nicht durch kleine Primzahlen

• Geben Sie alle L¨ osungsbl¨ atter ab und versehen Sie jedes mit Ihrem Namen und Ihrer Matrikelnummer. • Die zur Verf¨ ugung stehende Zeit betr¨ agt

Ziffern, Blanks und Sonderzeichen wurden nicht verschl¨ usselt; außerdem wurde die Groß–/Kleinschreibung beibehalten (Beispiel: wird der Buchstabe x zu y verschl¨ usselt, dann auch X

Studiengang Kommunikationsinformatik Studiengang Praktische

Studiengang Kommunikationsinformatik Studiengang Praktische Informatik Prof. Hierzu definiere man eine Klasse RSA, die als Attribute die BigInteger–Werte n, p, q, e, d, phi und die

Der Client muß sich gegen¨ uber dem Server authentifizieren, um eine Antwort des Servers zu erhalten. Als Antwort Ihres Servers k¨ onnen Sie die Ausgabe einer Datei