Stand: 3. Februar 2019

Inhaltsverzeichnis

über dieses Dokument
was es hierin gibt
wo man die neuste Version bekommt
wie man den Verfasser kontaktiert
welche gesetzlichen Einschränkungen es gibt
Lizenzlosigkeit
Verfasserschutz
Vorbehalt für zusätzliche Einschränkungen für zukünftige Versionen

allgemeine Informationen über die multialgorithmische Bitfolgenmanipulation
was es ist
welchen Nutzen es bringt
Aufwärtskompatibilität

die Details von der multialgorithmischen Bitfolgenmanipulation
Algorithmen
Übersicht
0 - die Werte von 2 Bits tauschen
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus
1 - die Werte von 2 Bytes tauschen
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "3 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus
2 - nach links rotieren
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus
Alternativen
3 - auf Ungleichheit überprüfen
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus
4 - um einen Wert senken
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus
Alternativen
5 - von einem Wert abziehen
Beschreibung
Beispiel
bei einer "1 Byte"-großen Bitfolge
Parameter
vorher
nachher
bei einer "4 Byte"-großen Bitfolge
Parameter
vorher
nachher
Hinweise zur Reihenfolge
Umkehralgorithmus

weiteres Material zu diesem Thema
Dokumente


über dieses Dokument

was es hierin gibt

Dieses Dokument

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ür
  • die Veränderung oder/und
  • die Verbreitung
aufzuerlegen. Von den Einschränkungen wären lediglich neue Versionen betroffen. Was bisher veröffentlicht wurde, erhält keine weiteren Einschränkungen.

Von diesem Recht werde ich hoffentlich nie gebrauch machen müssen.


allgemeine Informationen über die multialgorithmische Bitfolgenmanipulation

was es ist

Wenn dann
Unter der Bezeichnung "multialgorithmische Bitfolgenmanipulation" läuft allerdings auch eine Definition, mit deren Hilfe

welchen Nutzen es bringt

Um Daten zu verschlüsseln, können die Daten als Bitfolgen betrachtet werden, welche nach einem bestimmten Muster verändert werden.

Das Muster, welches angewand wird, um die Daten zu verschlüsseln, ist der Schlüssel von der Verschlüsselung. Wenn dann
Angenommen es werden Daten auf folgende Weise verschlüsselt:
  1. Zuerst werden die Daten als Ganzzahl betrachtet und der Wert wird um 1 gesenkt,
  2. dann werden die Werte von den einzelnen Bits negiert und
  3. 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:
  1. Zuerst werden alle Bits 1 mal nach rechts rotiert,
  2. dann werden die Werte von den einzelnen Bits negiert und
  3. dann wird das Zwischenergebnis als Ganzzahl betrachtet und der Wert wird um 1 erhöht.

Um nun eine Verschlüsselung zu realisieren, können

Aufwärtskompatibilität

Wenn dann


die Details von der multialgorithmischen Bitfolgenmanipulation

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, muss
  • dieser Algorithmus
erneut ausgeführt werden.

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, muss
  • dieser Algorithmus
erneut ausgeführt werden.

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.

Wenn
  • eine Anzahl angegeben wird, welche größer ist, als die Anzahl der Bits von der Bitfolge vom Block,
dann
  • 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)

Wenn
  • eine "4 Byte"-große Bitfolge 30|d mal nach links rotiert wird,
dann
  • 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, muss
  • dieser Algorithmus
erneut ausgeführt werden. Allerdings mit dem Unterschied, dass nicht nach links rotiert werden muss, sondern nach rechts.

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.

Wenn
  • die zu verschlüsselnde Bitfolge mit der Hilfe vom Wert "101|b" auf Ungleichheit überprüft wird,
dann
  • bewirkt dies das Selbe, als wenn sie mit dem Wert "010|b" auf Gleichheit überprüft wird.
Ansonsten wenn
  • die zu verschlüsselnde Bitfolge mit der Hilfe vom dem Wert "111|b" auf Ungleichheit überprüft wird,
dann
  • 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, muss
  • dieser Algorithmus
erneut ausgeführt werden.

4 - um einen Wert senken

Beschreibung

Die Bitfolge von
  • den zu verschlüsselnden Daten und
  • dem Parameter
werden 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:
Nutzdaten_-_verschlüsselt = Nutzdaten_-_unverschlüsselt - Parameter

Wenn
  • ein Unterlauf stattfindet, also zum Beispiel weil der Wert "0000 0010|b" um "0000 0111|b" gesenkt wird,
dann
  • kann der Unterlauf ignoriert werden.

    Das Ergebnis ist dann konsequenterweise "1111 1011|b".

Wenn
  • ein "1 Byte"-großer Wert um "0000 0010|b" gesenkt wird,
dann
  • 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, muss
  • dieser Algorithmus
erneut ausgeführt werden. Allerdings muss der Wert erhöht werden, anstatt ihn zu senken.

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 von
  • den zu verschlüsselnden Daten und
  • dem Parameter
werden 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:
Nutzdaten_-_verschlüsselt = Parameter - Nutzdaten_-_unverschlüsselt

Wenn
  • ein Unterlauf stattfindet, also zum Beispiel weil der Wert "0000 0111|b" vom Wert "0000 0010|b" abgezogen wird,
dann
  • 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, muss
  • dieser Algorithmus
erneut ausgeführt werden.


weiteres Material zu diesem Thema

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/