Wofür benutzt man Padding?
Um zu vermeiden, dass bei Änderungen die ganze Datei neu geschrieben werden muss
MP3
MP3

== Tagging ==
Im Gegensatz zu moderneren Codecs boten MP3-Dateien ursprünglich keine Möglichkeit, Metadaten (beispielsweise Titel, Interpret, Album, Jahr, Genre) zu dem enthaltenen Musikstück zu speichern.
Unabhängig vom Entwickler des Formats wurde dafür eine Lösung gefunden, die von fast allen Soft- und Hardwareplayern unterstützt wird: Die ID3-Tags werden einfach an den Anfang oder das Ende der MP3-Datei gehängt. In der ersten Version (ID3v1) werden sie am Ende angehängt und sind auf 30 Zeichen pro Eintrag und wenige Standard-Einträge beschränkt. Die wesentlich flexiblere Version 2 (ID3v2) wird allerdings nicht von allen MP3-Playern (insbesondere Hardware-Playern) unterstützt, da hier die Tags am Anfang der MP3-Datei eingefügt werden. Auch innerhalb von ID3v2 gibt es noch beträchtliche Unterschiede. Am weitesten verbreitet sind ID3v2.3 und ID3v2.4, wobei erst ID3v2.4 offiziell die Verwendung von UTF-8-kodierten Zeichen zulässt (vorher waren nur ISO-8859-1 und UTF-16 zulässig). Viele Hardwareplayer zeigen aber UTF-8-Tags nur als wirre Zeichen an. Da ID3v2-Tags am Anfang der Datei stehen, lassen sich diese Daten beispielsweise auch bei der Übertragung über HTTP lesen, ohne erst die ganze Datei zu lesen oder mehrere Teile der Datei anzufordern. Um zu vermeiden, dass bei Änderungen die ganze Datei neu geschrieben werden muss, verwendet man üblicherweise Padding, das heißt, man reserviert im Vorfeld Platz für diese Änderungen.
Die Metadaten aus dem ID3-Tag können beispielsweise genutzt werden, um Informationen zum gerade abgespielten Stück anzuzeigen, die Titel in Wiedergabelisten (Playlists) zu sortieren oder Archive zu organisieren.
Salt__Kryptologie_ Padding__Informatik_ Transport_Layer_Security
Salt__Kryptologie_

== Unterschied zu Nonce und Padding ==
Eine Nonce und das Padding sind einem Salt sehr ähnlich, da es ebenfalls Zeichenfolgen sind, die im Programm bzw. Algorithmus nicht ausgewertet oder anders verwendet werden als sie einfach einer anderen Zeichenkette anzuhängen. Der Unterschied liegt in dem Zweck und der genauen Anwendung dieser Zeichenketten.
Während ein Salt bei Passwörtern zum Erhöhen der Entropie benutzt wird, werden Nonce und Padding in Verschlüsselungsalgorithmen benutzt. Die Nonce dient dabei dazu, die „Einmaligkeit“ eines Klartextes sicherzustellen, so dass sich trotz determinierter Vorgehensweise des Algorithmus der erzeugte Ciphertext unterscheidet, wenn der gleiche Klartext mehrmals verschlüsselt wird. Somit sollte die Nonce auch möglichst zufällig sein.
Padding muss dagegen das Kriterium der Zufälligkeit meist nicht zwingend erfüllen und dient meist dazu, die Ermittlung der Länge eines Klar- und Ciphertextes zu erschweren, oder die Länge auf die Blocklänge zu erhöhen. Padding__Informatik_

== Padding in der Informatik ==
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, siehe beispielsweise beim Interchange File Format. 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). Transport_Layer_Security

=== Padding-Oracle-Angriffe ===
Der Kryptologe Serge Vaudenay entdeckte 2002, dass ein Man-in-the-Middle-Angreifer aus dem Padding einer mit dem Cipher Block Chaining Mode (CBC) verschlüsselten Nachricht Informationen erhalten kann, die zur Entschlüsselung der Nachricht genutzt werden können. Durch gezielte Manipulation einer verschlüsselten Nachricht lernt der Angreifer, ob der Server ein gültiges Padding meldet und damit ein Teil des Klartexts richtig erraten wurde.
Als Schutzmaßnahme sollte der Server ungültige Nachrichten verwerfen, ohne dabei zu offenbaren, ob das Padding oder die Nachrichtenauthentizität ungültig war. Allerdings kann ein Angreifer diese Information auch durch eine Analyse der Antwortzeiten herleiten (Timing-Angriff). Betroffen sind SSL, TLS bis Version 1.2 und DTLS, sofern eine Cipher Suite mit CBC verwendet wird. Cipher Suites mit Authenticated Encryption sind nicht betroffen.
Im Oktober 2014 demonstrierten Sicherheitsforscher den POODLE-Angriff (''Padding Oracle On Downgraded Legacy Encryption''), mit dem ein Angreifer ein Versions-Downgrade einer TLS-Verbindung erzwingt, um einen Padding-Oracle-Angriff gegen SSL 3.0 durchzuführen. Zwecks Kompatibilität wurde SSL 3.0 trotz zu dem Zeitpunkt bekannter Sicherheitsschwächen noch von Webbrowsern und anderen Implementierungen unterstützt. Im Nachgang hat die Internet Engineering Task Force SSL 3.0 als überholt gekennzeichnet und ein Verfahren zum Schutz vor Downgrade-Angriffen auf TLS spezifiziert.