Subtraktiv Chiffre

Herkunft / Verwendung: Dies ist eine einfache Art der Verschlüsselung, indem Buchstaben bzw. Zahlen einfach zusammengezählt werden und das Ergebnis als Geheimtext niedergeschrieben wird.

Meist wird für die Verschlüsselung das Additiv-Verfahren benutzt, um ein Chiffrat zu erzeugen. Dabei werden Klartext und Schlüssel für jeden Buchstaben / Ziffer addiert. Um daraus den Klartext wieder herzustellen wird dann das Subtraktiv Verfahren angewandt.

Natürlich könnte man auch umgekehrt das Subtraktiv Verfahren zur Verschlüsselung und das Additiv Verfahren zu Entschlüsselung benutzen, aber davon wird eigentlich kein Gebrauch gemacht, weil diese Vorgehensweise nicht so einleuchtend wäre.

Ist der Schlüssel zufällig und genauso lang wie der Klartext, ist diese Verschlüsselung sicher (One-Time-Pad, Vernam).

Die Verschlüsselung mit Ziffern wurde gerne von Geheimdiensten verwendet, um mit sogenannten Wurmtabellen von den Agenten wieder entschlüsselt werden zu können.

Die Additiv/Substraktiv-Verschlüsselung mit Buchstaben von A bis Z findet zum Beispiel bei der Vigenere Chiffre Anwendung, um Klartext und Schlüssel zu einem Chiffrat (Geheimtext) zu kombieren.

Die Umkehrfunktion zur Ver- bzw. Entschlüsslung ist die Additiv Chiffre.

Für binäre Informationen verwendet man indessen die XOR-Kombination. Diese hat den Vorteil, in beide Richtungen zu funktionieren. Man muss also nicht erst addieren und dann substrahieren, sondern kann für beide Rechenrichtungen XOR verwenden. Dies funktioniert aber nur auf binärer Ebene mit Null und Einser-Bits.

Beschreibung des Algorithmus

Für Texte gilt:

Substrahiere für jeden Buchstaben des Chiffrats den Buchstabenwert des Schlüssels im Werteraum A bis Z, um den ursprünglichen Klartextbuchstaben zu erhalten. Liegt der errechnete Buchstabe vor A, beginne wieder bei Z.

Oder mathematisch ausgedrückt: K = (C - S + 26) modulo 26

Wobei C für Chiffratbuchstabe, K für Klartextbuchstabe und S für Schlüsselbuchstabe steht. Diesen Buchstaben wird ein Wert zwischen 0 (Null) für 'A' und 25 'Z' zugeordnet. Modulo bezeichnet den Rest bei einer Ganzzahl-Division.

Für Ziffern gilt:

Substrahiere von jeder Chiffrat-Ziffer die (nächste) Ziffer des Schlüssels, um die ursprünglichen Klartextziffer zu erhalten.. Ist das Ergebnis kleiner als 0, addiere 10.

Oder mathematisch ausgedrückt: K = (C - S + 10) modulo 10

Wobei C für Chiffratziffer, K für Klartextziffer und S für Schlüsselziffer steht. Modulo bezeichnet den Rest bei einer Ganzzahl-Division.

Für beide Varianten gilt:

Ist der Schlüssel verbraucht, wird wieder beim Beginn des Schlüssels weiter gemacht.

Beispiele

Entschlüsselung (Normalfall)

Chiffrat:Uhqeknxepxtubqsy
Schlüssel:Schluessel
Klartext:Beispielklartext
U h q e k n x e p x t u b q s y S c h l u e s s e l S c h l u e B e i s p i e l k l a r t e x t ^-------- U=21, S=19 -> 21-19 = 2 = B ^------ h=8, c=3 -> 8-3 = 5 = e ^-- e=5, l=12 -> 5-12= -7 -> -7 + 26 = 19 = s
Chiffrat:2647885761
Schlüssel:5928473028
Klartext:7729412743
2 6 4 7 8 8 5 7 6 1 5 9 2 8 4 7 3 0 2 8 7 7 2 9 4 1 2 7 4 3 ^-------------------- 2-5 = -3 + 10 = 7 ^------------------ 6-9 = -3 + 10 = 7 ^---------------- 4-2 = 2

Verschlüsselung (Sonderfall)

Klartext:Beispielklartext
Schlüssel:Schluessel
Chiffrat:Uhqeknxepxtubqsy
B e i s p i e l k l a r t e x t S c h l u e s s e l S c h l u e I b a g u d l s f z h o l s c o ^-------- b=2, s=19 -> 2-19=-17 -> -17+26=9 -> 9=i ^------ e=5, c=3 -> 5-3=2 -> 2=b ^-- s=19, l=12 -> 19-12=7 -> 7=g
Klartext:2647885761
Schlüssel:5928473028
Chiffrat:7729412743
2 6 4 7 8 8 5 7 6 1 5 9 2 8 4 7 3 0 2 8 7 7 2 9 4 1 2 7 4 3

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Bitte beachten: für die Ziffern-Verschlüsselung muss Schlüssel sowie Klartext aus Ziffern bestehen. Entsprechend sind für die Text-Verschlüsselung nur Buchstaben zugelassen.