Page 1 Seite 1
Recommendation for Block Empfehlung für Block
Cipher Modes of Operation: Chiffre Betriebsmodi:
Methods for Key Wrapping Methoden für Key Wrapping
Morris Dworkin Morris Dworkin
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT--August, 2011 ENTWURF - August 2011
COMPUTERSECURITY COMPUTERSECURITY

Page 2 Seite 2

Page 3 Seite 3
Computer Security Division Computer Security Division
Information Technology Laboratory Laboratorium für Informationstechnologie
National Institute of Standards and Technology National Institute of Standards and Technology
Gaithersburg, MD 20899 Gaithersburg, MD 20899
August 2011 August 2011
US Department of Commerce US Department of Commerce
Rebecca M. Blank, Acting Secretary Rebecca M. Blank, stellvertretender Schriftführer
National Institute of Standards and Technology National Institute of Standards and Technology
Patrick D. Gallagher, Director Patrick D. Gallagher, Direktor
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Recommendation for Block Empfehlung für Block
Cipher Modes of Operation: Chiffre Betriebsmodi:
Methods for Key Wrapping Methoden für Key Wrapping
Morris Dworkin Morris Dworkin
COMPUTERSECURITY COMPUTERSECURITY

Page 4 Seite 4
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Reports on Information Security Technology Berichte über Sicherheit in der Informationstechnik
The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology Die Information Technology Laboratory (ITL) am National Institute of Standards and Technology
(NIST) promotes the US economy and public welfare by providing technical leadership for the Nation's (NIST) fördert die US-Wirtschaft und der öffentlichen Wohlfahrt durch technische Führung für die Nation
measurement and standards infrastructure. Messung und Standards Infrastruktur. ITL develops tests, test methods, reference data, proof of ITL entwickelt Tests, Testmethoden, Referenzdaten, Nachweis der
concept implementations, and technical analyses to advance the development and productive use of Konzept Implementierungen und technische Analysen, die Entwicklung und den produktiven Einsatz von Advance
information technology. Informationstechnologie. ITL's responsibilities include the development of technical, physical, Verantwortlichkeiten ITL gehören die Entwicklung von technischen, physikalischen,
administrative, and management standards and guidelines for the cost-effective security and privacy of Verwaltung und Management-Standards und Richtlinien für die kostengünstige Sicherheit und Privatsphäre
sensitive unclassified information in Federal computer systems. sensible Informationen klassifiziert in Bundes Computer-Systeme. This Special Publication 800-series Diese Sonderveröffentlichung 800-Serie
reports on ITL's research, guidance, and outreach efforts in computer security, and its collaborative Berichte über Forschung, Beratung und weit reichende Anstrengungen ITL in Computer-Sicherheit, und ihre Zusammenarbeit
activities with industry, government, and academic organizations. Aktivitäten mit der Industrie, Regierung und akademischen Organisationen.
Certain commercial entities, equipment, or materials may be identified in this document in order Bestimmte gewerbliche Einrichtungen, Geräten oder Materialien können in diesem Dokument, um identifiziert werden
to describe an experimental procedure or concept adequately. eine experimentelle Verfahren oder Konzept adäquat zu beschreiben. Such identification is not intended Eine solche Identifizierung ist nicht beabsichtigt
to imply recommendation or endorsement by the National Institute of Standards and Technology, auf Empfehlung oder Billigung durch das National Institute of Standards and Technology implizieren,
nor is it intended to imply that the entities, materials, or equipment are necessarily the best noch ist es zu verstehen, dass die Einrichtungen, Materialien oder Ausrüstung notwendigerweise die besten
available for the purpose. zur Verfügung.
National Institute of Standards and Technology Special Publication 800-38F National Institute of Standards and Technology Special Publica 800-38F
Natl. Natl. Inst. Inst. Stand. Stehen. Technol. Technol. Spec. Spec. Publ. Publ. 800-38F, 29 pages (August 2011) 800-38F, 29 Seiten (August 2011)
CODEN: NSPUE2 CODEN: NSPUE2
Acknowledgements Danksagung
ii ii

Page 5 Seite 5
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
The author wishes to thank his colleagues who reviewed drafts of this publication and contributed to its Der Autor möchte seine Kollegen, die Entwürfe dieser Veröffentlichung überprüft und dazu beigetragen, danke seiner
development, especially Elaine Barker, Meltem Turan, Allen Roginsky, Lily Chen, Donghoon Chang, Entwicklung, vor allem Elaine Barker, Meltem Turan, Allen Roginsky, Lily Chen, Donghoon Chang,
Sharon Keller, Tim Polk, John Kelsey, and Souradyuti Paul. Sharon Keller, Tim Polk, John Kelsey und Souradyuti Paul. Heather Pearce worked extensively on an Heather Pearce arbeitete ausführlich über eine
earlier version of this publication. früheren Version dieser Publikation. Professor Phillip Rogaway kindly provided Figure 1 from his paper Professor Phillip Rogaway freundlicherweise 1 von seiner Zeitung
analyzing key wrap modes. Analyse Schlüssel Wrap-Modi. The author also gratefully acknowledges the comments from the public and Der Autor bedankt sich auch die Bemerkungen der Öffentlichkeit und
private sectors to improve the quality of this publication. privaten Sektor, um die Qualität dieser Publikation zu verbessern.
iii iii

Page 6 Seite 6
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Abstract Abstrakt
This publication describes cryptographic methods that are approved for “key wrapping,” ie, the Diese Publikation beschreibt kryptographische Verfahren, die für die zugelassen sind "Schlüssel Verpackung", dh die
protection of the confidentiality and integrity of cryptographic keys. Schutz der Vertraulichkeit und Integrität von kryptographischen Schlüsseln. In addition to describing Neben der Beschreibung
existing methods, this publication specifies two new, deterministic authenticated encryption bestehenden Methoden, diese Publikation legt zwei neue, deterministische authentifizierte Verschlüsselung
modes of operation of the Advanced Encryption Standard (AES) algorithm: the AES Key Wrap Betriebsarten des Advanced Encryption Standard (AES) Algorithmus: AES Key Wrap
(KW) mode and the AES Key Wrap With Padding (KWP) mode. (KW)-Modus und der AES-Schlüssel-Wrap mit Polsterung (KWP)-Modus. The analogous mode with the Die analoge-Modus mit der
Triple Data Encryption Algorithm (TDEA) as the underlying block cipher, called TKW, is also Triple Data Encryption Algorithm (TDEA) als die zugrunde liegende Blockchiffre, genannt TKW, ist auch
specified, to support legacy applications. angegeben, zur Unterstützung von Legacy-Anwendungen.
KEY WORDS: authenticated encryption; STICHWORTE: authentifizierte Verschlüsselung; authentication; Authentifizierung; block cipher; Blockchiffre; computer security; Computer-Sicherheit;
confidentiality; Vertraulichkeit; cryptography; Kryptographie; encryption; Verschlüsselung; information security; Informationssicherheit; key wrapping; Schlüssel Verpackung; mode of Modus
operation. Betrieb.
iv iv

Page 7 Seite 7
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
v v
TABLE OF CONTENTS Inhaltsverzeichnis
1 1
PURPOSE...........................................................................................................................................................1
2 2
AUTHORITY.....................................................................................................................................................1
3 3
INTRODUCTION..............................................................................................................................................1
3.1 3.1
O O
VERVIEW BERBLICK
..................................................................................................................................................1
3.2 3.2
R R
ELATED Beschwingt
S S
PECIFICATIONS PEZIFIKATIONEN
..........................................................................................................................2
4 4
DEFINITIONS AND DEFINITIONEN UND NOTATION...................................................................................................................3
4.1 4.1
D D
EFINITIONS EFINITIONEN
................................................................................................................................................3
4.2 4.2
A Ein
CRONYMS CRONYMS
.................................................................................................................................................5
4.3 4.3
V V
ARIABLES ARIABLES
..................................................................................................................................................6
4.4 4.4
O O
PERATIONS AND Arbeitsvorgänge und
F F
UNCTIONS UNKTIONEN
.....................................................................................................................6
4.5 4,5
E E
XAMPLES OF EISPIELE DER
B B
ASIC ASIC
O O
PERATIONS AND Arbeitsvorgänge und
F F
UNCTIONS ON UNKTIONEN ON
S S
TRINGS Trings
...............................................................7 .................................................. ............. 7
5 5
COMMON COMMON ELEMENTS...................................................................................................................................8
5.1 5.1
T T
HE HE
U U
NDERLYING NDERLYING
B B
LOCK LOCK
C C
IPHER AND Ipher UND
K K
EY EY
...............................................................................................8 .................................................. ............................................. 8
5.2 5.2
T T
HE HE
A Ein
UTHENTICATED UTHENTICATED
E E
NCRYPTION AND NCRYPTION UND
A Ein
UTHENTICATED UTHENTICATED
D D
ECRYPTION Ecryption
F F
UNCTIONS UNKTIONEN
................................8 ................................ 8
5.3 5.3
L L
IMITS ON IMITS ON
D D
ATA ATA
L L
ENGTH Ength
.........................................................................................................................10
5.3.1 5.3.1
Mandatory Verpflichtend Limits.................................................................................................................................10
5.3.2 5.3.2
Implementation-Specific Limits Umsetzung spezifischen Grenzen ...........................................................................................................10
6 6
SPECIFICATIONS OF KW AND DATEN UND DER KW KWP.......................................................................................................11
6.1 6.1
W W
AND UND
W W
-1 -1
................................................................................................................................................11
6.2 6.2
KW KW ...........................................................................................................................................................13
6.3 6.3
KWP.........................................................................................................................................................14
7 7
SPECIFICATION OF SPEZIFIKATION TKW...........................................................................................................................16
7.1 7.1
TW TW
AND UND
TW TW
-1 -1
...........................................................................................................................................16
7.2 7.2
TKW.........................................................................................................................................................17
8 8
CONFORMANCE...........................................................................................................................................18
APPENDIX A: SOME SECURITY CONSIDERATIONS....................................................................................19 ANHANG A: Einige Sicherheitserwägungen ............................................ ........................................ 19
A1 A1
E E
QUALITY OF QUALITÄT
P P
LAINTEXTS LAINTEXTS
.......................................................................................................................19
A2 A2
I Ich
MPLIED MPLIED
S S
TRENGTH OF TÄRKE DER
P P
ROTECTED ROTECTED
K K
EYS EYS
.................................................................................................19 .................................................. ............................................... 19
A3 A3
A Ein
UTHENTICATION Uthentifizierung
A Ein
SSURANCE SSURANCE
.................................................................................................................19
A4 A4
F F
ORGERIES OF ORGERIES DER
E E
XTREMELY Xtremely
L L
ONG ONG
M M
ESSAGES ELDUNGEN
...........................................................................................20 .................................................. ......................................... 20
A5 A5
A Ein
DDITIONAL ZUSÄTZLICHE
A Ein
NALYSIS NALYSE
.............................................................................................................................21
APPENDIX B: COMPARISON WITH EARLIER SPECIFICATIONS.............................................................22 ANHANG B: Vergleich mit früheren Spezifikationen ........................................... .................. 22
REFERENCES LITERATUR ..........................................................................................................................................................23
LIST OF TABLES AND FIGURES LISTE der Tabellen und Abbildungen
Table 1: Summary of Limits on Data Length............................................................................... 10 Tabelle 1: Zusammenfassung der Grenzwerte für Datenlänge ......................................... ...................................... 10
Figure 1: Illustration of the wrapping function, W....................................................................... 12 Abbildung 1: Illustration des Wickelfunktion, W ........................................ ............................... 12
Figure 2: Illustration of an iteration within Step 2 of Algorithm 1............................................... 12 Abbildung 2: Illustration einer Iteration in Schritt 2 von Algorithmus 1 ..................................... .......... 12
Figure 3: Illustration of an iteration within Step 2 of Algorithm 2............................................... 13 Abbildung 3: Illustration einer Iteration in Schritt 2 von Algorithmus 2 ..................................... .......... 13

