Startseite

Guten Tag und herzlich Willkommen auf meiner Seite.

In dieser Webseite gebe ich Euch Antworten zu Kryptographie-Fragen rund um Java. Ich stelle Euch Beispiele für die symmetrische Verschlüsselung, asymmetrische Verschlüsselung, digitale Signatur, den sicheren Schlüsselaustausch sowie der Erzeugung und Nutzung von Hashes und MACs vor. Dabei werde ich mich nicht nur auf Verschlüsselung & Co. beschränken, sondern werde auch auf Themen wie „Steganographie“ (verstecken von Informationen) eingehen. Dem Thema „Sicherheit“ oder „Unsicherheit“ gebe ich auch den notwendigen Raum, denn was nützt die beste Verschlüsselung, wenn durch einen Denkfehler die geheimen Daten nahezu öffentlich bereitstehen oder unbemerkt verändert werden können – ein erschreckendes Beispiel findet Ihr in dem AES Padding Orakel.

Eine eigene Rubrik hat die Kryptographie-Bibliothek Google Tink erhalten, denn sie bietet neben einem breiten Spektrum von „State of the art“-Verfahren (z.B. die Elliptische Kurve ED25519) zudem eine sehr hohe Sicherheit bei der Implementierung, daher lege ich Euch diese Bibliothek sehr ans Herz.

Eine praktische Anwendung der asymmetrischen Verfahren findet Ihr in meinem Tutorial zur Blockchain und einer selbsterstellten Krypto-Währung, dem JavaCryptoCoin.

Mich stört es immer, wenn ich auf Webseiten eine Lösung mit Quelltext präsentiert bekomme und diese dann in meiner Umgebung nicht funktioniert. Daher stelle ich grundsätzlich den vollen Sourcecode mit allen Imports und gegebenenfalls eingebundenen (externen) Bibliotheken zur Verfügung, damit Ihr die Beispiele bei Euch zum Laufen bekommt. Alle Quelltexte findet Ihr in meinem Github-Depot (https://github.com/java-crypto), wo Ihr sie rubrikweise als gezippte Datei herunterladen könnt.

Die Erst-Entwicklung von Kryptographie-Programmen mache ich mittels Eclipse und Java 8 (Build 181 und höher). Alle Programme werden zusätzlich unter Java 11 getestet und wo notwendig angepasst. Mein Github-Depot enthält entweder 2 Versionen oder Programme, die ohne Anpassung unter Java 8 und Java 11 lauffähig sind.

Auch wenn Ihr „alte Java-Hasen“ seid – blickt doch mal in die Rubrik „Allgemeines„, denn da findet Ihr wertvolle Hinweise im Hinblick auf Kryptographie.

Es existiert eine „Schwesterseite“ zu dieser Webpräsenz, nämlich unter http://java-crypto.bplaced.net. Dort habe ich viele Lösungen und Hilfestellungen rund um Java in Verbindung mit den hier gezeigten Kryptografie-Programmen bereitgestellt – ein Besuch lohnt sich.

Gerne lese ich Eure Anmerkungen, Kommentare und Anregungen per Email unter javacrypto@gmx.de und nun „happy secret coding“ :-).

Michael

PS: Nahezu alle Beispiele und Programme von mir veröffentliche ich unter der „UNLICENCE“-Lizenz, die Erläuterungen hierzu findet Ihr auf der separaten Lizenz-Seite.

Letzte Bearbeitung: 22.12.2019