s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

RSA Tools

Das Modul einbinden

Um die interaktiven Elemente nutzen zu können, muss die Einbindung über den Meta-Tag features erfolgen:

----
Features: rsa-tools
----

Überblick über die Versionen

Im Modul gibt es drei Versionen. Standard und Lite bieten fünf Teiltools (Schlüsselerzeugung, Verschlüsselung, Entschlüsselung, Signieren, Verifizieren). Die Gallenbacher-Version bietet nur die Schlüsselerzeugung, die Verschlüsselung und die Entschlüsselung. Die Versionen unterscheiden sich in dem Verfahren, mit dem die Schlüssel erzeugt und die Nachrichten verschlüsselt werden:

Version Präfix Verfahren Schlüssel Signatur
Standard ohne Präfix WebCrypto des Browsers: RSA-OAEP (Verschlüsselung), RSASSA-PKCS1-v1_5 (Signatur) 2048 Bit, als Base64-Text SHA-256-Hash des Klartextes wird mit dem privaten Schlüssel signiert und als Base64 ausgegeben
Lite l- Eigene RSA-Implementierung mit kleinen Primzahlen (je 10 Bit) Zahlenpaar (e,n) bzw. (d,n) SHA-1-Hash des Klartextes (12 Zeichen) wird mit dem privaten Schlüssel verschlüsselt
Gallenbacher g- ASYM-Kodierer aus dem Buch "Abenteuer Informatik" von Jens Gallenbacher (Codierscheibe) Drei Buchstaben (A..Z, - und .) keine Signatur-Funktion
Die Standard-Version nutzt die Verschlüsselung des Browsers und ist damit für echte Anwendungen geeignet. Die Lite-Version und die Gallenbacher-Version sind nur für den Unterricht gedacht. Die Schlüssel sind dort so klein, dass sie mit wenig Aufwand gebrochen werden können.

Standard-Version

Die Standard-Version nutzt die Kryptografie des Browsers (WebCrypto-API). Hier ist es nicht möglich, die Schlüssel zu vertauschen oder den entschlüsselten Hash aus einer Signatur anzusehen.

Schlüsselerzeugung

Erzeugt ein RSA-Schlüsselpaar. Der öffentliche und der private Schlüssel werden als Base64-Text ausgegeben.

<schluessel-erzeugen></schluessel-erzeugen>
Verschlüsselung

Verschlüsselt den Klartext mit dem öffentlichen Schlüssel des Empfängers.

<ver-schluesseln></ver-schluesseln>
Entschlüsselung

Entschlüsselt den Geheimtext mit dem eigenen privaten Schlüssel.

<ent-schluesseln></ent-schluesseln>
Signieren

Erzeugt eine Signatur des Klartextes mit dem eigenen privaten Schlüssel.

<sig-nieren></sig-nieren>
Verifizieren

Prüft die Signatur mit dem öffentlichen Schlüssel des Senders.

<veri-fizieren></veri-fizieren>

Lite-Version

Die Lite-Version rechnet vollständig in JavaScript mit kleinen Zahlen und zeigt so das Prinzip des RSA-Verfahrens. Der Klartext wird in Zweierblöcke aus ASCII-Codes umgewandelt. Jeder Block wird als sechsstellige Zahl einzeln verschlüsselt.

Die Lite-Version ist selbst implementiert. Text wird in Zweierblöcken codiert und über die ASCII-Tabelle in Dezimalzahlen umgewandelt. Diese Zahlen werden dreistellig zusammengepackt, sodass sie maximal 128128 groß werden. Die Schlüssellängen sind mit 10 Bit ausreichend groß, aber möglichst klein gehalten.
Schlüsselerzeugung

Erzeugt ein Schlüsselpaar aus zwei Zahlenpaaren (e,n) und (d,n).

<l-schluessel-erzeugen></l-schluessel-erzeugen>
Verschlüsselung

Verschlüsselt den Klartext mit dem öffentlichen Schlüssel des Empfängers.

<l-ver-schluesseln></l-ver-schluesseln>
Entschlüsselung

Entschlüsselt den Geheimtext mit dem eigenen privaten Schlüssel.

<l-ent-schluesseln></l-ent-schluesseln>
Signieren

Berechnet den Hash des Klartextes und verschlüsselt ihn mit dem eigenen privaten Schlüssel.

<l-sig-nieren></l-sig-nieren>
Verifizieren

Entschlüsselt die Signatur mit dem öffentlichen Schlüssel des Senders und vergleicht den Hash mit dem Hash des Klartextes.

<l-veri-fizieren></l-veri-fizieren>
Umgekehrte Variante

Icons und Texte sind angepasst, damit deutlich wird, dass man auch mit dem privaten Schlüssel verschlüsseln und mit dem öffentlichen Schlüssel entschlüsseln kann.

<l-ver-schluesseln dataconfig='{
  "umgekehrt": true
}'></l-ver-schluesseln>
<l-ent-schluesseln dataconfig='{
  "umgekehrt": true
}'></l-ent-schluesseln>

Gallenbacher-Version

Die Gallenbacher-Version setzt die Codierscheibe aus dem Buch "Abenteuer Informatik" von Jens Gallenbacher um. Die Schlüssel bestehen aus genau drei Buchstaben. Erlaubt sind A bis Z sowie - und ., also 28 Zeichen. Der private Schlüssel wird aus dem öffentlichen berechnet. Beispiele: AZS und PCT bzw. BGF und FDB bilden jeweils ein Paar.

Die Gallenbacher-Version ist nur für den Unterricht gedacht. Da sich der private Schlüssel aus dem öffentlichen berechnen lässt, bietet sie keine echte Sicherheit.
Schlüsselerzeugung

Erzeugt zufällig einen öffentlichen Schlüssel aus drei Buchstaben und berechnet dazu den privaten Schlüssel.

<g-schluessel-erzeugen></g-schluessel-erzeugen>
Verschlüsselung

Verschlüsselt den Klartext mit dem öffentlichen Schlüssel des Empfängers.

<g-ver-schluesseln></g-ver-schluesseln>
Entschlüsselung

Entschlüsselt den Geheimtext mit dem eigenen privaten Schlüssel.

<g-ent-schluesseln></g-ent-schluesseln>
Umgekehrte Variante

Icons und Texte sind angepasst, damit deutlich wird, dass man auch mit dem privaten Schlüssel verschlüsseln und mit dem öffentlichen Schlüssel entschlüsseln kann.

<g-ver-schluesseln dataconfig='{
  "umgekehrt": true
}'></g-ver-schluesseln>
<g-ent-schluesseln dataconfig='{
  "umgekehrt": true
}'></g-ent-schluesseln>

Suche

v
17.6.3.4.35 RSA Tools
Kopieren durch Anklicken

Rückmeldung geben