Page 8 Seite 8

Page 9 Seite 9
NIST Special Publication 800-38E NIST Special Publica 800-38E
DRAFT ENTWURF
1 Purpose 1 Zweck
This publication is the sixth part in a series of Recommendations regarding the modes of Diese Veröffentlichung ist der sechste Teil in einer Reihe von Empfehlungen in Bezug auf die Modi des
operation of block cipher algorithms. Betrieb von Blockverschlüsselungsalgorithmen. The purpose of this part is to provide approved methods for Der Zweck dieses Teils ist es, bewährte Methoden für bieten
key wrapping, ie, the protection of cryptographic keys. Schlüssel Umhüllung, also der Schutz von kryptographischen Schlüsseln.
2 Authority 2 Behörde
This publication has been developed by the National Institute of Standards and Technology Diese Veröffentlichung wurde von der National Institute of Standards and Technology entwickelt
(NIST) in furtherance of its statutory responsibilities under the Federal Information Security (NIST) zur Förderung seiner gesetzlichen Aufgaben nach dem Bundesinformationssicherheit
Management Act (FISMA) of 2002, Public Law 107-347. Management Act (FISMA) 2002, Public Law 107-347.
NIST is responsible for developing standards and guidelines, including minimum requirements NIST ist für die Entwicklung von Standards und Richtlinien, einschließlich der Mindestanforderungen verantwortlich
for federal information systems, but such standards and guidelines shall not apply to national für Bundes-Informationssysteme, aber solche Normen und Richtlinien gelten nicht für nationale gelten
security systems. Sicherheitssysteme.
This recommendation has been prepared for use by Federal agencies. Diese Empfehlung wurde für die Nutzung durch Bundesbehörden erstellt. It may be used by Es kann genutzt werden,
nongovernmental organizations on a voluntary basis and is not subject to copyright. Nicht-Regierungsorganisationen auf freiwilliger Basis und unterliegt dem Urheberrecht. (Attribution (Namensnennung
would be appreciated by NIST.) würde durch NIST geschätzt.)
Nothing in this publication should be taken to contradict the standards and guidelines made Nichts in dieser Publikation werden sollten, um die Standards und Richtlinien vorgenommen werden widersprechen
mandatory and binding on federal agencies by the Secretary of Commerce under statutory Pflicht und bindend für Bundesstellen von der Handelsminister im Rahmen der gesetzlichen
authority. Autorität. Nor should these guidelines be interpreted as altering or superseding the existing Auch sollten diese Richtlinien als Veränderung oder verdrängen die vorhandene interpretiert werden
authorities of the Secretary of Commerce, Director of the OMB, or any other federal official. Behörden der Handelsminister, Direktor des OMB, oder jede andere Bundesbeamte.
Conformance testing for implementations of this Recommendation will be conducted within the Konformitätstests für Implementierungen dieser Empfehlung wird in die durchgeführt werden
framework of the Cryptographic Algorithm Validation Program (CAVP) and the Cryptographic Rahmen des Cryptographic Algorithm Validation Program (CAVP) und dem Cryptographic
Module Validation Program (CMVP). Module Validation Program (CMVP). The requirements of this Recommendation are indicated Die Anforderungen dieser Empfehlung werden angezeigt
by the word “shall.” Some of these requirements may be out-of-scope for CMVP or CAVP durch das Wort "soll". Einige dieser Anforderungen können out-of-scope für CMVP oder CAVP sein
validation testing, and thus are the responsibility of entities using, implementing, installing, or Validierungstests und sind somit in der Verantwortung der Unternehmen mit, Implementierung, Installation, oder
configuring applications that incorporate this Recommendation. Konfiguration von Anwendungen, die diese Empfehlung zu integrieren.
3 Introduction 3 Einführung
3.1 Overview 3.1 Übersicht
This Recommendation specifies a deterministic authenticated encryption mode of operation of Diese Empfehlung gibt eine deterministische authentifizierte Verschlüsselung Funktionsweise der
the Advanced Encryption Standard (AES) algorithm. der Advanced Encryption Standard (AES)-Algorithmus. The mode is called AES Key Wrap, Der Modus wird als AES-Schlüssel Wrap,
abbreviated as KW in this Recommendation. in dieser Empfehlung als KW abgekürzt. Although KW can be used with any reversible Obwohl KW kann mit jedem reversible verwendet werden
padding scheme, a variant of KW with a padding scheme is also specified to promote Padding-Verfahren, eine Variante von KW mit einer Polsterung Schema wird auch angegeben, die Förderung
interoperability. Interoperabilität. This variant is called AES Key Wrap With Padding, abbreviated as KWP. Diese Variante wird als AES-Schlüssel-Wrap mit Polsterung, wie KWP abgekürzt. The Die
analogue of KW with the Triple Data Encryption Algorithm (TDEA) [5 ] a s the underlying block Analog der KW mit dem Triple Data Encryption Algorithm (TDEA) [5 ] a s die zugrunde liegende Block
cipher is also specified, to support legacy applications. Chiffre ebenfalls angegeben ist, auf Legacy-Anwendungen zu unterstützen. This analogue is called Triple DEA Key Dieses analoge heißt Triple-DEA Key
Wrap, abbreviated as TKW. Wickeln, wie TKW abgekürzt.

Page 10 Seite 10
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
KW, KWP, and TKW were designed to protect cryptographic keys. KW, KWP und TKW wurden entwickelt, um kryptographische Schlüssel zu schützen. Each provides an option for Jeder bietet eine Option für
protecting keys in a manner that is distinct from the methods that protect general data. Schutz Schlüssel in einer Weise, die sich von den Verfahren, die allgemeinen Daten zu schützen.
Segregating keys from general data can provide an extra layer of protection. Trennung Schlüssel aus allgemeinen Daten bieten eine zusätzliche Schutzschicht.
Nevertheless, there is no requirement to protect cryptographic keys with a distinct cryptographic Dennoch ist es nicht erforderlich, kryptographische Schlüssel mit einem eindeutigen kryptographischen Schutz
method. Methode. Previously-approved authenticated encryption modes—as well as combinations of an Zuvor genehmigt authentifizierte Verschlüsselung Modi-sowie Kombinationen von ein
approved encryption mode with an approved authentication method—are approved for the anerkannten Verschlüsselungsmodus mit einem zugelassenen Authentifizierungsmethode für die-genehmigt
protection of cryptographic keys, in addition to general data. Schutz von kryptographischen Schlüsseln, die neben den allgemeinen Daten.
Similarly, KW, KWP, and TKW are each approved for the protection of general data, in addition Ebenso, KW, KWP und TKW jeweils für den Schutz von allgemeinen Daten genehmigt, zusätzlich
to cryptographic keys. kryptographische Schlüssel.
KW, KWP, and TKW are each robust in the sense that each bit of output can be expected to KW, KWP und TKW jeweils robust in dem Sinne, daß jedes Bit der Ausgabe kann zu erwarten
depend in a nontrivial fashion on each bit of input, even when the length of the input data is hängt in nicht-trivialer Weise auf jedes Bit der Eingabe, selbst wenn die Länge der Eingabedaten ist
greater than one block. mehr als einen Block. This property is achieved at the cost of a considerably lower throughput Diese Eigenschaft wird auf Kosten einer deutlich geringeren Durchsatz erreicht
rate, compared to other authenticated encryption modes, but the tradeoff may be appropriate for Rate im Vergleich zu anderen authentifizierten Verschlüsselungsmodus, die Kompromiss kann angemessen
some key management applications. einige der wichtigsten Management-Anwendungen. For example, a robust method may be desired when the Zum Beispiel kann ein robustes Verfahren erwünscht sein, wenn der
length of the keys to be protected is greater than the block size of the underlying block cipher, or Länge der Schlüssel zu schützen ist größer als die Blockgröße des darunterliegenden Blockchiffre, oder
when the value of the protected data is very high. wenn der Wert des zu schützenden Daten sehr hoch ist.
3.2 Related Specifications 3.2 Verwandte Spezifikationen
Earlier specifications of key wrap algorithms that are related to KW, KWP, and TKW are Früheren Spezifikationen der Schlüssel Wrap-Algorithmen, die auf KW, KWP verwandt sind, und TKW sind
discussed in this section. in diesem Abschnitt diskutiert.
In 2001, NIST posted a document entitled “AES Key Wrap Specification” on NIST's Computer Im Jahr 2001 erzielte NIST ein Dokument mit dem Titel "AES Key Wrap-Spezifikation" auf NIST-Computer
Security Resource Center web site as an unofficial suggestion for the protection of cryptographic Security Resource Center-Website als inoffizieller Vorschlag für den Schutz von kryptographischen
keys. Schlüssel. That algorithm is essentially equivalent to KW as specified in this Recommendation. Dass Algorithmus entspricht im Wesentlichen KW wie in dieser Empfehlung festgelegt.
In 2002, two industry groups published key wrapping specifications that were based on the Im Jahr 2002, zwei Industriegruppen veröffentlicht Taste Verpackungsspezifikationen, die auf die auf der Basis wurden
specification that NIST posted. Spezifikation, die NIST veröffentlicht. First, the Internet Engineering Task Force (IETF) developed an Zuerst wird der Internet Engineering Task Force (IETF) entwickelt eine
essentially equivalent specification in Request For Comments (RFC) 3394 [ 9]. Second, the Wesentlichen gleichwertigen Spezifikation in Request For Comments (RFC) 3394 [ 9]. Zweitens, die
Telecommunications Industry Association published a protocol for Digital Radio Over-the-Air- Telecommunications Industry Association veröffentlicht ein Protokoll für Digital Radio Over-the-Air-
Rekeying [ 1] containing a “Key Wrap Algorithm” that supported TDEA, in addition to the AES Rekeying [ 1] , das ein "Key Wrap-Algorithmus", der TDEA unterstützt, zusätzlich zu den AES
algorithm. Algorithmus. Those algorithms are essentially equivalent to KW and TKW as specified in this Diese Algorithmen sind im wesentlichen äquivalent zu KW und TKW wie in diesem festgelegten
Recommendation. Empfehlung.
In 2008, Accredited Standards Committee X9, Inc., published a key wrap standard for the Im Jahr 2008 Accredited Standards Committee X9, Inc., veröffentlichte ein Schlüssel Wrap Standard für die
financial services industr y [ 2]. Finanzdienstleistungen Industr y [ 2]. The variant of KW in that standard, named AESKW, featured a Die Variante von KW in diesem Standard, genannt AESKW, featured ein
more general framework for formatting the input data, including a padding scheme, as well as an allgemeineren Rahmen zum Formatieren der Eingangsdaten einschließlich einer Padding-Verfahren, sowie eine
analogue with TDEA as the underlying block cipher. analog mit TDEA als die zugrunde liegende Blockchiffre.
In 2009, a different padding scheme was specified in RFC 5649 [ 4], referencing elements of the Im Jahr 2009 wurde eine andere Padding-Verfahren in RFC 5649 [angegeben 4], verweisen Elemente der
specification in [9 ]. Spezifikation in [9 ]. The resulting algorithm, called AES Key Wrap With Padding, is essentially Der resultierende Algorithmus, genannt AES Key Wrap mit Polsterung, ist im Wesentlichen
equivalent to KWP as specified in this Recommendation. entspricht KWP wie in dieser Empfehlung festgelegt.
2 2

