throbber
FIPS PUB 1
`
`FEDERAL INFORMATION
`lNG STANDARDS PUBLICATION
`1980 December 2
`
`I
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 1
`
`

`
`Jordan J. Baruch, Assistant
`for Productivity,
`and Innovation
`
`NATIONAL BUREAU OF STANDARDS, Ernt!st Ambler, Director
`
`Foreword
`
`Standards Publication Serle~ of the National Bureau of
`ral Information Process
`ication relat
`ted
`to standards
`under
`89-306
`Act) and under
`6 of Title 15, Code of
`executive mandates have
`of
`the utilization and management of
`in the Federal Government.
`To carry out
`the
`its Institute for
`Sciences and
`and coordination of Government efforts
`in these areas.
`
`process
`the NBS,
`, technical
`~uidelines and standards
`
`1 Information Processin):; Standards Publications are welc'lmed and
`the Di rectnr,
`Institute for
`Sciences
`rds, Washi
`on, DC
`20234.
`
`James H. Burrows, Director
`Institute for
`Sciences
`and
`
`tract
`
`ithm to
`a
`ifiPs a
`computer data.
`but unclassified,
`ich may be used in a wide
`protect-
`(
`included in this standard are the
`(
`mode,
`tht•
`Feedback
`
`til
`
`ritv;
`
`Federa
`
`[nfor-
`
`I,
`
`• ) ,
`
`. (
`
`1, ~
`
`r ,
`
`t' • •
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 2
`
`

`
`FIPS PUB 81
`
`Federal Information
`Processing Standards Publication 81
`
`1980 December 2
`
`ANNOUNCING THE
`STANDARD FOR
`
`DES MODES OF OPERATION
`
`the National Bureau of
`Standards Publications are issued
`Federal Information
`to the Federal
`and Administrative Services Act of
`l949, as
`St. 11dards pursuant
`amended. Public Law 89-306 (79 Stat.
`, Executive Order 11717 (38 FR 12315, dated May
`11, 1973), and Part 6 of Title 15 Code of Federal
`
`1. Name of Standard. DES Modes of
`
`2. Category of Standard. ADP
`
`ions, computer
`
`46)
`a crypto-
`3. Explanation. The Federal Data
`protection of sensitive, but unclassi(cid:173)
`to be used for the
`This FIPS defines four modes of
`the DES which may be
`data.
`will be
`of
`The modes
`in(cid:173)
`The modes
`(returned to
`Block Chaining
`Code book
`mode.
`and the Output
`
`mode,
`
`the
`mode,
`Feedback
`
`fied,
`
`eluded in
`(
`
`of this
`
`hut
`of the recommended modes of
`in
`and sufficient conditions for their secure
`This standard
`the
`of data hits, how the bits
`• and the data paths and the data processing
`for
`data or messages. This standard is based on (and references
`the
`among DES
`next level of detail necessary for
`compat
`This standard
`the deve
`''!mt of a set of
`!cation standards
`it such as communication
`standards, data storage standards, pass(cid:173)
`or
`standards and
`management standards. Cryptographic system
`must select one or more of the
`modes of operat
`DES in a
`system or
`application.
`Tiu~
`tutorial information on the modes of operation and
`correct
`ion.
`The Appendices are
`and
`of this standard.
`
`of Commerce.
`
`of Commerce, National Bureau of Standards, Insti-
`
`are not
`
`4 .•
`
`5. Maintenance
`tute for
`
`u.s.
`Sciences and
`
`6. Related Documents.
`
`PIPS PUB 46, "Data
`
`Standard, 11
`
`15, 1977.
`
`"Telecommunications:
`Federal Standard 1026,
`Use of the Data Enc
`Standard,"
`20, 1980, draft.
`
`for
`
`ths Data
`
`) Federal Standard 1027,
`Standard , 11
`
`"Telecommunications:
`5, 1980, draft.
`
`Sec.urity
`
`for Use of
`
`1
`
`BEST
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 3
`
`

`
`FIPS PUB 81
`
`A Hst of
`Inst ,ute
`DC 20234.
`
`7. Applicability.
`
`8.
`tion
`
`be obtained from the Standards Admintst1~ 'tion Office,
`National Bureau of Standards, Washington,
`
`This standard shall be used by Federal
`or services which
`the Data
`the
`
`anyone
`may be used
`one of the
`selection
`considered.
`
`when
`and
`Standard and which are
`unclassified, computer
`the Data
`and use
`will depend
`
`Federal Information Process
`
`Standard (FIPS 81) DES Modes of
`
`The DES modes of operation described in this
`by many sources within the Federal Government
`These
`in
`a standard of this nature must,
`11ices.
`remain flexible enough to
`to advancements and innovations in science and technology. As such,
`this standard
`should not be construed
`either exhaustive or static.
`It wi
`be reviewed every
`five years
`in order to
`technh
`economic merit
`netl
`the issuance of a r,~,·ised standard.
`of
`the DES
`The DES,
`thm
`in electronic devices when used by Federal
`itself, must therefore be in hardware or firmware for Federal
`the
`modes of operation
`in this standard may be
`hardware, or
`firmware.
`
`are based upon
`
`10.
`to Federal Government
`ions, Parts 121
`technical data
`u.
`and
`
`Patents.
`patents.
`
`devices and technical data
`them are
`Title 22, Code of Federal
`this standard and
`
`this standard may be covered
`
`u.s.
`
`12.
`
`Schedule. This standard becomes effec
`
`on June 2, 1981.
`
`13. Waivers. Heads of
`of this standard be
`may request that the
`waivr~d in instances where it can be c
`demonstrated that there are
`interests of the Federal Govern(cid:173)
`mance or cost
`to be
`and when
`served
`ment
`,are best
`the
`requests will be
`Such waiver
`of Commerce.
`The waiver
`reviewed
`and
`in the
`ification
`for
`request must
`the waiver.
`
`waiver.
`the
`cost
`
`Waiver requests
`labeled as a
`agency shall take any
`approval
`from the
`DES mode of
`
`should be allowed for revi.ew and response
`shall b~ submitted to the
`of Commerce,
`for a Waiver to this Federal Information
`action to deviate from this standard
`of Commerce.
`No agency shall
`operation not
`to this standard
`
`Commerce.
`and
`No
`of a waiver
`
`has been
`
`the National
`ication are for sale
`of this
`14. Where
`Obtain
`rtment of Commerce,
`ld, VA 22161.
`When
`Technical Information Service,
`Process
`Standards Publication 81
`PUB 81),
`,
`refer to Federal Information
`this should be specified.
`may be made
`and title. When microfiche is desired,
`account.
`check, money order, or
`
`2
`
`BEST
`
`CUMEN
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 4
`
`

`
`FIPS PUB 81
`
`Federal Information
`Processin£:, Standards Publication 81
`
`1980 December 2
`
`Specifications for
`
`DES MODES OF OPERA:noN
`
`CONTENTS
`
`INTRODUCTION ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
`1.
`1.1 Definitions, Abbreviations, and Conventions••••••••••••••••••••••••••••••••••• 4
`
`2.
`3.
`4.
`5.
`
`ELECTRONIC CODEBOOK
`CIPHER BLOCK CHAINING
`CIPHER fEEDBACK
`)
`OUTPUT fEEDBACK (OFB)
`
`) MODE .••••••••••••• *~••••••••••••••••••••••••••••••••••• 5
`) MODE •••••••••••• ~·••••••••••••••••••••••••••••••••••• 5
`MODE •••••• , ........................... ••••••••••••••·••••••• 8
`M.ODE. ,. ••••••••••••••••••••.••••••••••••••••••• .., .......... .,. • • • 8
`
`l.
`2.
`3.
`4.
`
`F
`
`Al: Des
`
`Table IH. An
`Table Cl. An
`Table Dl. An
`Table D2.. An
`Table D3. An
`Table D4. An
`Table D5. An
`Table El. An
`Table E2.. An
`Table Fl. An
`Table F2. An
`
`of
`of
`of
`of
`of
`of
`of
`of
`of
`of
`of
`
`FIGURES
`
`Mode. • • • • • • • • • • • • • •. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 6
`) Mode ••••••••••••••••••••••••••••••••••••••••••
`7
`9
`)
`Mode ................. • • • • • • • • • • • •· • • • • • • • • • • • • • • •
`) Mode ..................... •••••lit ••••••••••••••• 10
`
`............................... ··············'*···············12
`
`TABLES
`
`the Electronic Cndebook
`Block
`the
`the 1-Bit c
`the 1:>-Bit c
`the 64-Bit
`the 7-Bit
`the 56-Bit
`the 1-Bit
`the 8-lUt
`the
`the
`
`1'-tode ........................... 13
`Mode •••••••••••••••••••••••• lS
`Hode ••••••••••••• '*' ••••••••• 17
`Mode •••••••••••••••••••••••• l8
`) Mode ••••••••••••••••••••••• l9
`Feedback Alternative Mode •••••••••••••••••• 20
`Feedback Alternative Mode ••••••••••••••••• ll
`Feerlback
`Mode •••••••••••••••••••••••• 22
`Mode •••••••••••••••••••••••• l3
`feedback
`Mode for Authentication ••••• 25
`Mode for Authenticat1on ••••.•••••• 2o
`
`Block
`
`APPENDICES
`
`A. General Information ........................................................ 11
`B. Electronic Codebook
`) Mode••••••••••••••••••••••••••••••••••••••••••l2
`C.
`Block
`(CBC) Mode••••••••••••••••••••••••••••••••••••••••l4
`D.
`Mode•••••••!••••••••••••••••••••••••••••••••••••••l6
`E.
`F.
`
`• ............................................ 24
`
`3
`
`BES1 D UMEN
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 5
`
`

`
`RPS PUB 81
`
`l.
`
`the
`cess and
`data.
`secrecy of the
`
`The
`
`to obtain
`depends on
`
`pro(cid:173)
`the
`the
`
`is:
`
`,P7
`
`,P8)
`
`bits
`where
`seven
`for
`on
`of the octet is odd, i.e., there is an odd number
`
`• • •
`
`,P2, ••• ,P8} are reserved
`and set so that the
`the octet.
`
`The hexadecimal format of a
`
`R2 H3H4 ••• Hl5H16)
`
`6} are hexadecimal characters from the set
`t 1 ' •••
`in the format are optional and lower case letters may be
`the up~Jer case letters.
`This standard assumes that a
`into a
`l1,S device
`to
`or
`ion.
`
`The
`at
`entered
`
`1.1 Definitions, Abbreviations, and Conventions. The
`and conventions shall be used
`this standard:
`
`definitions, abbreviations
`
`BIT: A
`
`denoted as a "0" or a "1."
`
`BINARY VECTOR: A sequence of bi.ts.
`
`BLOCK:
`A
`64 and denoted as
`
`vector canst
`
`CBC'
`
`CFB:
`
`Block Chaining.
`
`Feedback.
`
`CIPH~R TEXT:
`
`bits numbered from the left as l, 2 • ••••
`
`CRYPTOGRAPHIC KEY:
`A 614-bit parameter consi.s
`used in a DES device to control the encrypt and
`{
`KEY • KEY
`
`operations.
`
`bits and 8
`
`hits
`
`DATA UNIT:
`(Dl,D2, •••
`
`vector
`A
`where K • 1
`, •••
`
`of K. bits that is
`and where Dl
`
`as an ent
`represent b1 ts.
`
`denoted as
`
`DECRYPTION: The process of
`Verb: DECRYPT.
`(
`DEC
`
`text into
`
`n text.
`
`DECRYPT STATE:
`FIPS PUB 4&.
`
`The state of a DES device execut
`
`the
`
`fed in
`
`DES: Data
`
`ion Standard;
`
`ied in FIPS PUB 46.
`
`DES DEVICE:
`The electronic component used to
`circuit
`or a micro-computer with
`memory program.
`
`DES
`
`INPUT BLOCK:
`The
`
`sent bits.
`
`A block that is entered into the DES device for either
`block shall he
`( Il , I2, ••• • IM)
`
`ion or
`repre-
`
`4
`
`BEST
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 6
`
`

`
`RPS PU811
`
`opera(cid:173)
`where
`
`. . .
`
`A block that is the find result of
`DES OUTPUT BLOCk:
`tion of a DES device.
`The output block shall be
`represent bits.
`01
`,...
`
`ECS: Electronic Codebook.
`
`ENCRYPTION: The process of
`Verb: ENCRYPT.
`(
`
`ENCRYPT STAT£~
`FIP~ PUB 46.
`
`EXCLUSIVE-OR
`Th
`
`DES
`
`n text into
`
`text.
`
`left-most bit
`
`to
`
`l •
`
`OCTET:
`
`OFB:
`
`Feedback.
`
`2. Electronic
`follows
`direct
`DES device
`direct
`
`in
`
`the
`
`In ECB
`c
`• a
`The
`block
`(!1,12, •••• !64).
`state.
`resultant
`The
`••••• 064) or
`be used in
`the same
`the ECB
`is
`encryption process except that
`encrypt
`is used rather than the
`
`l,C2, •••
`is then
`
`the DES
`in
`
`text
`process
`device
`
`state of
`
`the
`
`3.
`mode is defined as
`:':lock
`follows
`In CBC encryption,
`divided into blocks.
`block is
`the first DES
`the first block of a
`with a
`) = (IVieDl,IV2eD2,...
`).
`64-bit initialization vector
`The
`nput block
`state, and the result
`i.e.,
`text,
`output block is used as
`).
`This
`first ci
`text block is then exclusive-ORed with the second
`text data block
`to
`i.e., (Il,I2, ••• ,I64) •
`the
`second DES input block,
`• "'"""L'"- ••••• C64$0f>4) •
`that
`and D now refer to the second block.
`The second input block
`is
`DES device in the encrypt state to
`the second
`text
`contlnues to "chain" successive c
`and
`text blocks
`text block in the message is
`If the message
`number of data blocks,
`then the
`final partial ddta block
`
`Note
`
`consist of
`
`r
`does not
`should be
`
`BEST 0
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 7
`
`

`
`RPS PUB 81
`
`1:
`
`(ECB) MODE
`
`ENCRYPTION
`
`ECB DECRYPTION
`
`TEXT
`
`tEXT
`
`(C1, C2, "'' C64)
`
`DES
`
`CIPHER TEXT
`
`PlAIN TEXT
`
`D2, ... , D6
`
`6
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 8
`
`

`
`FIPS PUB 81
`
`FIGURE
`
`CIPHER BLOCK CHAINING (CBC) ODE
`
`IV
`
`DES ENCRYPT
`c
`
`DES ENCRYPT
`c
`
`IV
`
`c
`
`c
`
`111111111111111
`
`DES ENCRYPT
`
`c
`
`c
`
`0 S DECRYPT
`
`DES DECRYPT
`
`DES DECRYPT
`
`LEGEND
`D =DATA BLOCK J
`I =ENCRYPTION INPUT BLOCK J
`C =CIPHER BLOCK J
`
`IV = INITIALIZA liON VECTOR
`=EXClUSIVE-OR
`
`7
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 9
`
`

`
`RPS PUB 81
`
`in
`C of
`
`for the
`
`One such method
`
`is described
`
`in
`
`of an
`encrypted message is u.sed as the input
`(11,12, ••• ,164) •
`the
`state,
`i.e.,
`output block, which
`original input block to the
`exc1usive""'0Red with the
`same as that used during
`block,
`the first plain
`text
`to
`i.e.,
`(Dl,D2,...
`•
`,o2elV2, ••• ,0640IV64). The second cipher text block is then used as the input block
`the DES in the
`and the
`and 1s
`block
`is
`the first cir:ter
`exclusive-ORed with
`the second
`text data
`· and o
`block,
`i.e.,
`)
`(Dl
`Note that again
`The CBC
`refer
`to the second block.
`in this mannet r nUl the
`last
`block has been
`a partial
`data block must be
`
`4. Cipher Feedback
`follows
`mode is defined as
`Feedback
`Rode. The
`is dtvided into data units each containing K bits (K
`3). A message to be
`= 1,2, ••• ,64).
`In both the CFB encrypt ~md
`operations, an initialization vector
`L 1s used.
`flcant bits of the DES
`(
`of
`The IV is
`in the least
`{I ,I2, ••• ,I64)
`blr,ck with
`"'
`, •••
`,IVl,
`••• ,IVL).
`the DES device in the encrypt state
`a
`an output block.
`text is produced by
`i.e ••
`text data unit with
`K b:i ts of the output block,
`•
`l
`• plain text is pro-
`with the most significant K bits of
`exclus
`duced
`the output block. i.e.,
`In both cases the unused
`bits of the DES output block are disc, ,ded.
`In both cases the next i.nput block is created
`most
`ficant K bits of the
`block, shifting the remai-
`K ~ositions to the left and then
`the K bits of
`text
`least
`in the encryption
`or
`used in the
`operation into the
`i.e., {Il.I2, ••• ,
`bit
`• ( K+l},I[K+2], ••• ,I64,Cl
`, ••• ,
`:l.nput block is then
`the DES device in he encrypt state to produce
`This
`the next output block. This process continues until the entire
`text message has been
`or unt i 1 the entire
`text message has been
`
`CFB mode may openne on data units of
`to be the CFB mode
`defined
`on data
`each operation of the DES device one K-bit unit of
`text or one K-b:lt unit of
`text
`d
`
`for 8-bit CFB when
`alternative
`to insert a "I'' bit in bit
`results in a "1"
`).
`This
`This alternative is called
`
`64 inclusive. K-bit CFB
`K for K = 1
`one K-bit unit
`text.
`
`is
`For
`of
`
`an R-bit
`7-bit entities
`, i.e. ,
`the 8-bit
`feedback
`in bit location 57 of
`
`follows
`mode is defined as
`Feedback
`Mode. The
`Feedback
`is divided into data units each
`K bits
`mess,1ge to be
`(
`= 1, 2, ••• ,64).
`In both the OFB encrypt and
`operatf.ons, an initialization vector
`L is used.
`The IV is
`in the least
`!cant bits of the DES 1 nput
`(
`of
`the
`unused
`bits
`"O's,"
`i.e.,
`(Il,I2, ••• ,I64
`with
`block
`, !Vi , IV2, ••• , IVL).
`This
`the DES device in the
`(
`, 0,...
`encrypt state to
`output block.
`cipher text is
`exc
`ficant K bits of the
`block, t.e.,
`text is
`i.e.,
`bits of the output
`In both cases the
`output block are discarded.
`the unused bits of the
`the most s
`ficant K bits of the
`is created
`discard
`the
`bits K posit ions
`the left a.nd then insert
`i.e.,
`used
`the
`least
`s
`ficant
`bit
`positions,
`Into
`{I
`},I[K+2) , ••. ,164,01
`This
`block is then
`
`In both cases
`i~Kt Input block
`block. shift
`bits of output
`(U~I2, ••• ,I64)
`the DES
`
`t
`
`8
`
`BEST
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 10
`
`

`
`FIPS PUB 81
`
`FIGURE 3: K·BIT CIPHER FEEDBACK (CFB) MODE
`
`ENCRYPTION
`
`SHIFT
`
`DECRYPTION
`
`SHIFT
`
`INPUT BLOCK .
`. .
`
`(64~K) BITS
`
`: K BITS
`
`K
`
`FEED BACK
`K BITS
`
`K
`
`INPUT BLOC!( .
`.
`
`(64-K) BITS
`
`: K BITS
`
`ES ENCRYPT
`
`DES ENCRYPT
`
`OUTPUT BLOCK
`SELECT
`: DISCARD
`K BITS
`; (64-K) BITS
`
`OUT~UT BLOCK
`SELECT
`: DISCARD
`K B
`(64-K) BITS
`
`l ~ K
`CIPHER TEXT
`~P---------·
`
`r-
`
`K BITS
`
`P-~
`K
`
`PLAIN TEXT
`K BITS
`
`__....
`
`CIPHER TEXT
`K BITS
`
`l
`
`PLAIN TEXT
`K BITS
`
`K
`INPUT BLOCK INITIALLY CONTAINS AN INIT1ALIZA TION VECTOR (IV) RIGHT JUSTIFIED.
`
`BEST
`
`AVAILABLE
`
`9
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 11
`
`

`
`FIPS PUB 81
`
`FIGURE 4: K-BIT OUTPUT FEEDBACK (OFB) MODE
`
`ENCRYPTION
`
`SHIFT
`111111
`
`IIIII
`
`DECRYPTION
`
`SHIFT
`
`INPUT BLOCK .
`. •
`
`(64~KI BITS
`
`: K BITS
`
`1
`
`K
`
`FEED BAC K
`K BITS
`
`(64-K) BITS
`
`INPUT BLOCK
`•
`: K BITS
`•
`l
`
`K
`
`DES ENCRYPT
`
`DES ENCRYPT
`
`OUTPUT BLOCK
`SELECT
`: DISCARD
`K BITS ! (64-Kl BITS
`
`K +')!------
`
`CIPHER TEXT ll-mlllllil8"""
`K BITS
`
`K
`
`PLAIN TEXT
`K BITS
`
`OUT~UT BLOCK
`: DISCARD
`: (64-K) BITS
`
`K BITS
`
`PLAIN TEXT
`K BITS
`
`1
`K
`1
`INPUT BLOCK INITIALlY CONTAINS AN INITIALIZATION VECTOR {IV) RIGHT JUSTIFIED.
`
`K
`
`thf' next output block. This process continues unt U
`device in the encrypt state to
`the entire plain text messag~, has been
`or until the entire ci
`text message
`has been
`
`The OFB mode may operate on data units of
`defined
`to be the OFB mode operating on data units
`each operation of the DES device one K-bit unit
`c
`text or one K-bit unit of
`text
`
`64 inclusive. K-bit OFB
`is
`K forK= 1,2, ••• ,64.
`For
`one K-hit unit of
`n text
`one K-blt unit of plain text.
`
`10
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 12
`
`

`
`GENERAL INFORMATION
`
`APPENDIX A
`
`FIPS PUB 81
`
`The National Bureau of Standards issued Federal
`tion 46
`PUB 46) in 1977. That standard
`called the Data Encryption Standard
`ment for the
`DES
`submitted to
`
`Publica-
`commonly
`a
`Federal Govern-
`to be used
`of sensitive, but unclassified. computer data. The
`by the International Business Machines
`and
`(IBM)
`National Bureau of Standards during an NBS
`solicitation for ceypto-
`be used in a Federal Information Process
`Standard.
`Several meth-
`system are
`this
`ods
`methods, external to the DES
`, have come to be called the "modes
`Four modes, called
`the Electronic Codebook
`mode,
`the Cipher Block Chaining
`mode,
`the
`Feedback
`mode, and the
`Feedback
`mode, are specified in
`this standard.
`ECB is a direct application of the DES
`to encrypt and
`data; CBC is an enhanced mode of ECB which chains
`text; CFB
`of
`c
`text as
`the
`generate
`are combined with the plain text to
`text,
`OFB
`identical to CFB except that the
`the
`text is used
`The
`these
`for all
`
`which
`the
`DES
`does
`
`modes because they
`unclassified
`
`text into
`rrocesses are
`inverse transformation. The encryption and
`based on a parameter
`of rules, called an
`thm,
`that is
`ded to or
`the usera
`usually
`the
`parameter that
`of time over which a
`system and must be
`secret.
`to encrypt or
`data is called its cryptoperiod.
`
`a
`
`64-blt vectors onto
`the DES maps the set
`elements in this set.
`( 2 ra 1 sed to
`2
`The DES
`up to, but not
`, i.e., transformations that are
`user to select any one of
`56 possible
`When
`the DES in ECB mode
`one-to-one.
`Selec
`a
`selects one of
`and
`this
`and any particular
`• each
`iterative, block,
`an
`output
`is
`back onto the
`cipher system mixes transpo-
`systero (i.e., encryption
`Because the DES
`thm
`manner.
`substltutlon operations in an alternat
`the DES is called a
`a 64-bit
`block onto a 64-bit output
`maps
`for another
`system.
`Iterative refers to the use of the output of an operation as the
`iteration of the same
`The DES internal
`uses sixteen iterations of a pair of
`block. A
`transposition and substlLut:lon
`to e~crypt or
`an
`thm is found In FIPS PUB 46.
`specification of the DES
`
`itself.
`
`See
`all
`
`and
`
`Two
`of methods for
`methods.
`In a block
`methods
`text to be
`function
`stream method is based on
`the exclusive-OR
`to
`text:
`the
`inverse,
`and
`text, P,
`then C = P It 0
`
`output
`stream of bits,
`sequence with
`combine this
`Since the exclusive-OR operator is
`its
`stream is used for both the
`C. If 0 is tile
`
`are block
`a si
`text. A
`then
`the
`
`plain
`stream,
`
`11
`
`BEST D UMENT
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 13
`
`

`
`FIPS PUB 81
`
`FIGURE A1: DES MAPPINGS
`
`INPUT SPACE
`
`256
`
`MAPPINGS
`
`DECRYPT
`
`ELECTRONIC CODEBOOK (
`
`MODE
`
`APPENDIX B
`
`The Electronic Codebook
`to 64
`M4 bits of
`~odebaok arises because
`block
`
`ing
`electronic
`to be enc
`
`method which
`) mode is a basic, black,
`bits of output as specified in FIPS PUB 46.
`The ana
`a
`to
`text
`r
`the same
`in text block
`the same
`c
`1 ist (or
`ln text blocks and
`could be constructed for any given
`ln
`are calc•tlated each time for the pla,ln
`text
`text to ne
`
`the
`64 hits of
`function of
`block is a
`Since
`ty) bits of the
`block and
`• a s
`bit error
`or the non-parity
`bits used for
`ln either a c
`lon will cause the
`plain text block to have an ave rage error rate of fl
`percent.
`However,
`an
`ECB c
`text block will not affect the
`Lon of 11the r
`blocks,
`i.e.,
`in
`error
`there is no error extension hetween ECB blocks.
`
`If block boundaries are lost between encryption and decryption (e.~., a bit sl ),
`then
`ronizat ion between the encryption and
`ion operations will he lost until correct
`block boundaries are
`reestablished.
`T11e results of all
`ion ope rat hms will be
`incorrect until this occnrs.
`
`Since
`multi
`least
`filled
`
`block.
`
`the ECB mode is a 04-bi t block d
`If a user has
`of s
`four bits.
`lficant bits of the unused portion
`with
`or
`random bl ts,
`i og device must then discard th1~st~
`
`1
`device must encrypt data In
`an
`less than sixty-four hits to encrypt, then the
`of the
`datA block must be
`e.~.,
`or to ECR encryption.
`The corres
`in~
`inR hits after decryption of the cl
`
`in ECH
`the s:1me output block under a fixe••!
`same input block always
`The
`1:1otie.
`If this is undesirable in a pa:rticul~Ir application,
`the CBC,
`CFR or OFB modes shn11ld
`he
`t., Table B 1.
`used. An
`of the ECB mode ls
`ven
`
`12
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 14
`
`

`
`FIPS PUB 81
`
`AN EXAMPLE OF THE ELECTRONIC CODEBOOK (ECB) MODE
`
`The ECB mode tn the
`
`state has been selected.
`
`TABLE Bl
`
`- 01
`
`t"~xt is the ASCII cod'! for
`is the time for all • " These seven-bit charac-
`The
`ters are wr tten in hexadecimal notation (O,b7,b6, ••• ,bl).
`
`TIME
`
`PLAIN TEXT
`
`INPUT
`DES
`BLOCK
`
`DES OUTPUT
`BLOCK
`
`CIPHER TEXT
`
`1 4e6f772069732074 4e6f772069732074 3fa40e8a984d4815 3fa40e8a984d4815
`2 68652074696d6520 68652074696d6520 6a271787ab8883f9 6a271787ab8883f9
`3 666f7220616c6c20 666f7220616~6c20 893d5lec4b563b53 893d5lec4b563b53
`
`The ECB mode in the
`
`state has been selected.
`
`TIME
`
`CIPRER TEXT
`
`INPUT
`DES
`BLOCK
`
`DES OUTPUT
`BLOCK
`
`PLAIN TEXT
`
`1
`2
`3
`
`'•815
`j
`6a271787ab8883f9
`893d51ec4b563b53
`
`4e6f772069732074
`68652074696d6520
`666f7220616c6c20
`
`4e6f772069732074
`68652074696d6520
`666f7220616c6c20
`
`BEST
`
`13
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 15
`
`

`
`FIPS PUB 81
`
`APPENDIX C
`
`is a block
`CBC
`with a block of
`blfl·'l<
`
`is exclu~ive-oRed
`which the first plain text data block
`prior to being processed through the DES. The resulting
`i.s then exclusive-ORed with the next plain text data block to form
`the
`the DES, thus
`together blocks of
`text. The chaining of
`an error extension characteristic which is valuable in protect(cid:173)
`fraudulent data alteration.
`A CBC authentication technique is described
`in
`
`text whenever the same plain text is encrypted
`the same
`The CBC mode
`the same
`and IV. Users who are concerned about this characteri.stic should incorporate
`a unique identifier (e.g., a one-up counter) at the beginning of each
`message within a
`cryptographic
`in order to insure unique cipher text.
`If the key and the IV are the
`;same
`and no identifier precedes each message, messages that: have the same beginning will
`have
`the sat:.e
`t:ext when encrypted in t:he CBC mode until the blocks that differ
`in
`the two messages are
`
`Since the CBC mode is a block method of encryption, it must operate on 64-bit data blocks.
`Partial data blocKs (blocks of less than 64 bits) require
`handling. One method of
`final
`data block of a message is described below. Others may be
`applications.
`
`defined for
`
`text.
`
`The
`method may be used for
`fo]
`be greater
`than the length of the plain
`a message
`is
`in the least
`random bits.
`The
`will have
`Thi.s can be
`tl '"
`
`where the length of the cipher text can
`In this case the final
`data block of
`bits positions with "O"s,
`to know when and to what extent
`, e.g.,
`e.g., using 'l
`indicator, or
`The
`indicator will depend on t:he data being
`the data is pure u.1nary,
`then the
`ial dat:a block should be left
`block and t:he unushl bits of the block set to the
`of the last
`in the
`fied
`if the last data bit of the message is "0" then "l"s are used as
`data bit,
`i.e.,
`bits and if the last data bi.t ~s "1" then "O"s are used.
`The input block is then encryp-
`ted.
`The
`output block is the cipher text.
`The
`text message
`n11~st be
`marked as being
`so that the decryptor can r~verse
`process,
`remove
`the
`bi t:s and produce the original
`text. The
`scans t:he decrypted padded
`If the data consists
`and di~cards the least
`bits that are all identical.
`.g., 8-bit ASCII characters) then the
`indicator should be a character
`the number of padding bytes,
`including itself, and should be placed in the least
`ficant
`of the
`block before encrypting. For
`if there are five ASCII
`then an ASCI! "3"
`data characters in the final
`block of a message to be encrypted.
`is put in the least
`icant byte of the
`block (any pad characters may be used
`in
`the other
`before encryption. Again the cipher text message must be
`marked as
`
`In
`
`text block will affect t:he
`the CBC mode. one or mo<e bit errors within a
`ion of two blocks (the block in which the error occurs and the
`If
`text
`the errors cccur in the n-th
`block.
`then each bit of the n-th plain
`block will have an average error rate
`percent.
`The
`text block will
`on
`those bits in '!rror which
`direct
`to the ctpher text bits in error.
`
`for the CBC mode.
`operations is
`on between encrypt
`Block
`block so that block boundaries are
`lost
`If bits are added or are lost in a
`then
`ion is lost. However,
`ions,
`between the encryption and
`ion
`ic
`zation will automatically be reestablished 64 bits after block
`boundaries have been established. This property is known as self-synchronization.
`
`An
`
`of the CBC mode is
`
`in Table Cl.
`
`14 BEST DOCUMENT
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 16
`
`

`
`FIPS PUB 81
`
`TABLE Cl
`
`AN EXAMPLE OF THE CIPHER BLOCK CHAINING (CBC) MODE
`
`The CBC mode in the encrypt state has been selected.
`
`Cryptographic
`
`•• 0123456789abcdef
`
`Initialization Vector
`
`• 1234567890abcdef
`
`The
`text is the ASCII code for *'Now is the time for all • " These seven-bit charac-
`ters are written in hexadecimal notation (O,b7,b6, ••• bl).
`
`TIME
`
`PLAIN TE:<:T
`
`INPUT
`DES
`BLOCK
`
`DES OUTPUT
`BLOCK
`
`CIPHER TEXT
`
`l
`2
`3
`
`4e6f772069732074 5c5b2158f9d8ed9b e5c7cdde872bf27c e5c7cdde872bf27c
`68652074696d6520 8da2edaaee46975c 43e934008c389c0f 43e934008c389c0f
`666f7220616c6c20 25864620ed54f02f 683788499a7c05f6 683788499a7c05f6
`
`The
`
`CBC' mode in the
`
`state has been selected.
`
`TIME
`
`CIPHER TEXT
`
`INPUT
`DES
`BLOCK
`
`DES OUTPUT
`BLOCK
`
`PLAIN TEXT
`
`1 e5c7cdde872bf27c e5c7cdde872bf27c 5c5b2158f918ed9b 4e6f772069732074
`2 43e934008c389c0f 43e934008c389c0f 8da2edaaee46975c 68652074696d6520
`3 683788499a7c05f6 683788499a7c05f6 25864620ed54f02f 666f7220616c6c20
`
`BEST
`
`15
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 17
`
`

`
`FIP3 PUB 81
`
`CIPHER FEEDBA K
`
`) MODE
`
`APPENDIX D
`
`The CFB mode is a stream method of encryption in which the DES is used to generate
`bits which are exclusive-DRed with binary
`text to form cipher text.
`The cipher text is fed back to form the next DES input block.
`Identical messages that
`are
`using the CFB mode and different IVs will have different
`texts.
`IVs that are shorter than 64 bits lShould be put in the least significant bits of the
`first DES input block and the unused, moat
`lcant, bits Initialized to "O's."
`
`of
`In the CFB mode. errors in any K-bit unit of cipher text will affect the
`the
`cipher t.::xt and also the
`of
`cipher text until the bits
`in error hav~ ueen shifted out of the
`block. The first affected K-bit unit of
`will be garbled in exactly those places where the
`te.•t is in error.
`decrypted
`text will have an average error rate of fifty percent until
`all errors have been shifted out of the DES
`block.
`no additional errors
`are encountered
`this time, the correct plain text will then be obtained.
`
`If !<-bit boundaries are lost during
`be lost until cryptographic initialization
`boundaries have been reestablished.
`
`will
`K-bit
`
`The
`DES.
`tive
`
`in the CFB mode both use the encrypt state of the
`mode are
`in Tables Dl, D2, and D3, respec-
`
`and deci-
`The 7-bit CFB alternative mode is defined in the standard in order to
`7-bit coces and st.ill use an 8-bit ft:edback
`Most commercial implementations
`of the DES are
`to e
`handle 8-bit b;tes of data and
`Host computer
`of recent architecture are also
`to efficiently handle
`and communication
`full 8-bit
`However, some systems use the most
`bit as a
`hit.
`These systems often generate the
`bit
`transmission and check its validity
`In such systems the
`text would be automatically
`modified during transmission.
`In this case,
`and
`processes must
`of the parity bits and the 7-bit CFB (a) mode should he used.
`If
`the encryptor and the decryptor both set the most significant bit of the 8-bit cipher
`to be a "1" bit in the
`are compatible. Holding no more than
`bits of the DES
`level of
`for government
`
`an
`
`useful in applications requiring very efficient use of
`An extension of this
`the DES device.
`If several 7-bit data units are to be
`, then a
`"1" bit may be put in the most
`icant bit
`of each 8-bit byte of the feedback
`This extension of the 7-bit CFB alternative mode should be called the K-bit CFB (a)
`for K= Ill, 21,
`35,
`49.
`56 for
`tions which
`, respect
`2, 3, 4, 5, 6, 7, and 7-bit data units
`These alternatives provide an

`level of security for
`
`of 7 and 56-bit CFB (a) mode are
`
`in tables D4 and OS,
`
`16
`
`BEST D UMENT
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 18
`
`

`
`FIPS PUB 81
`
`TABLE Dl
`
`AN EXAMPLE OF THE 1-St'r CIPHER FEEDBACK (CFB) '"!ODE
`
`The 1-bit CFB mode in the encrypt state has been selected.
`
`Cryptographic
`
`• 0123456789abcdef
`
`Initialization Vector
`
`• 1234567890abcdef
`
`The
`The DES input and. output
`vector (010011100110111101110111).
`text is the
`blocks a.re written
`in he:<adecimal notation.
`The &
`represents bit-by-bl!:, modulo 2
`addition.
`
`TIME DES
`
`INPUT BLOCK
`
`DES OUTPUT BLOCK
`
`p
`
`•
`
`0
`
`"'c
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`
`l234567890abcdef
`2468acf121579bdf
`48dl59e242af37bf
`9la2b3c4855e6f7e
`234567890abcdefc
`468acfl21579bdf9
`8d159e242af37bf3
`la2b3c4855e6f7e6
`34567890abcdefcd
`68acfl21579bdf9a
`dl59e242af37bf34
`a2b3c4855e6f7e68
`4567890ahcdefcdl
`8acfl21579bdf9a3
`159e242af37bf347
`
`567890ahcdefcdle
`fl21579bdf9a3d
`59e242af37bf347b
`b3c4855e6f7e68f6
`67890abcdefcdlec
`cfl2l579bdf9a3d9
`9e242af37bf347b2
`3c4855e6f7e68f64
`
`bd661569ae874e25
`48b3169c1fac7a10
`Oa0143394c9959fe
`6d52f55fd8b027l1
`3a38debb3a2fa892
`719b70bd3dce7acc
`81809c230adc0d23
`83d14a6da6926604
`3lle9dc8d6d52d8a
`db47c7feb6fc4272
`b73850afa3b8ed89
`f5fbl9dd00590800
`Of435la9bbffe5a5
`769593c58e20d41b
`Oe949d3f3a293d64
`92leb7ffeacd0db9
`d2adl09c8895fb95
`3c36317828a9bd04
`e7248586e7e4ecac
`f9a58el6a7597c5e
`e939fdf63dl77946
`f325eac046bad58d
`8385a6d97Sffdbba
`70a54baceae7ba6b
`
`0 & 1
`1
`•
`0
`0
`•
`0
`0 • 0
`l
`•
`0
`1
`•
`0
`1
`•
`l
`0
`•
`1
`0
`•
`0
`1
`•
`1
`1
`•
`1
`0
`•
`l
`1
`•
`0
`1
`•
`0
`1 & 0
`l
`•
`l
`0
`•
`l
`l
`•
`0
`1
`•
`1
`1
`tit 1
`0
`•
`1
`l
`•
`1
`1
`•
`1
`1
`•
`0
`
`- 1
`= 1
`"' 0
`.. 0
`- 1
`= l
`- 0
`.. 1
`= 0
`"' 0
`- 0
`.. 1
`"' 1
`- 1
`= 1
`• 0
`- 1
`l
`=
`0
`3 0
`.. 1
`- 0
`a 0
`= l
`
`BEST
`
`17
`
`PMC Exhibit 2094
`Apple v. PMC
`IPR2016-00753
`Page 19
`
`

`
`FIPS PUB 81
`
`AN EXAMPLE OF THE 8-BIT CIPHER FEEDBACK (CFB) MODE
`
`The 8-bit CFB mode in the encrypt state has been selected.
`
`TABLE D2
`
`Key
`
`~ 0123456789abcdef
`
`Initialization Vector
`
`• l234567890abcdef
`
`TIME DES
`
`INPUT BLOCK
`
`DES OUTPUT BLOCK
`
`.. c
`
`.. f3
`.. lf
`
`- 07
`
`- 14
`"' 62
`• ee
`18
`.. 7f
`
`text is the ASCII code for "Now is the." These seven-bit characters are written
`The
`in hexadecimal notation (O,b7,b6, ••• bl). The a represents bit-by-bit, modulo 2 addition.
`p • 0
`4e • bd
`6f • 70
`77 • ad = da
`20 • 27
`69 • 68 =01
`73 • 67
`20 • 42
`74 • 9a
`68 a 70
`65 • la
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`
`l234567890abcdef
`34567890abcdeff3
`567890abcdeff3lf
`7890abcdeff3lfda
`90abcdeff3lfda07
`abcdeff3lfda070l
`cdeff3lfda070114
`eff3lfda07011462
`f3lfda07011462e~
`lfda070ll462ee18
`
`bd661569ae874e25
`7039546f9a0f6330
`adlb78b0bb37Ibe7
`2735 b0ld5ca3lf7
`68863426e397685d
`6798240e8c6b68Sf
`421feefb3f8ca64f
`9al69a9b

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket