Pad-Byte


Pad-Byte

Padding (von engl. to pad für auffüllen) ist ein Fachbegriff der Informatik für Fülldaten, mit denen ein vorhandener Datenbestand vergrößert wird. Die Füllbytes werden auch Pad-Bytes genannt. Die für Prüfsummen verwendeten Daten zählen hierbei nicht zum Padding.

Padding wird vorwiegend eingesetzt, um vorhandene Daten in die Gestalt einer durch einen Algorithmus oder ein Protokoll vorgegebenen Struktur zu bringen. Entsprechen die vorhandenen Daten nicht der Struktur – beispielsweise eine Folge von 50 Bits bei einem Algorithmus, der auf einem Block von 64 Bit Länge operiert – werden diese mit geeigneten Bit- oder Bytefolgen erweitert. Die Wahl des Paddings kann hierbei – je nach Anwendung – von simplem Auffüllen mit Nullen bis zu komplexen Schemata reichen.

In der klassischen Kryptographie wurde Padding variabler Längen hingegen dazu eingesetzt, Anfang und Ende des Inhalts eines versandten Chiffrats zu verschleiern. Hierdurch sollte es Kryptanalysten erschwert werden, die Position fester Begriffe – etwa der Absenders oder eine Anrede – zu erraten und mit Hilfe einer solchen „Crib“ die Nachricht zu dechiffrieren.

In der modernen Kryptographie – in der simple „Cribs“ aufgrund der Komplexität der Algorithmen keine Rolle mehr spielen – hat das Padding neben dem reinen Auffüllen zudem die Aufgabe, die Sicherheit des Algorithmus zu erhöhen:

  • Im Falle von Merkle-Damgård-Hash-Funktionen – der überwiegend verwendeten Form kryptographischer Hash-Funktionen – wird das Padding dazu eingesetzt, dass sich die Klartextbits im Hash möglichst gut vermischen und Hashes ähnlicher Klartexte möglichst stark voneinander abweichen.
  • Bei asymmetrischer Kryptographie, vor allem beim RSA-Kryptosystem, soll das Padding dem Ergebnis (z. B. dem Chiffretext oder der digitalen Signatur) eine definierte Struktur geben und so kryptanalytische Angriffe (z. B. die Manipulation der digitalen Signatur) erschweren. Um dies zu erreichen, werden zum Auffüllen konstante oder nachrichtenabhängige Bitstrings verwendet. Standards für Paddingverfahren für RSA werden z. B. in PKCS#1 oder ISO 9796 festgelegt.
  • Bei symmetrischen und asymmetrischen Blockchiffren wird Padding verwendet, um den Klartext an die Blocklänge anzupassen. Die meisten Betriebsarten (z. B. ECB, CBC) verlangen als Eingabe einen Klartext, dessen Länge ein Vielfaches der Blocklänge ist.[1] An das Auffüllen des Klartextes werden folgende Ansprüche gestellt:[2]
    • Jeder beliebige Klartext kann an ein Vielfaches der Blocklänge angepasst werden.
    • Das Padding ist eindeutig invertierbar.
    • Die durchschnittliche Längenexpansion sollte minimal sein.
Um diese Kriterien einzuhalten, bietet es sich an, jedem Klartext ein festgelegtes Zeichen (z. B. „1”) anzuhängen und dann mit einem anderen Zeichen (z. B. „0”) aufzufüllen.[3]

Außerhalb der Kryptographie findet man Padding bei Netzwerkprotokollen, diversen fest strukturierten Dateiformaten wie beispielsweise Grafikdateien, sowie allgemein (also sowohl in Dateien als auch im Arbeitsspeicher des Computers) in diversen Datenstrukturen, die Regeln solcher Art erfüllen müssen, beispielsweise Beginn neuer Elemente immer nur an geraden oder durch vier teilbaren Adressen. Bei Musikdateien findet Padding Anwendung, wenn Metadaten am Anfang der Datei stehen. Dadurch können die Metadaten in der Länge verändert werden (mit entsprechend gegenteiliger Änderung des Paddings), ohne dass die ganze Datei neu geschrieben werden muss (da die Position der Nutzdaten unverändert bleibt).

Quellen

  1. Niels Ferguson und Bruce Schneier: Practical Cryptography, Wiley 2003 S.68
  2. Andreas Pfitzmann: Skript Sicherheit in Rechnernetzen S.355
  3. Andreas Pfitzmann: Skript Sicherheit in Rechnernetzen S.424f
Dieser Artikel oder Abschnitt ist nicht hinreichend mit Belegen (Literatur, Webseiten oder Einzelnachweisen) versehen. Die fraglichen Angaben werden daher möglicherweise demnächst gelöscht. Hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Bitte entferne erst danach diese Warnmarkierung.

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • One-Time-Pad — Beispiel eines One Time Pads Das One Time Pad (Abkürzung: OTP, deutsch: Einmalverschlüsselung oder Einmalschlüssel Verfahren, wörtlich Einmal Block, nicht zu verwechseln mit dem Einmal Passwort Verfahren) ist ein symmetrisches… …   Deutsch Wikipedia

  • One-Time Pad — Beispiel eines One Time Pads Das One Time Pad (Abkürzung: OTP, deutsch: Einmalverschlüsselung oder Einmalschlüssel Verfahren, wörtlich Einmal Block, nicht zu verwechseln mit dem Einmal Passwort Verfahren) ist ein symmetrisches… …   Deutsch Wikipedia

  • One-time pad — Beispiel eines One Time Pads Das One Time Pad (Abkürzung: OTP, deutsch: Einmalverschlüsselung oder Einmalschlüssel Verfahren, wörtlich Einmal Block, nicht zu verwechseln mit dem Einmal Passwort Verfahren) ist ein symmetrisches… …   Deutsch Wikipedia

  • One Time Pad — Beispiel eines One Time Pads Das One Time Pad (Abkürzung: OTP, deutsch: Einmalverschlüsselung oder Einmalschlüssel Verfahren, wörtlich Einmal Block, nicht zu verwechseln mit dem Einmal Passwort Verfahren) ist ein symmetrisches… …   Deutsch Wikipedia

  • Resource Interchange File Format — The Resource Interchange File Format (RIFF) is a generic file container format for storing data in tagged chunks. It is primarily used to store multimedia such as sound and video, though it may also be used to store any arbitrary data. It was… …   Wikipedia

  • Interchange File Format — (IFF), is a generic file format originally introduced by the Electronic Arts company in 1985 (in cooperation with Commodore Amiga) in order to ease transfer of data between software produced by different companies. IFF files do not have any… …   Wikipedia

  • Modulo — Die Artikel Division mit Rest und Modulo überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein… …   Deutsch Wikipedia

  • Modulo (Rest) — Die Artikel Division mit Rest und Modulo überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein… …   Deutsch Wikipedia

  • Uhrenarithmetik — Die Artikel Division mit Rest und Modulo überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen Baustein… …   Deutsch Wikipedia

  • 1000BASE-T — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Metro Ethernet. Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst …   Deutsch Wikipedia


We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.