Page 11 Seite 11
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
The differences between KW, KWP, and TKW as specified in this Recommendation and their Die Unterschiede zwischen KW, KWP und TKW wie in dieser Empfehlung festgelegt und ihre
earlier specifications are described in Appendix B. früheren Spezifikationen sind in Anhang B beschrieben
4 Definitions and Notation 4 Definitionen und Notation
4.1 Definitions 4.1 Definitionen
approved genehmigt
FIPS-approved or NIST-recommended: an algorithm or FIPS-genehmigten oder NIST-empfohlen: einen Algorithmus oder
technique that is either 1) specified in a FIPS or a NIST Technik, die entweder 1) in einem oder einer NIST FIPS angegeben ist
Recommendation, or 2) adopted in a FIPS or a NIST Empfehlung, oder 2) in einer FIPS oder NIST angenommen
Recommendation. Empfehlung.
authenticated encryption authentifizierte Verschlüsselung
function Funktion
A function that encrypts plaintext into ciphertext and Eine Funktion, die Klartext in Chiffretext und verschlüsselt
provides a means for the associated authenticated decryption ein Mittel für das zugehörige authentifiziert Entschlüsselungs
function to verify the authenticity of either the plaintext or Funktion, um die Authentizität von entweder dem Text-Überprüfung oder
the ciphertext. der Chiffretext.
authenticated decryption authentifiziert Entschlüsselung
function Funktion
A function that decrypts purported ciphertext into Eine Funktion, die angeblichen Geheimtext in entschlüsselt
corresponding plaintext and verifies the authenticity of the entsprechende Klartext und verifiziert die Authentizität der
data. Daten. The output is either the plaintext or an indication that Der Ausgang ist entweder der Klartext oder ein Hinweis, dass
the plaintext is not authentic. der Klartext nicht authentisch.
authenticity Authentizität
The property that data actually originated from its purported Die Eigenschaft, die Daten tatsächlich von seiner angeblichen Ursprung
source. Quelle.
bit Bit
A binary digit: 0 or 1 . Eine binäre Ziffer 0 oder 1 ist.
bit string Bit-String
A finite, ordered sequence of bits. Eine endliche, geordnete Folge von Bits.
block Block
For a given block cipher, a bit string whose length is the Für einen gegebenen Block-Chiffre, eine Bitfolge, deren Länge die
block size of the block cipher. Blockgröße der Blockchiffre.
block cipher Blockchiffre
A permutation, determined from a specified family by the Eine Permutation, von einem festgelegten Familie durch die ermittelte
choice of a parameter called the key, on bit strings of a fixed Wahl eines Parameters bezeichnet die Taste, auf Bitstrings der festen
length. Länge. The permutation is called the forward cipher Die Permutation wird als zukunfts Chiffre
function, and its inverse is called the inverse cipher Funktion und deren Umkehr heißt die inverse Chiffrierung
function. Funktion.
block cipher mode of Blockchiffre-Modus
operation (mode) Operation (Betrieb)
A function, or a pair of related functions, eg, for Eine Funktion oder ein Paar bezogene Funktionen, beispielsweise für
encryption, authentication, or authenticated encryption, of Verschlüsselung, Authentifizierung, Verschlüsselung oder Authentifizierung, der
which a block cipher is the main component. , die ein Blockchiffre ist die Hauptkomponente.
block size Blockgröße
For a given block cipher and key, the fixed length of the Für einen gegebenen Block Cipher und Schlüssel, die feste Länge der
input (or output) bit strings. Eingang (oder Ausgang) Bitfolgen.
3 3

Page 12 Seite 12
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
collision Kollision
In a given context, the equality of two values, usually out of In einem gegebenen Zusammenhang, der Gleichheit der beiden Werte, in der Regel aus
a large number of possible values. eine große Anzahl von möglichen Werten.
ciphertext Chiffretext
The confidential form of the plaintext that is the output of Die vertrauliche Form der Klartext, dass der Ausgang der ist
the authenticated encryption function. der authentifizierte Verschlüsselungsfunktion.
exclusive-OR Exklusiv-Oder-
The bitwise addition, modulo 2, of two bit strings of equal Das bitweise hinaus Modulo 2, von zwei Bit-Strings der Gleich
length. Länge.
integrity check value Integrity Check Value
A fixed string that is prepended to the plaintext within the Eine feste Zeichenfolge, die an den Klartext in der vorangestellt wird
authenticated encryption function of a key wrap algorithm, authentifizierte Verschlüsselung Funktion einer Taste Wrap-Algorithmus,
in order to be verified within the authenticated decryption Um innerhalb des authentifizierten Entschlüsselung überprüft werden
function. Funktion.
key encryption key Schlüsselverschlüsselungsschlüssel
The block cipher key that determines the authenticated Die Blockchiffre Schlüssel, der authentifizierte bestimmt
encryption and authenticated decryption functions of a key Verschlüsselung und Entschlüsselung authentifiziert Funktionen einer Taste
wrap algorithm. Wrap-Algorithmus. May be called a key wrapping key in other Eine Schlüsselverpackungsschlüssel in anderen aufgerufen werden
documents. Dokumenten.
key wrap algorithm Schlüssel Wrap-Algorithmus
A deterministic, symmetric-key authenticated encryption Eine deterministische, symmetrischen Schlüsseln authentifiziert Verschlüsselung
algorithm, determined by the choice of a key encryption Algorithmus, durch die Wahl eines Schlüsselverschlüsselungs bestimmt
key, that is intended for the protection of cryptographic Schlüssel, die für den Schutz des Verschlüsselungs bestimmt
keys. Schlüssel. Consists of two functions: authenticated encryption Besteht aus zwei Funktionen: authentifizierte Verschlüsselung
and authenticated decryption. und authentifizierte Entschlüsselung.
least significant bit(s) niedrigstwertige Bit (s)
The right-most bit(s) of a bit string. Die äußerste rechte Bit (s) einer Bit-Kette.
most significant bit(s) höchstwertige Bit (s)
The left-most bit(s) of a bit string. Das Bit ganz links (s) einer Bit-Kette.
mode Modus
See “block cipher mode of operation.” Siehe "Blockchiffre Betriebsmodus."
octet Oktett
A string of 8 bits. Eine Reihe von 8 Bit.
plaintext Klartext
Usable data that is formatted as input to a mode. Verwendbaren Daten, die als Eingabe in einen Modus formatiert wird.
prerequisite Voraussetzung
A required input to an algorithm that has been established Eine erforderliche Eingabe in einen Algorithmus, der hergestellt worden ist
prior to the invocation of the algorithm. vor dem Aufruf des Algorithmus.
semiblock Halbblock
Given a block cipher, a bit string whose length is half of the Bei einer Blockchiffre, ein Bit-String, dessen Länge die Hälfte der
block size. Blockgröße.
sequence of n semiblocks For a given block size and a positive integer, n , a string that Folge von n Halbblöcke Für eine bestimmte Blockgröße und eine positive ganze Zahl, n, eine Zeichenfolge, die
can be represented as the concatenation of n semiblocks. kann als die Verkettung von n Halbblöcke dargestellt werden.
4 4

Page 13 Seite 13
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
shall wird
Is required to. Ist erforderlich, um. Requirements apply to conforming Anforderungen gelten für konform
implementations. Implementierungen.
should sollte
Is recommended to. Wird empfohlen,.
unwrapping function Auspacken Funktion
The inverse of the wrapping function. Die Umkehrung der Wickelfunktion.
valid length gültige Länge
A length for a plaintext string, or the corresponding length Eine Länge eines Klartextkette oder der entsprechenden Länge
for a ciphertext string, that is allowed for an implementation eine Chiffretextkette ist, dass für eine Implementierung erlaubt
of KW, KWP, or TKW. von KW, KWP, oder TKW.
wrapping function Wickelfunktion
The keyed, length-preserving permutation that is applied to Die Schlüssel, Länge erhalt Permutation, die angewendet wird
an enlarged form of the plaintext within the authenticated eine vergrößerte Form der Klartext in der authentifizierte
encryption function to produce the ciphertext. Verschlüsselungsfunktion, um den Geheimtext zu produzieren.
4.2 Acronyms 4.2 Akronyme
AES AES
Advanced Encryption Standard. Advanced Encryption Standard.
FIPS FIPS
Federal Information Processing Standard. Federal Information Processing Standard.
CAVP CAVP
Cryptographic Algorithm Validation Program. Cryptographic Algorithm Validation Program.
CMVP CMVP
Cryptographic Module Validation Program. Cryptographic Module Validation Program.
FISMA FISMA
Federal Information Security Management Act. Federal Information Security Management Act.
ICV ICV
integrity check value. Integrity Check Value.
IETF IETF
Internet Engineering Task Force. Internet Engineering Task Force.
ITL ITL
Information Technology Lab. Information Technology Lab.
KW KW
AES Key Wrap. AES Key Wrap.
KWP KWP
AES Key Wrap with Padding. AES Key Wrap mit Polsterung.
KEK KEK
key encryption key. Schlüsselverschlüsselungsschlüssel.
NIST NIST
National Institute of Standards and Technology. National Institute of Standards and Technology.
5 5

Page 14 Seite 14
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
RFC RFC
Request For Comment. Anfrage für eine Stellungnahme.
TDEA TDEA
Triple Data Encryption Algorithm. Triple Data Encryption Algorithm.
TKW TKW
TDEA Key Wrap. TDEA Key Wrap.
4.3 Variables 4.3 Variablen
C C
The ciphertext. Der Geheimtext.
ICV1 ICV1
The 64-bit default ICV for KW: 0xA6A6A6A6A6A6A6A6 . Die 64-Bit-Standard ICV für KW: 0xA6A6A6A6A6A6A6A6.
ICV2 ICV2
The 32-bit default ICV for KWP: 0xA65959A6 . Die 32-Bit-Standard ICV für KWP: 0xA65959A6.
ICV3 ICV3
The 32-bit default ICV for TKW: 0xA6A6A6A6 . Die 32-Bit-Standard ICV für TKW: 0xA6A6A6A6.
P P
The plaintext. Der Klartext.
4.4 Operations and Functions 4.4 Vorgänge und Funktionen
0 0
s s
The bit string that consists of s consecutive '0' bits. Die Bit-String, der aus n aufeinanderfolgenden "0"-Bits besteht.
CIPH CIPH
K K
( X ) (X)
The output of the forward cipher function of the block cipher under the Der Ausgang des Vorwärts-Verschlüsselungsfunktion der Blockchiffre unter dem
key K applied to the block X . Schlüssel K angelegt, um den Block X.
CIPH CIPH
-1 -1
K K
( X ) (X)
The output of the inverse cipher function of the block cipher under the Der Ausgang des inversen Verschlüsselungsfunktion der Blockchiffre unter dem
key K applied to the block X . Schlüssel K angelegt, um den Block X.
int( X ) int (X)
The integer for which the bit string X is the binary representation. Die ganze Zahl, für die die Bit-Kette X die binäre Darstellung.
len( X ) len (X)
The bit length of the bit string X . Die Bit-Länge der Bitfolge X.
LSB LSB
s s
( X ) (X)
The bit string consisting of the s right-most bits of the bit string X . Die Bit-String, der aus den n am weitesten rechts Bits der Bitkette X.
MSB MSB
s s
( X ) (X)
The bit string consisting of the s left-most bits of the bit string X . Die Bit-String, bestehend aus den s am weitesten links Bits der Bit-String X.
TW( S ) TW (S)
The output of the wrapping function for TKW applied to the string S . Der Ausgang des Umhüllungsfunktion für TKW dem String S angelegt.
TW TW
-1 -1
( C ) (C)
The output of the unwrapping function for TKW applied to the string C . Der Ausgang der Funktion zum Auswickeln TKW auf die Zeichenfolge C angewendet.
W( S ) W (S)
The output of the wrapping function for KW and KWP applied to the bit string Der Ausgang des Umhüllungsfunktion für KW und KWP auf die Bitfolge angewendet
S . S.
W W
-1 -1
( C ) (C)
The output of the unwrapping function for KW and KWP applied to the bit Der Ausgang des Auswickeln Funktion für KW und KWP dem Bit angewendet
string C . String C.
6 6

Page 15 Seite 15
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
é x ù é x ù
The least integer that is not less than the real number x . Die kleinste ganze Zahl, die nicht kleiner als der reale Zahl x ist.
[ x ] [X]
s s
The binary representation of the non-negative integer x as a string of s bits, Die binäre Darstellung des nicht-negative ganze Zahl x als eine Folge von n Bits,
where x <2 wobei x <2
s s
. .
X Å Y X Y Å
The bitwise exclusive-OR of bit strings X and Y whose bit lengths are equal. Das bitweise Exklusiv-ODER-Bit-Strings X und Y, deren Bit Längen gleich sind.
X || Y X Y ||
The concatenation of bit strings X and Y . Die Verkettung von Bitfolgen x und y.
0x 0x
The marker for the beginning of a hexadecimal representation of a bit string. Die Markierung für den Beginn einer hexadezimalen Darstellung einer Bit-Kette.
4.5 Examples of Basic Operations and Functions on Strings 4.5 Beispiele von Grundfunktionen und Funktionen auf Strings
In this publication, the new courier font indicates the ' 0 ' bit, the ' 1 ' bit In dieser Veröffentlichung die neue Courier-Schriftart gibt die "0"-Bit, die "1"-Bit
, ,
and any und jedes
hexadecimal symbols: 0 , 1 , …, 9 , A , B , C , D , E , F . hexadezimalen Symbolen 0, 1, ..., 9, A, B, C, D, E, F.
The beginning of a hexadecimal representation of a string is marked by '0x.' Der Beginn einer hexadezimale Darstellung eines Strings wird durch die Bezeichnung "0x". For example, Beispielsweise,
0x A659 = 1010011001011001 . 0x A659 = 1010011001011001.
Given a real number x , the ceiling function, denoted é x ù, is the least integer that is not less than x . Bei einer reellen Zahl x, die Decke Funktion, bezeichnet é ù x ist die kleinste ganze Zahl, die nicht kleiner als x ist.
For example, é2.1ù= 3, and é4ù= 4. Zum Beispiel é2.1ù = 3 und é4ù = 4 ist.
Given a positive integer s , 0 Bei einer positiven ganzen Zahl n, 0
s s
denotes the string that consists of s ' 0 ' bits. bezeichnet die Zeichenfolge, die von s '0' Bits besteht. For example, 0 Beispielsweise 0
8 8
= =
00000000 . 00000000.
The concatenation operation on bit strings is denoted ||. Die Verkettung Operation auf Bit-Strings wird bezeichnet ||. For example, 001 || 10111 = Beispielsweise 001 = 10111 ||
00110111 . 00.110.111.
Given bit strings of equal length, the exclusive-OR (XOR) operation, denoted Å, specifies the Gegeben Bitfolgen von gleicher Länge, die Exklusiv-ODER (XOR) Operation bezeichnet Å spezifiziert der
addition, modulo 2, of the bits in each bit position. Zusätzlich modulo 2 der Bits in jeder Bit-Position. For example, 10011 Å 10101 = 00110 . B. 10011 Å 10101 = 00110.
Given a bit string X , the bit length of X is denoted len( X ). Bei einer Bitfolge X wird die Bit-Länge von X bezeichnet len (X). For example, len( 00010 )=5. Zum Beispiel, len (00010) = 5.
Given a bit string X and a non-negative integer s such that len( X )≥ s , the functions LSB Bei einer Bitfolge X und eine nicht-negative ganze Zahl n, so dass len (X)S, die Funktionen LSB
s s
( X ) and (X) und
MSB MSB
s s
( X ) return the s least significant (right-most) bits and the s most significant (left-most) bits, (X) zurück, die am wenigsten signifikant (rechten) Bits und die s bedeutendsten (ganz links) Bits,
respectively, of X . jeweils von x. For example, LSB Beispielsweise LSB
3 3
( 111011010 )= 010 , and MSB (111011010) = 010, und MSB
4 4
( 111011010 )= 1110 . (111011010) = 1110.
Given a positive integer s and a non-negative integer x that is less than 2 Bei einer positive ganze Zahl s und eine nicht-negative ganze Zahl x, die kleiner als 2 ist
s s
, the integer-to-string , Die ganze Zahl in Strings
function, denoted [ x ] Funktion, bezeichnet [x]
s s
, is the binary representation of x as a string of bit length s with the least , Ist die binäre Darstellung von x als eine Folge von Bit-Länge n mit dem geringsten
significant bit on the right. Bit auf der rechten Seite. For example, for the (base 10) integer 39, the binary representation Beispielsweise für die (Basis 10) Ganzzahl 39, die binäre Darstellung
(base 2) is 100111 , so [39] (Basis 2) ist 100111, so [39]
8 8
= 00100111 . = 00.100.111.
Given a (non-empty) bit string X , the string-to-integer function, denoted int( X ), is the integer x Bei einer (nicht leeren) Bit-String X, den String-to-Integer-Funktion, bezeichnet int (X), die ganze Zahl x
such that [ x ] derart, dass [x]
len( X ) len (X)
= X . = X. In other words, int( X ) is the non-negative integer less than 2 In anderen Worten, die nicht negative ganze Zahl kleiner als 2 ist int (X)
len( X ) len (X)
whose deren
binary representation is X . Binärdarstellung ist X. For example, int( 00011010 ) = 26. B. int (00011010) = 26.
7 7

Page 16 Seite 16
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
5 Common Elements 5 Gemeinsame Elemente
The common elements of KW, KWP, and TKW are introduced in the following three sections, Die gemeinsamen Elemente der KW, KWP und TKW werden in den folgenden drei Abschnitten eingeführt,
including the associated notation and requirements. einschließlich der zugehörigen Notation und Anforderungen. The underlying block cipher and key are Die zugrunde liegende Blockchiffre und Schlüssel sind
discussed in Sec. 5.1 . in Sec. diskutiert 5.1 . The authenticated encryption and authenticated decryption functions and Der authentifizierte Verschlüsselung und Authentifizierung Entschlüsselungsfunktionen und
their core transformations, the wrapping and unwrapping functions, are discussed in Sec. ihre Kernumwandlungen, die Verpackung und Auspacken Funktionen, sind in § diskutiert. 5 .2. 5 .2.
Limits on the length of the data to be protected are discussed in Sec. Grenzen für die Länge der zu schützenden Daten sind in Abschnitt beschrieben. 5 .3. 5 .3.
5.1 The Underlying Block Cipher and Key 5.1 Der Basiswert Block Cipher und Key
The transformations of the variants of KW feature a block cipher as the main component; Die Transformationen der Varianten KW über eine Blockchiffre als die Hauptkomponente; thus, Folglich
each variant is a mode of operation (mode, for short) of the block cipher. Jede Variante ist eine Betriebsart (Modus abgekürzt) der Blockchiffre. The mode key is Die Mode-Taste ist
exactly the key for the underlying block cipher. genau der Schlüssel für die zugrunde liegende Blockchiffre. This key is called the key encryption key (KEK), Dieser Schlüssel wird als Key-Verschlüsselungsschlüssel (KEK),
denoted K . K bezeichnet.
For any given KEK, the underlying block cipher of the mode is a permutation, ie, an invertible Für jede gegebene KEK ist die zugrundeliegende Blockchiffre der Modus eine Permutation, dh eine invertierbare
function, on bit strings of a fixed length. Funktion auf Bitfolgen mit einer festen Länge. The strings are called blocks, and the length of a block Die Strings werden als Blöcke bezeichnet, und die Länge eines Blocks,
is called the block size. wird als die Blockgröße. The permutation is also called the forward cipher function, denoted Die Permutation wird auch als die Vorwärtsverschlüsselungsfunktion, bezeichnet
CIPH CIPH
K K
, to distinguish it from its inverse, called the inverse cipher function, denoted CIPH , Um es von seinem Inversen zu unterscheiden, die so genannte Inversverschlüsselungsfunktion bezeichnet CIPH
-1 -1
K K
. .
For KW and KWP, the underlying block cipher shall be approved, including the length of the Für KW und KWP, ist der zugrunde liegende Blockchiffre genehmigt werden, einschließlich der Länge der
KEK, and the block size shall be 128 bits. KEK und die Blockgröße wird 128 Bit betragen. Currently, the AES algorithm is the only block cipher Derzeit ist der AES-Algorithmus die einzige Blockchiffre
that fits this profile. das passt dieses Profil. For TKW, the underlying block cipher is specified to be TDEA, and the Für TKW, wird die zugrundeliegende Blockverschlüsselung spezifiziert TDEA sein, und die
length of the KEK may be any key size for which TDEA is approved; Länge der KEK kann jede Schlüsselgröße für die TDEA wird zugelassen sein; see [6 ]. The choice of the siehe [6 ]. Die Wahl des
key size affects the security of the algorithms against brute force search, but the key size will not Schlüsselgröße wirkt sich auf die Sicherheit der Algorithmen gegen Brute-Force-Suche, aber die Schlüsselgröße wird nicht
be explicitly indicated in the specifications. in den Spezifikationen ausdrücklich angegeben werden. Methods for generating cryptographic keys are Verfahren zur Erzeugung kryptographischer Schlüssel sind
discussed in [7] ; diskutiert in [7] ; the goal is to select the keys uniformly at random, ie, for each possible key to Das Ziel ist es, die Tasten zufällig und gleichverteilt, also wählen, für jeden möglichen Schlüssel
occur with equal probability. mit gleicher Wahrscheinlichkeit auftreten.
The KEK shall be secret, ie, disclosed only to parties that are authorized to know the protected Die KEK sind geheim, das heißt, offenbart nur Parteien, die berechtigt sind, wissen, die geschützt
information. Informationen. Compliance with this requirement is the responsibility of the entities using, Die Einhaltung dieser Vorschrift ist in der Verantwortung der Unternehmen mit,
implementing, installing, or configuring applications that incorporate this Recommendation. Umsetzung, Installation, Konfiguration oder Anwendungen, die diese Empfehlung zu integrieren. The Die
management of KEKs is outside the scope of this publication. Management von KEKs liegt außerhalb des Rahmens dieser Publikation.
5.2 The Authenticated Encryption and Authenticated Decryption Functions 5.2 Der authentifizierte Verschlüsselung und authentifizierte Entschlüsselungsfunktionen
For a given KEK and block cipher, KW, KWP, and TKW are each comprised of two related Für eine gegebene KEK und Blockchiffre, KW, KWP und TKW sind jeweils aus zwei verwandten umfasste
functions: authenticated encryption and authenticated decryption. Funktionen: authentifizierte Verschlüsselung und Entschlüsselung authentifiziert. The authenticated encryption Der authentifizierte Verschlüsselungs
function takes an input string, called the plaintext, denoted P , and returns a longer output string, Funktion nimmt eine Eingabezeichenfolge, die so genannte Klartext P bezeichnet und gibt eine längere Ausgabezeichenfolge,
called the ciphertext, denoted C . genannt verschlüsselten Text C bezeichnet. The authenticated encryption function expands the data so that Der authentifizierte Verschlüsselungsfunktion erweitert die Daten, so dass
only a small fraction of strings of any given length are ciphertexts. Nur ein kleiner Bruchteil von Strings beliebiger Länge sind ciphertexts.
The authenticated decryption function takes an input string, called the purported ciphertext, and Der authentifizierte Entschlüsselungsfunktion nimmt einen Eingabestring, genannt die angebliche Geheimtext, und
returns either 1) an output string or 2) a special symbol, denoted FAIL. gibt entweder 1) eine Ausgabe-String oder 2) ein spezielles Symbol, bezeichnet FAIL. In the first case, the Im ersten Fall, der
8 8

Page 17 Seite 17
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
output string is the unique plaintext that corresponds to the purported ciphertext, which confirms Ausgabe-String ist die einzigartige Klartext, die über die angebliche Geheimtext, der bestätigt, entspricht
that it is a genuine ciphertext. dass es eine echte Chiffretext.
For KW, the authenticated encryption function and the authenticated decryption function are Für KW, der authentifizierte Verschlüsselungsfunktion und der authentifizierte Entschlüsselungsfunktion sind
denoted KW-AE and KW-AD; Bezeichnetes KW-AE und KW-AD; for KWP, the functions are denoted KWP-AE and KWP-AD; für KWP sind die Funktionen bezeichnet KWP-AE und KWP-AD; for für
TKW, the functions are denoted TKW-AE and TKW-AD. TKW werden die Funktionen bezeichnet TKW-AE und TKW-AD.
Note that, although the KEK is a parameter for each of these six functions, in the specifications Man beachte, dass, obwohl die KEK ist ein Parameter für jede dieser sechs Funktionen in den Spezifikationen
of these functions in this Recommendation, the KEK is considered to be a prerequisite, ie, an dieser Funktionen in dieser Empfehlung wird die KEK als Voraussetzung, dh eine sein
input that has been established prior to the invocation of the function, and is omitted from the Eingang, der vor dem Aufruf der Funktion festgelegt wurde, und wird von der weggelassen
notation. Notation. Similarly, the choice of the block cipher for the KW and the KWP functions is a Ebenso ist die Wahl der Blockchiffre für die KW und der KWP Funktionen a
prerequisite that is omitted from the notation. Voraussetzung ist, dass von der Notation weggelassen.
The authenticated encryption and authenticated decryption functions of KW and KWP are based Der authentifizierte Verschlüsselung und authentifizierte Entschlüsselungsfunktionen von KW und KWP werden auf der Grundlage
on a keyed permutation, called the wrapping function, denoted W, and its inverse, called the einer getasteten Permutation genannt Umwicklungsfunktion, bezeichnet W, und ihre Inverse, die sogenannte
unwrapping function, denoted W Auspacken Funktion, bezeichnet mit W
-1 -1
. . The analogous keyed permutations for TKW are denoted TW Die analogen eingegeben Permutationen für TKW werden bezeichnet TW
and TW und TW
-1 -1
. .
Within the authenticated encryption function, the wrapping function is applied to an enlarged Innerhalb der authentifizierten Verschlüsselungsfunktion wird das Verpackungsfunktion in einem vergrößerten angewendet
plaintext string to produce the ciphertext. Klartext-String in den Geheimtext zu produzieren. Each key wrap variant enlarges the plaintext by Jeder Schlüssel Wrap-Variante erweitert den Klartext durch
prepending a fixed string called the integrity check value (ICV); Voranstellen eines festen Zeichenkette genannt, die Integrität (ICV); for KWP-AE, the enlarged für KWP-AE, die erweiterte
plaintext also includes a 32-bit encoding of the octet length of the plaintext and possibly some Klartext enthält auch eine 32-Bit-Codierung des Oktetts Länge des Klartextes und eventuell
“zero” octets as padding. "Null" Oktetts als Polsterung.
In each key wrap variant, the authenticated decryption function applies the unwrapping function In jedem Schlüssel Wrap-Variante gilt die authentifizierte Entschlüsselungsfunktion die Funktion Auswickeln
to the purported ciphertext and then verifies whether the output string is the result of properly die angebliche Chiffretext und überprüft dann, ob der Ausgabezeichenfolge ist das Ergebnis richtig
enlarging a plaintext string. Vergrößerung einer Klartext-String.
A useful unit of length for describing these functions is half the block size, ie, 64 bits for KW Eine geeignete Längeneinheit für die Beschreibung dieser Funktionen wird die Hälfte der Blockgröße, dh, 64 Bits für KW
and KWP, and 32 bits for TKW. und KWP und 32 Bits für TKW. A string of this length is called a semiblock, and, for a positive Ein String, der diese Länge wird als Halbblock, und für eine positive
integer n , a string that can be represented as the concatenation of n semiblocks is called a n ganze Zahl, eine Zeichenkette, die als die Verkettung von n Halbblöcke dargestellt werden kann, wird als
sequence of n semiblocks. Sequenz von n Halbblöcke.
For each key wrap variant, the wrapping function and the unwrapping function are defined on Für jeden Schlüssel Wrap Variante sind die Wickelfunktion und das Auswickeln Funktion definiert
sequences of three or more semiblocks. Sequenzen von drei oder mehr Halbblöcke. The length of the output is the same as the length of the Die Länge der Ausgangssignal ist das gleiche wie die Länge der
input. Eingang.
KW-AE (or TKW-AE) is defined on any sequence of two or more semiblocks. KW-AE (oder TKW-AE) an jeder Sequenz von zwei oder mehr Halbblöcke definiert. For KWP-AE, Für KWP-AE,
the domain of possible inputs is extended to nonempty octet strings; die Domäne der möglichen Eingaben wird nicht leeren Saiten Oktett erweitert; the 32-bit encoding of the die 32-Bit-Codierung des
octet length of the plaintext within KWP-AE, however, imposes a mild restriction, namely, Oktett Länge des Klartextes in KWP-AE stellt jedoch eine leichte Beschränkung, nämlich
KWP-AE is only defined when the octet length of the plaintext is less than 2 KWP-AE ist nur dann definiert, wenn das Oktett Länge des Klartextes ist weniger als 2
32 32
. .
The authenticated decryption function for each key wrap variant is defined on any sequence of Der authentifizierte Entschlüsselungsfunktion für jede Taste Wrap-Variante wird auf einem beliebigen Abfolge von definierten
three or more semiblocks. drei oder mehr Halbblöcke.
9 9

Page 18 Seite 18
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
5.3 Limits on Data Length 5.3 Grenzen auf Daten Länge
Mandatory limits on plaintext lengths for each key wrap variant, and the corresponding limits on Verbindliche Grenzwerte auf Klartext-Längen für jeden Schlüssel Wrap-Variante, und die entsprechenden Grenzwerte für
ciphertext lengths, are described in Sec. 5.3.1 . Geheimtextlängen werden in Sec. beschrieben 5.3.1 . Additional, implementation-specific limits on the Zusätzliche, Implementierung-spezifische Grenzen für die
data lengths are discussed in Sec. Datenlängen sind in § diskutiert. 5 .3.2. 5 .3.2.
5.3.1 5.3.1
Mandatory Limits Verbindliche Grenzwerte
KWP is only defined when the length of the plaintext is less than 2 KWP nur definiert, wenn die Länge des Klartextes ist weniger als 2
32 32
octets, ie, when the Bytes, dh, wenn die
plaintext is a sequence of fewer than 2 Klartext eine Folge von weniger als 2
29 29
semiblocks. Halbblöcke. KW can accept longer inputs; KW kann länger Eingänge akzeptieren; nevertheless, Dennoch
the plaintext for KW-AE shall be limited to a sequence of fewer than 2 der Klartext für KW-AE wird auf eine Folge von weniger als 2 begrenzt werden
54 54
semiblocks. Halbblöcke. The Die
plaintext for TKW-AE shall be limited to a sequence of fewer than 2 Klartext für TKW-AE wird auf eine Folge von weniger als 2 begrenzt werden
28 28
semiblocks. Halbblöcke. Similarly, the Auch die
ciphertext for KW-AD shall be limited to a sequence of no more than 2 Schlüsseltext für KW-AD wird in eine Folge von nicht mehr als 2 begrenzt werden
54 54
semiblocks, and the Halbblöcke und
ciphertext for TKW-AD shall be limited to a sequence of no more than 2 Schlüsseltext für TKW-AD wird in eine Folge von nicht mehr als 2 begrenzt werden
28 28
semiblocks. Halbblöcke. The Die
motivation for these restrictions is discussed in Appendix A4. Motivation für diese Einschränkungen ist im Anhang A4 diskutiert. This information, along with the Diese Information, zusammen mit der
minimum lengths from Sec. Mindestlängen von Sec. 5 .2, is summarized in Table 1: 5 .2, ist in Tabelle 1 zusammengefaßt:
Table 1: Summary of Limits on Data Length Tabelle 1: Zusammenfassung der Grenzwerte für Datenlänge
Algorithm Algorithmus
Plaintext Klartext
Ciphertext Chiffretext
Reason for Upper Bounds Grund für obere Schranken
KW KW
2≤ P <2 2≤ P <2
54 54
semiblocks 3≤ C ≤2 Halbblöcke 3≤ C ≤2
54 54
semiblocks requirement—see Appendix A4 Halbblöcke bedarfs siehe Anhang A4
KWP KWP
1≤ P <2 1≤ P <2
32 32
octets Oktetts
2≤ C ≤2 2≤ C ≤2
29 29
semiblocks undefined on other lengths Halbblöcke auf andere Längen undefined
TKW TKW
2≤ P <2 2≤ P <2
28 28
semiblocks 3≤ C ≤2 Halbblöcke 3≤ C ≤2
28 28
semiblocks requirement—see Appendix A4 Halbblöcke bedarfs siehe Anhang A4
Compliance with these requirements is the responsibility of the entities using, implementing, Die Einhaltung dieser Anforderungen ist in der Verantwortung der Unternehmen mit, Umsetzung,
installing, or configuring applications that incorporate this Recommendation. Installation oder Konfiguration von Anwendungen, die diese Empfehlung zu integrieren.
5.3.2 5.3.2
Implementation-Specific Limits Umsetzung spezifischen Grenzen
A plaintext length, or the corresponding ciphertext length, that is allowed for an implementation Eine Klartextlänge oder das entsprechende Geheimtextlänge ist, dass für eine Implementierung erlaubt
of a key wrap algorithm is called a valid length. eines Schlüssels Wrap-Algorithmus wird eine gültige Länge genannt.
The set of valid plaintext lengths for the authenticated encryption function may be restricted to Die Menge der gültigen Klartext Längen für den authentifizierten Verschlüsselungsfunktion kann eingeschränkt werden
any subset of the lengths described in Table 1. Any restricted set of plaintext lengths corresponds beliebige Teilmenge der Längen in Tabelle 1 beschrieben, eingeschränkte Satz von Klartextlängen entspricht
to a restricted set of ciphertext lengths. einem begrenzten Satz von Schlüsseltext Längen. In particular, for KW and TKW, the ciphertext is one Insbesondere für KW und TKW ist der Chiffretext einen
semiblock longer than the plaintext; Halbblock länger als der Klartext; for KWP, the ciphertext is one semiblock longer than the für KWP ist der Schlüsseltext einer Halbblock länger als die
padded plaintext. gepolsterte Klartext.
The definition of the set of valid plaintext lengths is a prerequisite for the authenticated Die Definition des Satzes von gültigen Klarlängen ist eine Voraussetzung für den authentifizierten
encryption function. Verschlüsselungsfunktion. The corresponding set of valid ciphertext lengths shall be a prerequisite for Der entsprechende Satz gültiger Chiffretext Längen ist Voraussetzung für sein
the authenticated decryption function. der authentifizierte Entschlüsselungsfunktion. Note that these sets, like the other prerequisites for these Beachten Sie, dass diese Sätze, wie die anderen Voraussetzungen für diese
functions, must be agreed upon in order for two communicating implementations to interoperate Funktionen müssen auf, um für zwei kommuniziere Implementierungen interoperabel vereinbart werden
properly. richtig.
There is a requirement in [6 ] that, in order to keep a Restricted status for TKW with 2-key TDEA Es ist eine Forderung in [6 ], dass, um zu einem eingeschränkten Status für TKW mit 2-Taste halten TDEA
as the underlying block cipher, the number of invocations of TK-AE shall not exceed 2 wie die zugrunde liegende Blockchiffre, ist die Zahl der Aufrufe von TK-AE nicht überschreiten 2
20 20
for a für eine
given KEK; KEK gegeben; the Restricted status is described in that publication. Eingeschränkte der Status wird in dieser Veröffentlichung beschrieben. There is no requirement to limit Es ist nicht erforderlich, um zu begrenzen
10 10

Page 19 Seite 19
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
the number of invocations for KW-AE or KWP-AE. die Anzahl der Aufrufe für KW-AE oder KWP-AE. Considerations for limiting the number of Überlegungen zur Begrenzung der Anzahl von
invocations of the authenticated decryption function are discussed in Appendix A3. Anrufungen des authentifizierten Entschlüsselungsfunktion sind in Anhang A3 diskutiert.
6 Specifications of KW and KWP 6 Spezifikationen der KW und KWP
6.1 W and W 6.1 W und W
-1 -1
Algorithm 1 below specifies the wrapping function, W, for KW-AE (see Sec . 6 .2) and KWP-AE Algorithmus 1 unten gibt die Verpackungsfunktion, W, für KW-AE (siehe Sec . 6 .2) und KWP-AE
(see Sec. 6.3 ), with a given block cipher and KEK. (Siehe Kap. 6.3 ), mit einer bestimmten Blockchiffre und KEK.
Algorithm 1: W( S ) Algorithmus 1: W (S)
Prerequisites : Voraussetzungen:
approved block cipher, CIPH, with a 128-bit block size; genehmigt Blockchiffre, CIPH, mit einem 128-Bit-Blockgröße;
key, K , for CIPH. Schlüssel, K, für CIPH.
Input : Input:
a sequence of n semiblocks S , for n ≥3. eine Folge von n Halbblöcke S, n ≥3.
Steps : Schritte aus:
1. Initialize variables. 1. Initialisieren Variablen.
a) Let S a) Sei S
1 1
, S , S
2 2
, … , S , ..., S
n n
be the semiblocks such that S = S sein, so dass die Halbblöcke S = S
1 1
|| S || S
2 2
||… || S || ... || S
n n
. .
b) Let A b) Sei A
0 0
= S = S
1 1
. .
c) For i = 2, …, n : let R c) für i = 2, ..., n: sei R
i ich
0 0
= S = S
i ich
. .
d) Let s =6( n -1). d) Sei s = 6 (n -1).
2. Calculate the intermediate values. 2. Berechnen Sie die Zwischenwerte. For t = 1, …, s , update the variables as follows: Für t = 1, ..., s, aktualisiert die Variablen wie folgt:
a) A a)
t t
= MSB = MSB
64 64
(CIPH (CIPH
K K
( A (A
t -1 t -1
|| R || R
2 2
t -1 t -1
)) Å [ t ] )) Å [t]
64 64
; ;
b) For i = 2, …, n -1: R b) für i = 2, ..., n-1: R
i ich
t t
= R = R
i +1 i +1
t -1 t -1
; ;
c) R c) R
n n
t t
= LSB = LSB
64 64
(CIPH (CIPH
K K
( A (A
t -1 t -1
|| R || R
2 2
t -1 t -1
)). )).
3. Output the results: 3. Ausgabe der Ergebnisse:
a) Let C a) Sei C
1 1
= A = A
s s
. .
b) For i = 2, 3, …, n : C b) für i = 2, 3, ..., n: C
i ich
= R = R
i ich
s s
. .
c) Return C c) Rück C
1 1
|| C || C
2 2
|| … || C || ... || C
n n
. .
Figure 1 below illustrates the wrapping function applied to a sequence of four semiblocks, ie, Figur 1 veranschaulicht die Wickelfunktion einer Sequenz von vier Halbblöcke, dh angewendet wird,
W( S W (S
1 1
|| S || S
2 2
|| S || S
3 3
|| S || S
4 4
) = C ) = C
1 1
|| C || C
2 2
|| C || C
3 3
|| C || C
4 4
. . Each “wire” carries a semiblock, and each of the Jedes "Draht" trägt eine Halbblock, und jeder der
eighteen numbered rectangles represents an invocation of the underlying block cipher with the achtzehn nummerierten Rechtecke stellt einen Aufruf der zugrunde liegenden Blockchiffre mit der
KEK. KEK. On the left side of these rectangles, the input block's most significant 64 bits enter the top Auf der linken Seite dieser Rechtecke, der Eingangsblock wichtigsten 64 Bit geben Sie den oben
wire, while on the right side of these rectangles, the output block's most significant 64 bits exit Draht, während auf der rechten Seite dieser Rechtecke höchstwertigen 64 Bit Ausgang des Ausgangsblocks
the bottom wire; der untere Draht; this convention makes for fewer wire crossings. Dieses Übereinkommen macht für weniger Drahtkreuzungen.
11 11

Page 20 Seite 20
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Figure 1: Illustration of the wrapping function, W Abbildung 1: Illustration des Wickelfunktion, W
Figure 2 below illustrates the assignment of intermediate values within Step 2 of Algorithm 1. Figur 2 veranschaulicht die Zuordnung von Zwischenwerten in Schritt 2 des Algorithmus 1.
The dashed lines indicate the assignments of new values to the n semiblock variables. Die gestrichelten Linien zeigen die Belegung der neuen Werte an den n Halbblockgrößen. The Die
variable that indexes the iterations, t , increases from 1 to 6( n -1). Variable, die Indizes die Iterationen, t, steigt von 1 bis 6 (n-1).
...
R R
n n
t -1 t -1
R R
2 2
t -1 t -1
A Ein
t -1 t -1
CIPH CIPH
K K
MSB MSB
64 64
LSB LSB
64 64
R R
3 3
t -1 t -1
[ t ] [T]
64 64
Figure 2: Illustration of an iteration within Step 2 of Algorithm 1 Abbildung 2: Illustration einer Iteration in Schritt 2 von Algorithmus 1
Algorithm 2 below specifies the unwrapping function, W Algorithmus 2 unten gibt die Funktion Auspacken, W
-1 -1
, for KW-AD (see Sec. 6.2) and KWP- , Für KW-AD (siehe Kap. 6.2) und KWP-
AD (see Sec. 6.3), with a given block cipher and KEK. AD (siehe Kap. 6.3), mit einer bestimmten Blockchiffre und KEK.
Algorithm 2: W Algorithmus 2: W
-1 -1
( C ) (C)
Prerequisites : Voraussetzungen:
inverse cipher function, CIPH inversen Verschlüsselungsfunktion, CIPH
-1 -1
, of an approved block cipher with a 128-bit block size; , Von einem zugelassenen Blockchiffre mit einer 128-Bit-Blockgröße;
key, K , for CIPH. Schlüssel, K, für CIPH.
Input : Input:
a sequence of n semiblocks, C, for n ≥3. eine Folge von n Halbblöcke C für n ≥3.
12 12

Page 21 Seite 21
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Steps : Schritte aus:
1. Initialize the variables. 1. Initialisieren der Variablen.
a) Let s = 6( n -1). a) Sei s = 6 (n -1).
b) Let C b) Es sei C
1 1
, C , C
2 2
, … , C , ..., C
n n
be the semiblocks such that C = C sein, so dass die Halbblöcke C = C
1 1
|| C || C
2 2
|| … || C || ... || C
n n
. .
c) Let A c) Sei A
s s
= C = C
1 1
. .
d) For i = 2, …, n : let R d) Für i = 2, ..., n: sei R
i ich
s s
= C = C
i ich
. .
2. Calculate the intermediate values. 2. Berechnen Sie die Zwischenwerte. For t = s , s -1, …, 1, update the variables as follows: Für t = s, s-1, ..., 1, aktualisiert die Variablen wie folgt:
a) A a)
t -1 t -1
= MSB = MSB
64 64
(CIPH (CIPH
-1 -1
K K
(( A ((A
t t
Å [ t ] Å [t]
64 64
) || R ) || R
n n
t t
)); ));
b) R b) R
2 2
t-1 t-1
= LSB = LSB
64 64
(CIPH (CIPH
-1 -1
K K
(( A ((A
t t
Å [ t ] Å [t]
64 64
) || R ) || R
n n
t t
)); ));
c) For i = 3, …, n , R c) für i = 3, ..., n, R
i ich
t -1 t -1
= R = R
i -1 i-1
t t
. .
3. Output the results: 3. Ausgabe der Ergebnisse:
a) Let S a) Sei S
1 1
= A = A
0 0
. .
b) For i = 2, ..., n : S b) für i = 2, ..., n: S
i ich
= R = R
i ich
0 0
. .
c) Return S c) Rück S
1 1
|| S || S
2 2
|| … || S || ... || S
n n
. .
...
R R
2 2
t t
R R
n n
t t
A Ein
t t
CIPH CIPH
-1 -1
K K
MSB MSB
64 64
LSB LSB
64 64
[ t ] [T]
64 64
R R
n -1 n -1
t t
Figure 3: Illustration of an iteration within Step 2 of Algorithm 2 Abbildung 3: Illustration einer Iteration in Schritt 2 von Algorithmus 2
Figure 3 above illustrates the assignment of intermediate values within Step 2 of Algorithm 2. Figur 3 oben veranschaulicht die Zuordnung von Zwischenwerten in Schritt 2 des Algorithmus 2.
The dashed lines indicate the assignments of new values to the n semiblock variables. Die gestrichelten Linien zeigen die Belegung der neuen Werte an den n Halbblockgrößen. The Die
variable that indexes the iterations, t , decreases from 6( n -1) to 1. The input to the inverse cipher Variable, die Indizes der Iterationen, t, nimmt von 6 (n-1) 1. Das Eingangssignal zu dem inversen Verschlüsselungs
function is the concatenation of the two semiblocks that are indicated by the incoming arrows. Funktion ist die Verkettung der zwei Halbblöcke, die von den ankommenden Pfeile angedeutet sind.
6.2 KW 6,2 kW
Algorithm 3 below specifies the authenticated encryption function for KW for a given block Algorithmus 3 unten gibt die authentifizierte Verschlüsselungsfunktion für KW für einen gegebenen Block
cipher and KEK. Chiffre und KEK. The wrapping function, W, specified in Algorithm 1 above, is invoked in Step 3 Die Wickelfunktion, W, in Algorithmus 1 oben angegeben ist, wird in Schritt 3 aufgerufen
with the same block cipher and KEK as prerequisites. mit der gleichen Blockchiffre und KEK als Voraussetzungen.
Algorithm 3: KW-AE( P ) Algorithmus 3: KW-AE (P)
Prerequisites : Voraussetzungen:
approved block cipher, CIPH, with a 128-bit block size; genehmigt Blockchiffre, CIPH, mit einem 128-Bit-Blockgröße;
key encryption key, K ; Schlüsselverschlüsselungsschlüssel, K;
definition of the set of valid plaintext lengths. Definition des Satzes von gültigen Klarlängen.
13 13

Page 22 Seite 22
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Input : Input:
plaintext P , with valid length. Klartext P, mit gültiger Länge.
Output : Ausgang:
ciphertext C. Chiffretext C
Steps : Schritte aus:
1. Let ICV 1=0x A6A6A6A6A6A6A6A6 . 1. Lassen Sie ICV 1 = 0x A6A6A6A6A6A6A6A6.
2. Let S = ICV 1 || P . 2. Sei S = 1 ICV || P.
3. Return C =W( S ). 3. Rückkehr C = W (S).
Algorithm 4 below specifies the authenticated decryption function for KW for a given block Algorithmus 4 unten gibt die authentifizierte Entschlüsselungsfunktion für KW für einen gegebenen Block
cipher and KEK. Chiffre und KEK. The unwrapping function, W Das Auspacken Funktion, W
-1 -1
, specified in Algorithm 2 above, is invoked in , In Algorithmus 2 oben angegeben ist, wird in aufgerufen
Step 4 with the same block cipher and KEK. Schritt 4 mit der gleichen Blockchiffre und KEK.
Algorithm 4: KW-AD( C ) Algorithmus 4: KW-AD (C)
Prerequisites : Voraussetzungen:
approved block cipher, CIPH, with a 128-bit block size; genehmigt Blockchiffre, CIPH, mit einem 128-Bit-Blockgröße;
key encryption key, K ; Schlüsselverschlüsselungsschlüssel, K;
definition of the set of valid ciphertext lengths. Definition der Menge gültiger Chiffretextlängen.
Input : Input:
purported ciphertext, C . angebliche Geheimtext, C.
Output : Ausgang:
Plaintext P or indication of inauthenticity, FAIL . Klartext P oder Angabe der Uneigentlichkeit, scheitern.
Steps : Schritte aus:
1. If the length of C is not valid, then return FAIL and stop. 1. Wenn die Länge der C nicht gültig ist, dann wieder FAIL und stoppen.
2. Let n be the number of semiblocks in C . 2. Sei n die Anzahl der Halbblöcke in C.
3. Let ICV 1=0x A6A6A6A6A6A6A6A6 . 3. Lassen Sie ICV 1 = 0x A6A6A6A6A6A6A6A6.
4. Let S =W 4. Sei S = W
-1 -1
( C ). (C).
5. If MSB 5. Wenn MSB
64 64
( S ) ¹ ICV 1, then return FAIL and stop. (S) ¹ ICV 1, dann wieder FAIL und stoppen.
6. Return LSB 6. Kehren LSB
64( n -1) 64 (n-1)
( S ). (S).
6.3 KWP 6,3 KWP
Algorithm 5 below specifies the authenticated encryption function for KWP for a given block Algorithmus 5 unten gibt die authentifizierte Verschlüsselungsfunktion für KWP für einen gegebenen Block
cipher and KEK. Chiffre und KEK. The wrapping function, W, specified in Algorithm 1 above, is invoked in Step 5 Die Wickelfunktion, W, in Algorithmus 1 oben angegeben ist, wird in Schritt 5 aufgerufen
with the same block cipher and KEK. mit der gleichen Blockchiffre und KEK.
14 14

Page 23 Seite 23
NIST Special Publication 800-38F NIST Special Publica 800-38F
DRAFT ENTWURF
Algorithm 5: KWP-AE( P ) Algorithmus 5: KWP-AE (P)
Prerequisites : Voraussetzungen:
approved block cipher, CIPH, with a 128-bit block size; genehmigt Blockchiffre, CIPH, mit einem 128-Bit-Blockgröße;
key encryption key, K ; Schlüsselverschlüsselungsschlüssel, K;
definition of the set of valid plaintext lengths. Definition des Satzes von gültigen Klarlängen.
Input : Input:
plaintext P , with valid length. Klartext P, mit gültiger Länge.
Output : Ausgang:
ciphertext C. Chiffretext C
Steps : Schritte aus:
1. Let ICV2 =0x A65959A6 . 1. Lassen Sie ICV2 = 0x A65959A6.
2. Let padlen =8×élen( P )/64ù-len( P )/8. 2. Lassen Sie padlen = 8×élen (P) / 64ù-len (P) / 8.
3. Let PAD = 0 3. Lassen PAD = 0
8 padlen 8 padlen
. .
4. Let S = ICV2 || [len( P )/8] 4. Sei S = ICV2 || [len (P) / 8]
32 32
|| P || PAD . || P || PAD.
5. If len( P )≤64, then return C =CIPH 5. Wenn len (P) ≤64, dann wieder C = CIPH
K K
( S ); (S); if len( P )>64, then return C =W( S ). if len (P)> 64, dann wieder C = W (S).
Algorithm 6 below specifies the authenticated decryption function for KWP for a given block Algorithmus 6 unten gibt die authentifizierte Entschlüsselungsfunktion für KWP für einen gegebenen Block
cipher and KEK. Chiffre und KEK. The unwrapping function, W Das Auspacken Funktion, W
-1 -1
, specified in Algorithm 2 above, is invoked in , In Algorithmus 2 oben angegeben ist, wird in aufgerufen
Step 4 with the same block cipher and KEK. Schritt 4 mit der gleichen Blockchiffre und KEK.
Algorithm 6: KWP-AD( C ) Algorithmus 6: KWP-AD (C)
Prerequisites : Voraussetzungen:
approved block cipher, CIPH, with a 128-bit block size; genehmigt Blockchiffre, CIPH, mit einem 128-Bit-Blockgröße;
key encryption key, K ; Schlüsselverschlüsselungsschlüssel, K;
definition of the set of valid ciphertext lengths. Definition der Menge gültiger Chiffretextlängen.
Input : Input:
purported ciphertext, C . angebliche Geheimtext, C.
Output : Ausgang:
Plaintext P or indication of inauthenticity, FAIL .
Steps : Schritte aus:
1. Let n be the number of semiblocks in C .
2. If n is not valid, then return FAIL and stop.
3. Let ICV 2=0x A65959A6 .
4. If n =2, then let S =CIPH
-1 -1
K K
( C ); if n >2, then let S =W
-1 -1
( C ).
5. If MSB
32 32
( SICV2 , then return FAIL and stop.
6. Let Plen= int(LSB
32 32
(MSB
64 64
( S ))).
7. Let padlen =8( n -1)- Plen .
8. If padlen <0 or padlen >7, then return FAIL and stop.
15 15

Page 24 Seite 24
NIST Special Publication 800-38F
DRAFT ENTWURF
9. If LSB
8 padlen
( S ) ¹ 0
8 padlen
, then return FAIL and stop.
10. Return MSB
8 Plen
(LSB
64( n -1)
( S )).
7 Specification of TKW
7.1 TW and TW
-1 -1
Algorithm 7 below specifies the wrapping function, TW, for the authenticated encryption
function of TKW (see Sec. 7.2) with a given KEK, K . In this algorithm, CIPH
K K
denotes the
forward cipher function of TDEA with K as the key.
Algorithm 7: TW( S )
Prerequisites : Voraussetzungen:
key, K , for TDEA.
Input :
sequence of n semiblocks S, for n ≥3.
Steps : Schritte aus:
1. Initialize the variables.
a) Let S
1 1
, S
2 2
, … , S
n n
be the semiblocks such that S = S
1 1
|| S
2 2
|| … || S
n n
. .
b) Let A
0 0
= S
1 1
. .
c) For i = 2, …, n , let R
i ich
0 0
= S
i ich
. .
d) Let s =6( n -1).
2. Calculate the intermediate values. For t = 1, …, s, update the variables as follows:
a) A
t t
= MSB
32 32
(CIPH
K K
( A
t -1
|| R
2 2
t -1
)) Å [ t ]
32 32
; ;
b) For i = 2, …, n -1: R
i ich
t t
= R = R
i +1
t -1
; ;
c) R
n n
t t
= LSB
32 32
(CIPH
K K
( A
t -1
|| R
2 2
t -1
)). )).
3. Output the results:
a) Let C
1 1
= A
s s
. .
b) For i = 2, …, n : C
i ich
= R = R
i ich
s s
. .
c) Return C
1 1
|| C
2 2
|| … || C
n n
. .
Algorithm 8 below specifies the unwrapping function, TW
-1 -1
, for the authenticated decryption
function of TKW (see Sec. 7.2) with a given KEK, K . In this algorithm, CIPH
-1 -1
K K
denotes the
inverse cipher function of TDEA with K as the key..
Algorithm 8: TW
-1 -1
( C )
Prerequisites : Voraussetzungen:
key, K , for TDEA.
Input :
sequence of n semiblocks C, for n ≥3.
16 16

Page 25 Seite 25
NIST Special Publication 800-38F
DRAFT ENTWURF
Steps : Schritte aus:
1. Initialize the variables.
a) Let s = 6( n -1).
b) Let C
1 1
, C , C
2 2
, … , C
n n
be the semiblocks such that C = C
1 1
|| C
2 2
|| … || C
n n
. .
c) Set A
s s
= C = C
1 1
. .
d) For i = 2, …, n : R
i ich
s s
= C = C
i ich
. .
2. Calculate the intermediate values. For t = s , s -1, …, 1, update the variables as follows:
a) A
t -1
= MSB
32 32
(CIPH
-1 -1
K K
(( A
t t
Å [ t ]
32 32
) || R
n n
t t
));
b) R
2 2
t-1 t-1
= LSB
32 32
(CIPH
-1 -1
K K
(( A
t t
Å [ t ]
32 32
) || R
n n
t t
));
c) For i = 3, …, n : R
i ich
t -1
= R = R
i -1
t t
. .
3. Output the results:
a) Let S
1 1
= A
0 0
. .
b) For i = 2, ..., n : S
i ich
= R = R
i ich
0 0
. .
c) Return S
1 1
|| S
2 2
|| … || S
n n
. .
7.2 TKW
Algorithm 9 below specifies the authenticated encryption function for TKW for a given TDEA
key. Taste. The wrapping function, TW, specified in Algorithm 7 above, is invoked in Step 3 with the
same key.
Algorithm 9: TKW-AE( P )
Prerequisites : Voraussetzungen:
KEK, K ;
definition of the set of valid plaintext lengths.
Input :
plaintext P , with valid length.
Output :
ciphertext C.
Steps : Schritte aus:
1. Let ICV 3=0x A6A6A6A6 .
2. Let S =ICV 3 || P .
3. Return C =TW( S ).
Algorithm 10 below specifies the authenticated decryption function for TKW for a given TDEA
key. Taste. The unwrapping function, TW
-1 -1
, specified in Algorithm 8 above, is invoked in Step 4 with
the key.
Algorithm 10: TKW-AD( C )
Prerequisites : Voraussetzungen:
TDEA with key, K ;
definition of the set of valid ciphertext lengths.
17 17

Page 26 Seite 26
NIST Special Publication 800-38F
DRAFT ENTWURF
Input :
purported ciphertext, C .
Output :
Plaintext P or indication of inauthenticity, FAIL .
Steps : Schritte aus:
1. If the length of C is not valid, then return FAIL and stop.
2. Let n +1 be the number of semiblocks in C .
3. Let ICV 3=0x A6A6A6A6 .
4. Let S =TW
-1 -1
( C ).
5. If MSB
32 32
( S ) ¹ ICV3 , then return FAIL and stop.
6. Return LSB
32 n
( S ).
8 Conformance
An implementation may claim conformance to one or more of the following six functions: KW-
AE, KW-AD, KWP-AE, KWP-AD, TKW-AE, and TKW-AD. TKW-AE and TKW-AD are
approved to support legacy systems but should not be used for new applications.
The associated wrapping and unwrapping functions, W, W
-1 -1
, TW, and TW
-1 -1
, are not approved
for use independently of these six functions.
Implementations of the authenticated encryption and authenticated decryption functions may
restrict the lengths of the plaintext, as discussed in Sec. 5.3.2, as long as at least one bit length is
supported. unterstützt. Any such restrictions may affect interoperability.
For every algorithm that is specified in this Recommendation, a conforming implementation may
replace the given set of steps with any mathematically equivalent set of steps. In other words,
different procedures that produce the correct output for any input are permitted.
18 18

Page 27 Seite 27
NIST Special Publication 800-38F
DRAFT ENTWURF
Appendix A: Some Security Considerations
A1 A1
Equality of Plaintexts
Each key wrap algorithm in this Recommendation is deterministic: for a given block cipher and
KEK, any invocation of the authenticated encryption function on a given plaintext produces the
same ciphertext. It follows that any pair of ciphertexts reveals whether the corresponding
plaintexts are equal.
Therefore, ideally, each plaintext should be encrypted only once. If a system encrypts any
plaintext more than once, then one method for ensuring that the ciphertexts are different would
be to prepend each plaintext with a fixed-length nonce before invoking the authenticated
encryption function. Upon authenticated decryption, the nonce would be discarded.
A2 A2
Implied Strength of Protected Keys
The disclosure of a KEK potentially compromises any data (ie, any key) that the KEK protects.
Therefore, the cryptographic strength of the protected key is limited implicitly by the length of
the KEK, which determines the resistance of the KEK to brute force search. This illustrates the
general principle that the KEK should be at least as strong cryptographically as any key that it
protects.
A3 A3
Authentication Assurance
The expansion of the plaintext within the authenticated encryption function provides the
mechanism whereby assurance of the authenticity of the data can be obtained upon the execution
of the authenticated decryption function. The nature of this assurance depends on the output of
the authenticated decryption function:
• If the output is a plaintext, ie, not FAIL, then the design of the mode provides strong,
but not absolute, assurance that this plaintext is authentic, ie, that the ciphertext, as
received, was generated by a party with access to the KEK.
• If the output is FAIL , then it is certain that the ciphertext is not authentic.
In the first case, the assurance is not absolute because forgeries are possible, in principle. In other In anderen
words, an adversary, ie, a party without access to the key or to the authenticated encryption
function, may be able to produce a genuine ciphertext, for example, by a lucky guess.
In particular, if the adversary chooses a string at random with a valid ciphertext length, the
probability that the string will be a genuine ciphertext is exactly 1 in 2
64 64
for KW, and
approximately 1 in 2
64 64
for KWP. The probability for TKW is greater, 1 in 2
32 32
, so TKW is
significantly more vulnerable to forgeries. For this reason, TKW should not be used for new
applications. Anwendungen.
19 19

Page 28 Seite 28
NIST Special Publication 800-38F
DRAFT ENTWURF
Given repeated attempts, of course, the adversary can increase the probability that a randomly-
generated string will eventually be accepted as a valid ciphertext. The system or protocol that
implements the authenticated decryption function should monitor and, if necessary, limit the
number of unsuccessful verification attempts for each key.
A4
Forgeries of Extremely Long Messages
The motivation for the limits on the length of the plaintext in Sec. 5.3 is the following
observation on the unwrapping function, due to John Kelsey of NIST: if S is extremely long,
about 2
67 67
semiblocks, and if T and U are any sequences of semiblocks of equal length, it is likely
that dass
MSB MSB
64 d
(W
-1 -1
( S || T )) = MSB
64 d
(W
-1 -1
( S || U ))
(1) (1)
for some positive integer d .
Equation 1 will hold if six suitable intermediate values coincide within the two invocations of the
unwrapping function in the equation. Each pair of coinciding values is called a collision.
In particular, let S be a sequence of m semiblocks, and let T and U be distinct semiblocks. Let A
1 1
, ,
A Ein
2 2
, …, A
6 m
be the semiblocks defined within Algorithm 2 for W
-1 -1
( S || T ), and let B
1 1
, B , B
2 2
, …, B
6 m
be sein
the corresponding semiblocks for W
-1 -1
( S || U ). Let i 1, i 2, …, i 6 be indices that satisfy the following
“collision conditions”:
0 < i 1< m ,
A Ein
i 1 i 1
= B
i 1 i 1
, ,
i 1+ n < i 2,
A Ein
i 2
= B
i 2
, ,
i 2+ n < i 3,
A Ein
i 3
= B
i 3
, ,
i 3+ n < i 4,
A Ein
i 4
= B
i 4
, ,
i 4+ n < i 5,
A Ein
i 5
= B
i 5
, ,
i 5+ n < i 6 ≤ 6 m , and
A Ein
i 6
= B
i 6
. .
These conditions imply that collisions will occur at many other intermediate values, eg, A
j j
= B
j j
for each index j such that 5 m < j < i 6, or 4 m < j < i 5, etc; collisions will also occur at these indices for
the R values that are defined in Algorithm 2. For i 1, these colliding R values are part of the
output of the unwrapping function, as described in Equation 1 with d = i 1.
The first semiblock of the output of the unwrapping function determines whether a purported
ciphertext will pass the integrity check within the authenticated decryption function. Therefore, if
S || T is a given ciphertext for KW, then the modified ciphertext S || U will also pass the integrity
check provided that the collision conditions are satisfied. In other words, if six suitable collisions
occur, S || U will be a successful forgery. Moreover, the first i 1-1 semiblocks of the resulting
plaintext will be identical to the plaintext from which S || T was generated.
For KWP, S || U would also be a successful forgery if the collision conditions are satisfied and if
no padding octets were appended to the plaintext during the generation of S || T .
For TKW, an analogue of the above analysis applies, adapted to the smaller semiblock size.
20 20

Page 29 Seite 29
NIST Special Publication 800-38F
DRAFT ENTWURF
The length of the ciphertext affects the probability that some set of indices will satisfy the
collision conditions. One can estimate this probability for a fixed value of m by modeling some
of the individual collisions as independent events that occur with probability 2
-64
. In particular,
beginning at index 6 m , one analyzes the probability of a collision at exactly m indices, as
follows: folgt:
· At index j , if A
j j
B
j j
, or if j < m , one next considers the index j -1.
· At index j , if A
j j
= B
j j
and j > m , one next considers the index j - m -1.
If this procedure identifies collisions at six or more indices, then the first six collisions will
satisfy the collision conditions. Conversely, if there are six indices that satisfy the collision
conditions, then this procedure will identify collisions at six or more indices. Consequently, for
KW, the probability, E, that the forgery attack succeeds in this model is
. .
2 2
1 1
2 2
2 2
1 1
1 1
64 64
64 64
64 64
5 5
0 0
i ich
m m
i ich
i ich
i ich
m m
E E
-
=
÷ ÷
÷ ÷
ø ø
ö ö
ç
ç
è
æ
-
÷ ÷
ø ø
ö ö
ç
è
æ
÷ ÷
÷ ÷
ø ø
ö ö
ç
ç
è
æ
-
=
å å
(2) (2)
If 2
64 64
/ m is sufficiently large, then
. .
2 2
720 720
1 1
6 6
64 64
÷ ÷
ø ø
ö ö
ç
è
æ
× ×
»
m m
E E
(3) (3)
Consequently, if m <2
54 54
, as required in Sec. 5.3.1 , then E <2
-64
. .
For TKW, the analogous conclusion is that if m <2
28 28
, as required in Sec. 5.3.1 , then E <2
-32 -32
. .
A5 A5
Additional Analysis Zusätzliche Analyse
Within [8], Rogaway and Shrimpton provide an analysis of AESKW as specified in [2], much of
which also applies to the key wrap variants in this Recommendation. Among other criticisms, the
authors emphasize the lack of a proof that the underlying structure of KW meets the goal of
deterministic authenticated encryption that they formalize in the paper. Nevertheless, the authors
expect that the AES Key Wrap achieves this property, possibly even in a particularly strong
manner, ie, with “beyond-birthday-phenomenon security.”
21 21

Page 30 Seite 30
NIST Special Publication 800-38F
DRAFT ENTWURF
Appendix B: Comparison with Earlier Specifications
This appendix describes the technical differences between KW, KWP, and TKW as specified in
this Recommendation and their earlier specification documents discussed in Sec. 3 .2.
The maximum plaintext lengths for KW and TKW in Sec 5.3 .1, a nd the explicit option for
implementation-defined subsets of valid lengths for KW, KWP, and TKW in Sec. 5 .3.2 are
unique to this Recommendation. In particular, KW-AE, KWP-AE, and TKW-AE are undefined
on plaintexts of invalid length, while KW-AD, KWP-AD, and TKW-AD check whether the
length of the purported ciphertext is valid.
This Recommendation also differs slightly in its support of underlying block ciphers. The AES
Key Wrap, both in the original “AES Key Wrap Specification” that was posted on NIST's
Computer Security Resource Center web and in [ 9], is defined only for the AES algorithm;
however, KW and KWP will also support any 128-bit block cipher that is approved in the future.
The Key Wrap algorithm in [1 ] supports a wider choice of block ciphers, encompassing a variant
that is equivalent to TKW, but also allowing TDEA with key lengths that are not supported in
TKW.
Otherwise, the specification of KW in this Recommendation is equivalent to the original “AES
Key Wrap Specification” and to the specification in [9], and almost equivalent to the key wrap
specification in [1] with the AES algorithm as the underlying block cipher. The specification in
[1] supports the appending of random padding bits to plaintexts that are not sequences of
semiblocks, when the length of plaintext is fixed. This amounts to a reversible padding scheme
that is different than the padding scheme defined in [4] and later adopted for KWP.
22 22

Page 31 Seite 31
NIST Special Publication 800-38F
DRAFT ENTWURF
23 23
References Referenzen
[1] [1]
ANSI/TIA-102.AACA-1-2002: Project 25 – Digital Radio Over-the-Air-Rekeying
(OTAR) Protocol: Addendum 1 – Key Management Security Requirements for Type 3
Block Encryption Algorithms , Telecommunications Industry Association, November,
2002. 2002.
[2] [2]
ANS X9.102-2008, Symmetric Key Cryptography For the Financial Services Industry—
Wrapping of Keys and Associated Data , Accredited Standards Committee X9, Inc., June,
2008. 2008.
[3] [3]
Federal Information Processing Standards (FIPS) Publication 197, Advanced Encryption
Standard , US DoC/NIST, November 26, 2001.
[4]
R. Housley and M. Dworkin, Advanced Encryption Standard (AES) Key Wrap with
Padding Algorithm , RFC 5649, August, 2009.
[5] [5]
NIST Special Publication 800-67 Version 1. 1: Recommendation for the Triple Data
Encryption Algorithm (TDEA) Block Cipher , May, 2008.
[6] [6]
NIST Special Publication 800-131A: Transitions: Recommendation for Transitioning the
Use of Cryptographic Algorithms and Key Lengths , January, 2011.
[7] [7]
NIST Special Publication 800-133: Recommendation for Cryptographic Key Generation ,
draft, August 2011.
[8] [8]
P. Rogaway and T. Shrimpton, Deterministic Authenticated-Encryption: A Provable-
Security Treatment of the Keywrap Problem , EUROCRYPT 2006. LNCS vol. 4004, 373-
390, Springer, 2006.
[9] [9]
J. Schaad and R. Housley, Advanced Encryption Standard (AES) Key Wrap Algorithm ,
RFC 3394, September, 2002.