Stand: 31. Juli 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 zur Bibliothek
Zweck

programmiertechnische Informationen zur Bibliothek
Abhängigkeiten
Auswirkungen auf Flaggen
Auswirkungen auf Register
Basisadresse
Fehler-Identifikationskennung
Übergabe von den Eingabe-Parameterwerten
Übergabe von den Rückgabe-Parameterwerten

die Details
Datensätze
Ereignismeldungen
Funktionen
Nutzdaten
entschlüsseln
decode
allgemein
Hinweis-Wert
Parameter
Übersicht
Eingabe
Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil
Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte
Quelle_-_Passwort_-_Adresse_-_virtueller_Teil
Quelle_-_Passwort_-_Länge_in_Byte
Version
Rückgabe
Fehler_-_Identifikationskennung
verschlüsseln
encode
allgemein
Hinweis-Wert
Parameter
Übersicht
Eingabe
Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil
Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte
Quelle_-_Passwort_-_Adresse_-_virtueller_Teil
Quelle_-_Passwort_-_Länge_in_Byte
Version
Rückgabe
Fehler_-_Identifikationskennung

Stichwortverzeichnis
Funktionen
Namen
anhand von den Kategorien gruppiert
ungruppiert

weiteres Material zu diesem Thema
Bibliotheken
Dokumente
über Dateiformate
Programme
Sonstiges
Aufnahme von weiteren Materialien


ü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 zur Bibliothek

Zweck

Mit der Hilfe von den Funktionen von dieser Bibliothek können Nutzdaten gemäß der Verschlüsselungsmethode "individuelle Verschlüsselung" werden.


programmiertechnische Informationen zur Bibliothek

Abhängigkeiten

Diese Bibliothek benötigt selbst keine Funktionen aus anderen Bibliotheken, damit ihre eigenen Funktionen funktionieren. Wenn dann

Auswirkungen auf Flaggen

Die Werte von allen Statusflaggen können durch einen Funktionsdurchlauf geändert werden:
Der Wert von der Steuerungsflagge wird durch einen Funktionsdurchlauf nicht geändert.

Auswirkungen auf Register

Beim Benutzen von den Funktionen sollte beachtet werden, dass die Werte von manchen Registern durch einen Funktionsdurchlauf geändert werden können. Es gibt aber auch Register, deren Werte beim Zurückkehren von der Funktion noch/wieder die Selben sind, wie sie waren, als die Funktion aufgerufen wurde.

Die Werte von den folgenden Registern werden durch einen Funktionsdurchlauf

Basisadresse

Basisadresse: Betriebssystem:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
0 00000000 00000000 00000000 00000000 2er-System
(Binär-System)
0 10er-System
(Dezimal-System)
0 00 00 00 00 16er-System
(Hexadezimal-System)
Linux
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
10000 00000000 00000000 00000000 00000000 00000000 00000000 00010000 2er-System
(Binär-System)
268.435.456 10er-System
(Dezimal-System)
10 00 00 00 00 00 00 10 16er-System
(Hexadezimal-System)
Windows

Fehler-Identifikationskennung

Die Funktionen benutzen den Rückgabewert, welcher mit der Hilfe vom Register "extended accumulator" ("eax") übergeben wird, um bekannt zu machen, ob der Funktionsdurchlauf erfolgreich war. Bei jeder Funktion gilt folgendes:

Übergabe von den Eingabe-Parameterwerten

Die Werte von den Eingabe-Parametern werden einer Funktion übergeben, indem
Der Aufrufer, also zum Beispiel die Anwendung, muss
Anschließend nutzt der Aufrufer den Befehl "call".

Mit der Hilfe von diesem Befehl wird
  1. zunächst die Rücksprungadresse auf den Stapel gelegt.
  2. Anschließend wird die Kontrolle über den CPU der aufgerufenen Funktion übergeben.

Die aufgerufene Funktion liest vom Stapel. Dadurch werden diese vom Stapel gelöscht. Nachdem der Funktionsdurchlauf abgeschlossen ist, benutzt die Funktion die Rücksprungadresse, um zurück zu springen.

Durch den Rücksprung wird die Kontrolle über den CPU dem Aufrufer zurückgegeben.

Dieser Ablauf

Übergabe von den Rückgabe-Parameterwerten

Bei den Rückgabe-Parametern gibt es 2 Gruppen:
Jede Funktion speichert die Fehler-Identifikationskennung für die Übergabe im Allzweckregister
Für diese Fehler-Identifikationskennung kann auch der Wert "0" zurückgegeben werden, um auszudrücken, dass kein Fehler aufgetreten ist.

Manche Funktionen haben allerdings weitere Rückgabe-Parameter. Das sind weitere Daten, welche die Funktion dem Aufrufer übergibt.

Wenn dann


die Details

Datensätze

- Bei der Kommunikation mit dieser Bibliothek sind keine Datensätze von Bedeutung. -

Ereignismeldungen

- Bei der Kommunikation mit dieser Bibliothek sind keine Ereignismeldungen von Bedeutung. -

Funktionen

Nutzdaten

entschlüsseln

decode
allgemein
Name: decode
Beschreibung: Diese Funktion entschlüsselt die Nutzdaten mit der Hilfe vom angegebenen Passwort.
Ereignismeldungen,
welche emittiert werden können:
- Diese Funktion emittiert keine Ereignismeldung. -

Hinweis-Wert
Beschreibung: Ein Hinweis-Wert dient beim Dateiformat "portable executable" ("pe") um einen schnelleren Import zu ermöglichen.
Größe: 2 Byte
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
0 00000000 00000000 2er-System
(Binär-System)
0 10er-System
(Dezimal-System)
0 00 00 16er-System
(Hexadezimal-System)

Parameter
Übersicht
(
Fehler_-_Identifikationskennung
) = decode(
Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil,
Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte,
Quelle_-_Passwort_-_Adresse_-_virtueller_Teil,
Quelle_-_Passwort_-_Länge_in_Byte,
Version
)

Eingabe
Anzahl: 5

Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101011 00010100 00011110 11101000 11101000 00011110 00010100 00101011 2er-System
(Binär-System)
722.738.920 10er-System
(Dezimal-System)
2B 14 1E E8 E8 1E 14 2B 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Adresse von der Speicherstelle angegeben, an welcher die Nutzdaten beginnen. Es handelt sich
  • dieser Adresse um eine virtuelle Adresse vom Segment vom Programm.
  • diesen Nutzdaten um jene Nutzdaten, welche
    • verschlüsselt sind und
    • als Quelle dienen sollen.

Diese Nutzdaten werden während dem Funktionsdurchlauf mit der Hilfe von den entschlüsselten Nutzdaten überschrieben. Die Länge von der Bytefolge ändert sich dadurch nicht.
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101000 00101000 00000000 00000000 00000000 2er-System
(Binär-System)
40 10er-System
(Dezimal-System)
28 28 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: siehe: hier
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_-_Passwort_-_Adresse_-_virtueller_Teil
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101011 00010100 00011111 00010000 00010000 00011111 00010100 00101011 2er-System
(Binär-System)
722.738.960 10er-System
(Dezimal-System)
2B 14 1F 10 10 1F 14 2B 16er-System
(Hexadezimal-System)
Beschreibung: siehe: hier
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_-_Passwort_-_Länge_in_Byte
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1111 00001111 00000000 00000000 00000000 2er-System
(Binär-System)
15 10er-System
(Dezimal-System)
F 0F 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: siehe: hier
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Version
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1 00000001 00000000 00000000 00000000 2er-System
(Binär-System)
1 10er-System
(Dezimal-System)
1 01 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: siehe: hier
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Rückgabe
Anzahl: 1

Fehler_-_Identifikationskennung
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
0 00000000 00000000 00000000 00000000 2er-System
(Binär-System)
0 10er-System
(Dezimal-System)
0 00 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: siehe: hier
Fehler-Identifikationskennungen,
welche zurückgegeben werden können:
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Funktion.initialisieren.Parameterwerte überprüfen.wenn: Quelle_-_Passwort_-_Länge_in_Byte==0|d
Fehler-Beschreibung: Es wurde der Wert "0|d" für den Parameter "Quelle_-_Passwort_-_Länge_in_Byte" übergeben.

Dies ist nicht zulässig.

Das Passwort ist zu kurz. Es muss mindestens der Wert "1|d" übergeben werden.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000001 00000001 00000001 01000001 01000000 00100000 2er-System
(Binär-System)
541.081.857 10er-System
(Dezimal-System)
20 40 41 01 01 41 40 20 16er-System
(Hexadezimal-System)
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Schlüssel erzeugen.auslesen.Wert ist ungeeignet.wenn: Passwort_-_Adresse_-_ursprünglich==Passwort_-_Adresse_-_momentan
Fehler-Beschreibung: Das Passwort ist ungeeignet.

Dies ist nicht zulässig.

Die Verschlüsselungsmethode definiert einen Ablauf, mit dessen Hilfe aus einem Passwort ein Schlüssel erzeugt wird. Dieser Ablauf ist jedoch so definiert, dass beim übergebenen Passwort kein Schlüssel erzeugt werden kann.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000010 00000001 00000001 01000010 01000000 00100000 2er-System
(Binär-System)
541.082.113 10er-System
(Dezimal-System)
20 40 42 01 01 42 40 20 16er-System
(Hexadezimal-System)
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Funktion.initialisieren.Parameterwerte überprüfen.wenn: Quelle_-_Passwort_-_Länge_in_Byte>200|d Kilobyte
Fehler-Beschreibung: Es wurde ein Wert für den Parameter "Quelle_-_Passwort_-_Länge_in_Byte" übergeben, welcher größer als 200|d Kilobyte ist.

Dies ist nicht zulässig.

Das Passwort ist zu lang. Es darf maximal der Wert "200|d * 1.024|d = 204.800|d" übergeben werden. Der Hintergrund hiervon besteht darin, dass das Passwort komprimiert auf dem Stapel zwischengespeichert wird. Mit der Hilfe von dieser Begrenzung ist das komprimierte Passwort auf dem Stapel
  • bei der Version == "0.0" maximal "100|d Kilobyte"-groß und
  • bei der Version >= "0.1" maximal "50|d Kilobyte"-groß.

Die Daten auf dem Stapel müssen in ihrer Größe begrenzt werden, da der Stapel vom Programm begrenzt ist. Im Normalfall wird bei einem "200|d Kilobyte"-großen Passwort jedoch ohnehin nur ein kleiner Teil vom Anfang vom Passwort verwendet, sodass größere Passwörter ohnehin keinen Sicherheitsgewinn bringen würden.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000011 00000001 00000001 01000011 01000000 00100000 2er-System
(Binär-System)
541.082.369 10er-System
(Dezimal-System)
20 40 43 01 01 43 40 20 16er-System
(Hexadezimal-System)
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
extended accumulator (eax)
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

verschlüsseln

encode
allgemein
Name: encode
Beschreibung: Diese Funktion verschlüsselt die Nutzdaten mit der Hilfe vom angegebenen Passwort.
Ereignismeldungen,
welche emittiert werden können:
- Diese Funktion emittiert keine Ereignismeldung. -

Hinweis-Wert
Beschreibung: Ein Hinweis-Wert dient beim Dateiformat "portable executable" ("pe") um einen schnelleren Import zu ermöglichen.
Größe: 2 Byte
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1 00000001 00000000 2er-System
(Binär-System)
1 10er-System
(Dezimal-System)
1 01 00 16er-System
(Hexadezimal-System)

Parameter
Übersicht
(
Fehler_-_Identifikationskennung
) = encode(
Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil,
Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte,
Quelle_-_Passwort_-_Adresse_-_virtueller_Teil,
Quelle_-_Passwort_-_Länge_in_Byte,
Version
)

Eingabe
Anzahl: 5

Quelle_und_Ziel_-_Nutzdaten_-_Adresse_-_virtueller_Teil
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101011 00010100 00011110 11101000 11101000 00011110 00010100 00101011 2er-System
(Binär-System)
722.738.920 10er-System
(Dezimal-System)
2B 14 1E E8 E8 1E 14 2B 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Adresse von der Speicherstelle angegeben, an welcher die Nutzdaten beginnen. Es handelt sich
  • dieser Adresse um eine virtuelle Adresse vom Segment vom Programm.
  • diesen Nutzdaten um jene Nutzdaten, welche
    • noch unverschlüsselt sind und
    • als Quelle dienen sollen.

Diese Nutzdaten werden während dem Funktionsdurchlauf mit der Hilfe von den verschlüsselten Nutzdaten überschrieben. Die Länge von der Bytefolge ändert sich dadurch nicht.
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_und_Ziel_-_Nutzdaten_-_Länge_in_Byte
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101000 00101000 00000000 00000000 00000000 2er-System
(Binär-System)
40 10er-System
(Dezimal-System)
28 28 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Länge von den Nutzdaten in Byte angegeben.
  • Die Quell-Nutzdaten und
  • die Ziel-Nutzdaten
sind gleich lang.
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_-_Passwort_-_Adresse_-_virtueller_Teil
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
101011 00010100 00011111 00010000 00010000 00011111 00010100 00101011 2er-System
(Binär-System)
722.738.960 10er-System
(Dezimal-System)
2B 14 1F 10 10 1F 14 2B 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Adresse von der Speicherstelle angegeben, an welcher eine Zeichenkette beginnt. Es handelt sich bei
  • dieser Adresse um eine virtuelle Adresse vom Segment vom Programm.
  • dieser Zeichenkette um jene Zeichenkette, welche
    • mit der Hilfe von der Zeichenkodierung "Unicode Character Set - 2 byte per character; little endian encoded" ("UCS-2LE") kodiert ist und
    • das Passwort gespeichert hält.

Die Zeichenkette muss nicht mit der Hilfe von weiteren Bytes abgeschlossen sein, von welchen alle Bits auf "0|b" gesetzt sind, da die Länge von der Zeichenkette angegeben wird.

Im Kapitel "weiteres Material zu diesem Thema - Dokumente" ist ein Dokument über Zeichenkodierungen aufgelistet. In diesem Dokument ist auch die zu verwendende Zeichenkodierung beschrieben.
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Quelle_-_Passwort_-_Länge_in_Byte
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1111 00001111 00000000 00000000 00000000 2er-System
(Binär-System)
15 10er-System
(Dezimal-System)
F 0F 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Länge vom der Zeichenkette in Byte angegeben. Es handelt sich bei
  • dieser Zeichenkette um jene Zeichenkette, welche das Passwort gespeichert hält.
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Version
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1 00000001 00000000 00000000 00000000 2er-System
(Binär-System)
1 10er-System
(Dezimal-System)
1 01 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: Mit der Hilfe von diesem Wert wird die Version von der Verschlüsselungsmethode angegeben.

Es gibt die folgenden gültigen Werte:
Bedeutung: Wert:
Es soll die Version "0.0" verwendet werden.
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
0 00000000 00000000 00000000 00000000 2er-System
(Binär-System)
0 10er-System
(Dezimal-System)
0 00 00 00 00 16er-System
(Hexadezimal-System)
Es soll die Version "0.1" verwendet werden.
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
1 00000001 00000000 00000000 00000000 2er-System
(Binär-System)
1 10er-System
(Dezimal-System)
1 01 00 00 00 16er-System
(Hexadezimal-System)
Es soll die Version "0.2" verwendet werden.
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
10 00000010 00000000 00000000 00000000 2er-System
(Binär-System)
2 10er-System
(Dezimal-System)
2 02 00 00 00 16er-System
(Hexadezimal-System)
Es soll die höchste Version verwendet werden, welche die Bibliothek unterstützt.
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 2er-System
(Binär-System)
4.294.967.295 10er-System
(Dezimal-System)
FF FF FF FF FF FF FF FF 16er-System
(Hexadezimal-System)
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
Stapel
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen

Rückgabe
Anzahl: 1

Fehler_-_Identifikationskennung
Beispiel:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
0 00000000 00000000 00000000 00000000 2er-System
(Binär-System)
0 10er-System
(Dezimal-System)
0 00 00 00 00 16er-System
(Hexadezimal-System)
Beschreibung: Wenn
  • ein Fehler aufgetreten ist,
dann
  • wird die Fehler-Identifikationskennung zurückgegeben.

    Die Fehler-Identifikationskennung hat nie den Wert
    Wert gemäß Zahlensystem:
    der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
    0 00000000 00000000 00000000 00000000 2er-System
    (Binär-System)
    0 10er-System
    (Dezimal-System)
    0 00 00 00 00 16er-System
    (Hexadezimal-System)

    In diesem Fall sind die Nutzdaten vollständig ungeändert geblieben.
Ansonsten
  • wird der Wert
    Wert gemäß Zahlensystem:
    der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
    0 00000000 00000000 00000000 00000000 2er-System
    (Binär-System)
    0 10er-System
    (Dezimal-System)
    0 00 00 00 00 16er-System
    (Hexadezimal-System)
    zurückgegeben.
Fehler-Identifikationskennungen,
welche zurückgegeben werden können:
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Funktion.initialisieren.Parameterwerte überprüfen.wenn: Quelle_-_Passwort_-_Länge_in_Byte==0|d
Fehler-Beschreibung: Es wurde der Wert "0|d" für den Parameter "Quelle_-_Passwort_-_Länge_in_Byte" übergeben.

Dies ist nicht zulässig.

Das Passwort ist zu kurz. Es muss mindestens der Wert "1|d" übergeben werden.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000001 00000001 00000001 01000001 01000000 00100000 2er-System
(Binär-System)
541.081.857 10er-System
(Dezimal-System)
20 40 41 01 01 41 40 20 16er-System
(Hexadezimal-System)
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Schlüssel erzeugen.auslesen.Wert ist ungeeignet.wenn: Passwort_-_Adresse_-_ursprünglich==Passwort_-_Adresse_-_momentan
Fehler-Beschreibung: Das Passwort ist ungeeignet.

Dies ist nicht zulässig.

Die Verschlüsselungsmethode definiert einen Ablauf, mit dessen Hilfe aus einem Passwort ein Schlüssel erzeugt wird. Dieser Ablauf ist jedoch so definiert, dass beim übergebenen Passwort kein Schlüssel erzeugt werden kann.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000010 00000001 00000001 01000010 01000000 00100000 2er-System
(Binär-System)
541.082.113 10er-System
(Dezimal-System)
20 40 42 01 01 42 40 20 16er-System
(Hexadezimal-System)
Beschreibung:
Bibliothek:
(in welcher der Fehler aufgetreten ist)
individual_encryption
Funktion:
(in welcher der Fehler aufgetreten ist)
gemeinsamer Code
Abschnitt:
(in welchem der Fehler aufgetreten ist)
Funktion.initialisieren.Parameterwerte überprüfen.wenn: Quelle_-_Passwort_-_Länge_in_Byte>200|d Kilobyte
Fehler-Beschreibung: Es wurde ein Wert für den Parameter "Quelle_-_Passwort_-_Länge_in_Byte" übergeben, welcher größer als 200|d Kilobyte ist.

Dies ist nicht zulässig.

Das Passwort ist zu lang. Es darf maximal der Wert "200|d * 1.024|d = 204.800|d" übergeben werden. Der Hintergrund hiervon besteht darin, dass das Passwort komprimiert auf dem Stapel zwischengespeichert wird. Mit der Hilfe von dieser Begrenzung ist das komprimierte Passwort auf dem Stapel
  • bei der Version == "0.0" maximal "100|d Kilobyte"-groß und
  • bei der Version >= "0.1" maximal "50|d Kilobyte"-groß.

Die Daten auf dem Stapel müssen in ihrer Größe begrenzt werden, da der Stapel vom Programm begrenzt ist. Im Normalfall wird bei einem "200|d Kilobyte"-großen Passwort jedoch ohnehin nur ein kleiner Teil vom Anfang vom Passwort verwendet, sodass größere Passwörter ohnehin keinen Sicherheitsgewinn bringen würden.
Wert:
Wert gemäß Zahlensystem:
der regulären Schreibweise: dem Variablentyp "Ganzzahl ohne Vorzeichen":
100000 01000000 01000011 00000001 00000001 01000011 01000000 00100000 2er-System
(Binär-System)
541.082.369 10er-System
(Dezimal-System)
20 40 43 01 01 43 40 20 16er-System
(Hexadezimal-System)
Größe: 4 Byte
Speicherzelle,
welche für die Übergabe vom Wert dient:
extended accumulator (eax)
Variablentyp,
gemäß welchem der Wert zu interpretieren ist:
Ganzzahl ohne Vorzeichen


Stichwortverzeichnis

Funktionen

Namen

anhand von den Kategorien gruppiert


ungruppiert


weiteres Material zu diesem Thema

Bibliotheken

Name Beschreibung: Weblink:
vom Autor: von der Bibliothek:
individual_encryption Dies ist die allgemeinfreie und kostenlose Bibliothek, welche in diesem Dokument beschrieben ist. ../../Betriebssystem-spezifisches/
../../Betriebssystem-unspezifisches/

Dokumente

Name vom Sprache: Umfang vom Inhalt: Weblink:
Autor: Dokument:
Verschlüsselung - Verschlüsselungsmethoden - individuelle Verschlüsselung deutsch
  • beschreibt die Verschlüsselungsmethode "individuelle Verschlüsselung", welche ein Ablauf ist, mit dessen Hilfe ein vom Passwort abhängiger
    • Ent- und
    • Verschlüsselungsalgorithmus
    für Daten definiert wird
OnTheServer.de/Downloads/
Zeichenkodierungen
  • beschreibt verschiedene Zeichenkodierungen

über Dateiformate

Name vom Sprache: Umfang vom Inhalt: Weblink:
Autor: Dokument:
Betriebssystem-spezifische - Linux - Dateiformate - ausführbare Dateien und Bibliotheken deutsch
  • beschreibt das Dateiformat "executable and linking" ("elf"), also das Dateiformat, welches in Linux für
    • ausführbare Dateien und
    • Bibliotheken
    verwendet wird
  • zeigt Schritt für Schritt, wie mit der Hilfe von einem Hex-Editor
    • ein "Hallo Welt!"-Programm und
    • eine Bibliothek mit einer "Hallo Welt!"-Funktion
    geschrieben werden kann.
OnTheServer.de/Downloads/
Betriebssystem-spezifische - Windows - Dateiformate - ausführbare Dateien und Bibliotheken
  • behandelt das Dateiformat "portable executable" ("pe"), also das Dateiformat, welches in Windows für
    • ausführbare Dateien und
    • Bibliotheken
    verwendet wird
  • zeigt Schritt für Schritt, wie mit der Hilfe von einem Hex-Editor
    • ein "Hallo Welt!"-Programm und
    • eine Bibliothek mit einer "Hallo Welt!"-Funktion
    geschrieben werden kann.

Programme

Name vom Beschreibung: notwendiges Betriebssystem: Sprache: Weblink:
Autor: Programm:
Steve Hutchesson Binary to Hex Editor "Binary to Hex Editor" ist ein kostenloses, minimalistisches, "20 Kilobyte"-großes Programm mit grafischer Benutzeroberfläche. Das Programm ist nicht allgemeinfrei und den Quelltext bekommt man glaube ich auch nicht.

Funktionen:
  • Hexeditor, mit welchem man Rohdaten-Dateien öffnen und editieren kann
  • Speicherung von der hexadezimal-Darstellung von einer Rohdaten-Datei als ASCII-kodierte Textdatei
  • Speicherung von einer hexadezimal-Darstellung als Rohdaten-Datei

Nachteilhaft ist allerdings, dass es lange braucht und viel Arbeitsspeicher notwendig ist, um große Dateien zu öffnen.
Windows englisch movsd.com/download/b2hedit.zip
Demonstrationsprogramm Dies ist ein kostenloses Konsolen-Programm. Das Programm ist allgemeinfrei.

Funktionen:
  • kann mit der Hilfe von der Bibliothek und einem Passwort eine Datei
    • entschlüsseln und
    • verschlüsseln,
  • kann im Fehlerfall eine Fehler-Identifikationskennung anzeigen
  • Linux oder
  • Windows
deutsch ../../Betriebssystem-spezifisches/
Fehler-Identifikationskennung → Fehlermeldung Dies ist ein kostenloses Konsolen-Programm. Das Programm ist allgemeinfrei.

Funktionen:
  • kann anhand von einer vorgegebenen Fehler-Identifikationskennung eine Fehlermeldung anzeigen
Windows OnTheServer.de/Downloads/

Sonstiges

Name vom Beschreibung: Sprache: Weblink:
Autor: Material:
Import-Definitionsdatei für Minicode Diese Datei enthält die Import-Definitionen, um die Bibliothek "individual_encryption" mit der Hilfe von der Programmiersprache "Minicode" zu verwenden. Minicode ../Minicode/
individual_encryption.mico-imde

Aufnahme von weiteren Materialien

Wenn dann
Sie dürfen durchaus auch Ihre eigenen Materialien zuschicken.

Bei den zugesendeten Materialien werde ich beurteilen, ob sie sich für die Auflistung eignen. Manche Materialien werden nicht aufgenommen, weil beispielsweise ein Hinweis enthalten ist, dass Es besteht kein Anspruch darauf, dass zugesendete Materialien aufgenommen werden.

Link zum Kapitel "wie man den Verfasser kontaktiert".