Stand: 3. Februar 2019
über dieses Dokumentwas es hierin gibt
wo man die neuste Version bekommt
wie man den Verfasser kontaktiert
welche gesetzlichen Einschränkungen es gibtLizenzlosigkeit
Verfasserschutz
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen
allgemeine Informationen über die multialgorithmische Bitfolgenmanipulationwas es ist
welchen Nutzen es bringt
Aufwärtskompatibilität
die Details von der multialgorithmischen BitfolgenmanipulationAlgorithmenÜbersicht
0 - die Werte von 2 Bits tauschenBeschreibung1 - die Werte von 2 Bytes tauschen
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
UmkehralgorithmusBeschreibung2 - nach links rotieren
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "3 Byte"-großen Bitfolge
vorher
nachherParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
UmkehralgorithmusBeschreibung3 - auf Ungleichheit überprüfen
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
UmkehralgorithmusAlternativenBeschreibung4 - um einen Wert senken
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
UmkehralgorithmusBeschreibung5 - von einem Wert abziehen
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
UmkehralgorithmusAlternativenBeschreibung
Beispielbei einer "1 Byte"-großen BitfolgeHinweise zur ReihenfolgeParameterbei einer "4 Byte"-großen Bitfolge
vorher
nachherParameter
vorher
nachher
Umkehralgorithmus
weiteres Material zu diesem ThemaDokumente
was es hierin gibt
Dieses Dokument
- beschreibt mehrere Algorithmen, um eine Bitfolge zu verändern,
und
- ohne dass dabei Informationen verloren gehen oder
- sich die Länge von der Bitfolge ändert
- gibt Hinweise, welche Algorithmen nicht hintereinander angewand werden sollten.
wo man die neuste Version bekommt
Derzeit nutze ich OnTheServer.de/Downloads/ um neue Versionen zugänglich zu machen. Sie müsste irgendwo dort in den Unterverzeichnissen sein; das kann sich hin und wieder ein bischen ändern.
Dort gibt es vielleicht auch dieses Dokument in anderen Sprachen.
Die Versions-Angabe von diesem Dokument steht oben rechts ("Stand: ...").
wie man den Verfasser kontaktiert
Der Verfasser von diesem Dokument kann mit der Hilfe von einer elektronischen Nachricht kontaktiert werden. Das hierfür eingerichtete Postfach ist mit der Hilfe von der folgenden Adresse erreichbar:Kontakt@On(entferne mich)TheServer.de
welche gesetzlichen Einschränkungen es gibt
Lizenzlosigkeit
Dieses Dokument
- ist an keine Lizenz gebunden.
- unterliegt nicht den Einschränkungen durch das Urhebergesetz.
- soll allgemeinfrei (public domain) behandelt werden. Also so, als wenn es sich um ein Eigentum von der Allgemeinheit handelt.
Im Übrigen soll alles, was man auf OnTheServer.de und den Subdomains öffentlich zugänglich findet, entsprechend behandelt werden.
Es gibt auf OnTheServer.de allerdings eine Ausnahme:Ich lege gelegentlich im Verzeichnis "OnTheServer.de/temp/" urheberrechtlich geschütztes Material ab.
Es ist nicht gestattet, auf irreführendeweise vorzutäuschen, dass das (ursprüngliche) Dokument an eine Lizenz gebunden wäre.
Verfasserschutz
Es ist nicht gestattet, auf irreführendeweise vorzutäuschen, dass man der (ursprüngliche) Verfasser vom Dokument wäre. Der (ursprüngliche) Verfasser muss jedoch nicht namentlich genannt werden.
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen
Ich (der ursprüngliche Verfasser) behalte die Möglichkeit, Einschränkungen füraufzuerlegen. Von den Einschränkungen wären lediglich neue Versionen betroffen. Was bisher veröffentlicht wurde, erhält keine weiteren Einschränkungen.
- die Veränderung oder/und
- die Verbreitung
Von diesem Recht werde ich hoffentlich nie gebrauch machen müssen.
was es ist
Wenndann
- eine Bitfolge multialgorithmisch manipuliert wird,
- bedeutet dies, dass mehrere Algorithmen angewand werden, um die Werte von den einzelnen Bits zu verändern.
Unter der Bezeichnung "multialgorithmische Bitfolgenmanipulation" läuft allerdings auch eine Definition, mit deren Hilfe
- mehrere Algorithmen beschrieben sind.
Mit der Hilfe von diesen Algorithmen kann eine Bitfolge verändert werden,
- ohne dass dabei Informationen verloren gehen oder
- sich die Länge von der Bitfolge ändert.
- den einzelnen Algorithmen jeweils eine Identifikationskennung zugewiesen sind.
welchen Nutzen es bringt
Um Daten zu verschlüsseln, können die Daten alsBitfolgen betrachtet werden, welche nach einem bestimmten Muster verändert werden.
- eine lange oder
- mehrere kurze
Das Muster, welches angewand wird, um die Daten zu verschlüsseln, ist der Schlüssel von der Verschlüsselung. Wenndann
- das Muster einer Person nicht bekannt ist,
- ist es für sie
die Daten zu entschlüsseln.
- schwierig oder
- vielleicht sogar unmöglich,
Angenommen es werden Daten auf folgende Weise verschlüsselt:
- Zuerst werden die Daten als Ganzzahl betrachtet und der Wert wird um 1 gesenkt,
- dann werden die Werte von den einzelnen Bits negiert und
- dann werden alle Bits 1 mal nach links rotiert.
Um die Daten zu entschlüsseln müssen die Umkehralgorithmen von den einzelnen Algorithmen in der umgekehrten Reihenfolge angewand werden.
Diese Daten können nun also auf die folgende Weise entschlüsselt werden:
- Zuerst werden alle Bits 1 mal nach rechts rotiert,
- dann werden die Werte von den einzelnen Bits negiert und
- dann wird das Zwischenergebnis als Ganzzahl betrachtet und der Wert wird um 1 erhöht.
Um nun eine Verschlüsselung zu realisieren, können
- geeignete Algorithmen aus diesem Dokument verwendet werden und
- diese Algorithmen mit einer gewünschten
an einer Bitfolge ausgeführt werden, welche verschlüsselt werden soll.
- Häufigkeit und
- Reihenfolge
Aufwärtskompatibilität
Wenndann
- in der Zukunft zu dieser Definition weitere Algorithmen hinzugefügt werden,
- ändern sich deshalb nicht die Identifikationskennungen von den bestehenden Algorithmen.
Algorithmen
Übersicht
Identifikationskennung: Kurzbeschreibung: Manipulationsart: Details: 0 die Werte von 2 Bits tauschen Transformation hier 1 die Werte von 2 Bytes tauschen Transformation hier 2 nach links rotieren Transformation hier 3 auf Ungleichheit überprüfen Konversion - logisch hier 4 um einen Wert senken Konversion - mathematisch hier 5 von einem Wert abziehen Konversion - mathematisch hier
0 - die Werte von 2 Bits tauschen
Beschreibung
Die Bitfolge von den zu verschlüsselnden Daten wird als "little endian"-kodiert interpretiert.
Dann werden mit der Hilfe von 2 Parametern insgesamt 2 Bits angegeben. Die Werte von diesen beiden Bits werden getauscht.
Bei einer "4 Byte"-großen Bitfolge können die Bits mit den Wertigkeiten 20 bis 231 ausgewählt werden. Eine zu hohe Angabe ist nicht zulässig.
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
- Parameter für das eine Bit:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)- Parameter für das andere Bit:
Wert: Zahlensystem: 10 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
vorher
Wert von den Daten:"01111001"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"00111101"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
- Parameter für das eine Bit:
Wert: Zahlensystem: 110 2er-System
(Binär-System)6 10er-System
(Dezimal-System)6 16er-System
(Hexadezimal-System)- Parameter für das andere Bit:
Wert: Zahlensystem: 1 0011 2er-System
(Binär-System)19 10er-System
(Dezimal-System)13 16er-System
(Hexadezimal-System)
vorher
Wert von den Daten:"01111000 01010110 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"00111000 01010110 00111100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus können alle Algorithmen ausgeführt werden.
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden.
- dieser Algorithmus
1 - die Werte von 2 Bytes tauschen
Beschreibung
Die Bitfolge von den zu verschlüsselnden Daten wird als "little endian"-kodiert interpretiert.
Dann werden mit der Hilfe von 2 Parametern insgesamt 2 Bytes angegeben. Die gesamten Werte von diesen beiden Bytes werden getauscht.
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
- Parameter für das eine Byte:
Wert: Zahlensystem: 0 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)- Parameter für das andere Byte:
Wert: Zahlensystem: 0 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)
vorher
Wert von den Daten:"01111001"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"01111001"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "3 Byte"-großen Bitfolge
Parameter
- Parameter für das eine Byte:
Wert: Zahlensystem: 0 2er-System
(Binär-System)0 10er-System
(Dezimal-System)0 16er-System
(Hexadezimal-System)- Parameter für das andere Byte:
Wert: Zahlensystem: 1 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)
vorher
Wert von den Daten:"01111000 01010110 00110100"
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"01010110 01111000 00110100"
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
- Parameter für das eine Byte:
Wert: Zahlensystem: 1 2er-System
(Binär-System)1 10er-System
(Dezimal-System)1 16er-System
(Hexadezimal-System)- Parameter für das andere Byte:
Wert: Zahlensystem: 11 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
vorher
Wert von den Daten:"01111000 01010110 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"01111000 00010011 00110100 01010110"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus sollten folgende Algorithmen nicht ausgeführt werden:
- dieser Algorithmus
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden.
- dieser Algorithmus
2 - nach links rotieren
Beschreibung
Die Bitfolge von den zu verschlüsselnden Daten wird als "little endian"-kodiert interpretiert. Dann werden alle Bits in der angegebenen Anzahl nach links rotiert.
Der Parameter ist ein "1 Byte"-großer Wert, welcher die Anzahl der Rotationsdurchläufe angibt (00000101|b = 5|d mal).
Bei einer "4 Byte"-großen Bitfolge sind 1|d bis 31|d Rotationsdurchläufe wirkungsvoll. Die Anzahl 34|d würde effektiv lediglich 2|d Rotationsdurchlauf bewirken.
Die Zahl "0|d" soll als Anzahl der Rotationsdurchläufe nicht verwendet werden.
Wenndann
- eine Anzahl angegeben wird, welche größer ist, als die Anzahl der Bits von der Bitfolge vom Block,
- führt beispielsweise die Anzahl "32|d" zu einer effektiven Anzahl von 0|d. Daher sollte
- mit der Hilfe von einer Maske (und-Verknüpfung) die effektive Anzahl geprüft werden oder
- keine zu hohen Anzahlen verwendet werden.
"10100010" (162 angegebene Rotationsdurchläufe)
& "00011111" (Maske)
= "00000010" (2 effektive Rotationsdurchläufe)
Wenndann
- eine "4 Byte"-große Bitfolge 30|d mal nach links rotiert wird,
- entsteht das selbe Ergebnis, wie wenn sie 2|d mal nach rechts rotiert wird.
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:
Wert: Zahlensystem: 11 2er-System
(Binär-System)3 10er-System
(Dezimal-System)3 16er-System
(Hexadezimal-System)
Dieser Wert bedeutet:
- 3 mal rotieren
vorher
Wert von den Daten:"10111100"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"11100101"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:
Wert: Zahlensystem: 10 2er-System
(Binär-System)2 10er-System
(Dezimal-System)2 16er-System
(Hexadezimal-System)
Dieser Wert bedeutet:
- 2 mal rotieren
vorher
Wert von den Daten:"00111100 00101011 10011010 00001001"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"11110000 10101100 01101000 00100110"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus sollten folgende Algorithmen nicht ausgeführt werden:
- dieser Algorithmus
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden. Allerdings mit dem Unterschied, dass nicht nach links rotiert werden muss, sondern nach rechts.
- dieser Algorithmus
Alternativen
Jenachdem welche Möglichkeiten die Hardware bietet, auf welcher der Algorithmus implementiert wird, ist es vielleicht auch Möglich, eine von den folgenden Alternativen zu verwenden, sodass ein direktes nach-rechts-rotieren nicht notwendig ist:
- Anstatt 2|d mal nach rechts zu rotieren, kann stattdessen auch -2|d mal nach links rotiert werden.
- Anstatt einen "8|d Bit"-großen Wert 2|d mal nach rechts zu rotieren, kann er auch 6|d mal nach links rotiert werden.
3 - auf Ungleichheit überprüfen
Beschreibung
Die einzelnen Bits aus der Bitfolge werden mit den Bits aus dem Parameter überprüft. Anschließend wird in der Bitfolge gespeichert,
- welche Bits übereinstimmen und
- welche nicht übereinstimmen.
Wenndann
- die zu verschlüsselnde Bitfolge mit der Hilfe vom Wert "101|b" auf Ungleichheit überprüft wird,
Ansonsten wenn
- bewirkt dies das Selbe, als wenn sie mit dem Wert "010|b" auf Gleichheit überprüft wird.
dann
- die zu verschlüsselnde Bitfolge mit der Hilfe vom dem Wert "111|b" auf Ungleichheit überprüft wird,
- bewirkt dies das Selbe, als wenn sie negiert wird.
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"01001101"
vorher
Wert von den Daten:"10111100"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"11110001"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"11001011 11000101 10010010 10001110"
vorher
Wert von den Daten:"01111000 01010110 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 20
│ │ │ │ │ │ └─ Wertigkeit: 27
│ │ │ │ │ └─ Wertigkeit: 20
│ │ │ │ └─ Wertigkeit: 27
│ │ │ └─ Wertigkeit: 20
│ │ └─ Wertigkeit: 27
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"10110011 10010011 10100110 10011101"
│ │ │ │ │ │ │ └─ Wertigkeit: 20
│ │ │ │ │ │ └─ Wertigkeit: 27
│ │ │ │ │ └─ Wertigkeit: 20
│ │ │ │ └─ Wertigkeit: 27
│ │ │ └─ Wertigkeit: 20
│ │ └─ Wertigkeit: 27
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus sollten folgende Algorithmen nicht ausgeführt werden:
- dieser Algorithmus
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden.
- dieser Algorithmus
4 - um einen Wert senken
Beschreibung
Die Bitfolge vonwerden als "little endian"-kodierte Werte vom Variablentyp "Ganzzahl ohne Vorzeichen" interpretiert. Dann wird der Wert von den zu verschlüsselnden Daten um den Wert vom Parameter gesenkt:
- den zu verschlüsselnden Daten und
- dem Parameter
Nutzdaten_-_verschlüsselt = Nutzdaten_-_unverschlüsselt - Parameter
Wenndann
- ein Unterlauf stattfindet, also zum Beispiel weil der Wert "0000 0010|b" um "0000 0111|b" gesenkt wird,
- kann der Unterlauf ignoriert werden.
Das Ergebnis ist dann konsequenterweise "1111 1011|b".
Wenndann
- ein "1 Byte"-großer Wert um "0000 0010|b" gesenkt wird,
- bewirkt dies das Selbe, als wenn er um "1111 1110|b" erhöht wird.
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"00001101"
vorher
Wert von den Daten:"01011001"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"01001100"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"11001111 00000100 00000000 00000000"
vorher
Wert von den Daten:"11111111 01010100 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"00110000 01010000 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus sollten folgende Algorithmen nicht ausgeführt werden:
- dieser Algorithmus
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden. Allerdings muss der Wert erhöht werden, anstatt ihn zu senken.
- dieser Algorithmus
Alternativen
Anstatt die Nutzdaten um einen Wert zu erhöhen, können die Nutzdaten auch um (den Wert * (-1|d)) gesenkt werden.
5 - von einem Wert abziehen
Beschreibung
Die Bitfolge vonwerden als "little endian"-kodierte Werte vom Variablentyp "Ganzzahl ohne Vorzeichen" interpretiert. Dann wird der Wert von den zu verschlüsselnden Daten vom Wert vom Parameter abgezogen:
- den zu verschlüsselnden Daten und
- dem Parameter
Nutzdaten_-_verschlüsselt = Parameter - Nutzdaten_-_unverschlüsselt
Wenndann
- ein Unterlauf stattfindet, also zum Beispiel weil der Wert "0000 0111|b" vom Wert "0000 0010|b" abgezogen wird,
- kann der Unterlauf ignoriert werden.
Das Ergebnis ist dann konsequenterweise "1111 1011|b".
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"01011001"
vorher
Wert von den Daten:"00001101"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"01001100"
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
bei einer "4 Byte"-großen Bitfolge
Parameter
Wert vom Parameter:"11111111 01010100 00110100 00010011"
vorher
Wert von den Daten:"11001111 00000100 00000000 00000000"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
nachher
Wert von den Daten:"00110000 01010000 00110100 00010011"
│ │ │ │ │ │ │ └─ Wertigkeit: 224
│ │ │ │ │ │ └─ Wertigkeit: 231
│ │ │ │ │ └─ Wertigkeit: 216
│ │ │ │ └─ Wertigkeit: 223
│ │ │ └─ Wertigkeit: 28
│ │ └─ Wertigkeit: 215
│ └─ Wertigkeit: 20
└─ Wertigkeit: 27
Hinweise zur Reihenfolge
Nach diesem Algorithmus sollten folgende Algorithmen nicht ausgeführt werden:
- dieser Algorithmus
Umkehralgorithmus
Um das Ergebnis von diesem Algorithmus wieder rückgängig zu machen, musserneut ausgeführt werden.
- dieser Algorithmus
Dokumente
Name vom Autor: Name vom Dokument: Sprache: Umfang vom Inhalt: Weblink: Verschlüsselung - Verschlüsselungsmethoden - individuelle Verschlüsselung deutsch
- beschreibt eine Verschlüsselungsmethode, bei welchem eine multialgorithmische Bitfolgenmanipulation für die Implementation von der Verschlüsselung dient
OnTheServer.de/Downloads/