FB 4 - Angewandte Informatik
IT-Security
SS 2020
Home
Copyright
Version 04.07.2020
Prüfung

Inzwischen ist diese Seite fertig, daher werden das Blaue und die Sternchen entfernt, alles ist gültig.

Titel 1 Folie/Seite 2 Folien/Seite Video
Begrüßung
- nix -
- nix -
Leistungsnachweis

Folien

Einige der PDF-Dateien sind bis zu 4 Mbyte groß. Andere Foliensätze sind verschlüsselt; hier gibt es Informationen dazu.

Zusammen mit den Folien gibt es Mitschnitte, die zwischen 100 und 300 MByte groß sind. Als Formate wird das mp4-Format angeboten. Das Abspielen unter Windows/Linux/Mac geht am besten mit dem VLC-Player.

Im Foliensatz BigInt-Teil 2 ist nun überarbeitet und (hoffentlich) korrekt: Version 3 gilt. Dazu gibt es noch eine Python-Implementierung zum Testen und Studieren.

Titel
1 Folie/Seite
2 Folien/Seite
Video
Wiederholung
Kryptographie
BigInt-Teil1
Restklassen
BigInt-Teil2
Algebren
Polynome
AES-Teil1
AES-Teil2
Symmetrisch
Asymmetrisch
Ergänzungen
Primzahlen
Zufall
Hash
Authentisierung
Blockchain

Hier gibt es noch ergänzende Materialien (freiwillig):

Die folgenden vier Übungsblätter sind freiwillig und dienen der Vertiefung des Verständnisses des Mathematik-Teils; daneben gibt es noch Lösungsvorschläge in Form von Notizen (nicht vollständigen Lösungswegen):

Fragebögen
  1. Grundlagen der Sicherheit
  2. Grundlagen der Kryptographie
  3. Mathematik
  4. AES
  5. Symmetrische Verschlüsselung
  6. Asymmetrische Verschlüsselung
  7. Primzahlen
  8. Zufall
  9. Hash-Verfahren
  10. Authentisierung
Übungen

Sie können die Programmieraufgaben in Ihrer eigenen Lieblingsumgebung und in Ihrer Lieblingsprogrammiersprache realisieren.

(Fast) alle Dateien mit den Testdaten sind in demselben Format, so dass ein einheitlicher Testtreiber, der die Testfälle aus den Dateien liest, geschrieben werden kann. Bitte lesen Sie jeweils vorne den Kommentarblock.

Die Testdaten müssen benutzt werden - es können aber zusätzlich noch bessere Testdaten verwendet werden. Dazu gibt es Für das erste Aufgabenblatt einen Testteiber in Java als netbeans-Projekt. Für dieses Aufgabenblatt 1 gibt es noch einen Rahmen, der zeigt, wie der Testtreiber zum Testen benutzt wird, auch in Java als netbeans-Projekt. Diese Software wurde noch nicht aktualisiert.

Aufgabe 1 BigInt
Verschieben nach rechts
Verschieben nach links
Multiplikation mit 10
Division mit 10
Hex/Dezimal-Umrechnung
Grundrechenarten
Vergleiche
Aufgabe 2 Primzahlen
Testdaten für den Euklid
Quadrieren
Power mit kleinen Potenzen
Power mit großen Potenzen
Power Modulo
Power Modulo Primzahl
Eulersche Pseudoprimzahlen
Fermatsche-Pseudoprimzahlen
Keine Primzahlen
Primzahlen
Aufgabe 3 RSA
Schlüsselbestimmung
Korrekte RSA-Verschlüsselung
Fehlerhafte RSA-Verschlüsselung
Testdaten für den erweiterten Euklid
Aufgabe 4 BBS
Finden eines p
Finden von p und q
BBS-Tests
Aufgabe 5 SHA2-256
SHA-256-Testdaten
Aufgabe K1 AES-128 (7 Punkte)
AES-128, Key-Schedule
AES-192, Key-Schedule (freiwillig)
AES-256, Key-Schedule (freiwillig)
Aufgabe K2 PBKDF2-Verfahren (5 Punkte)
Aufgabe K3 AES mit CTR und CBC (4 Punkte)
Aufgabe K4 DH mit mehreren Parteien (6 Punkte)
Aufgabe K5 Angriff gegen RSA (8 Punkte)
  • Alle Testdaten sind dieselben wie im vorherigen Semester; es kann sein, dass für die Aufgabenblätter SHA-256 und einige andere Testfiles der Treiber zum Testen umgeschrieben werden muss - dies kann später durch Änderung der Syntax entfallen - diese Änderungen der Syntax wird aber hier angekündigt.
  • Bemerkung zu den arithmetischen Tests:
  • Solange nur mit positiven Zahlen gearbeitet wird, ist alles recht einfach bei der Div- und Mod-Operation. Bei den in dieser LV benutzten Algorithmen kommen negative Zahlen nur beim Erweiterten Euklid'schen Algorithmus vor, und dort nur bei der Subtraktion. D.h. wenn alle Tests mit positiven Zahlen laufen, aber nicht mit negativen, so ist dies zwar unschön, aber für andere Aufgaben unproblematisch. Sehen Sie sich den Kommentar in den Testdaten an, dort wird die Definition der Division beschrieben. Hierzu ein paar Links: