Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter...

8
Cryptography and Cryptography and Network Security Network Security Chapter 6 Chapter 6 Fifth Edition Fifth Edition by William Stallings by William Stallings Lecture slides by Lecture slides by Lawrie Lawrie Brown Brown (with edits by RHB) (with edits by RHB) Chapter 6 Chapter 6 Block Cipher Block Cipher Operation Operation Many savages at the present day regard Many savages at the present day regard their names as vital parts of themselves, their names as vital parts of themselves, and therefore take great pains to conceal and therefore take great pains to conceal their real names, lest these should give to their real names, lest these should give to evil evil - - disposed persons a handle by which disposed persons a handle by which to injure their owners. to injure their owners. The Golden Bough, Sir James George The Golden Bough, Sir James George Frazer Frazer Outline Outline Multiple Encryption & Triple Multiple Encryption & Triple - - DES DES Modes of Operation Modes of Operation ECB, CBC, CFB, OFB, CTR, XTS ECB, CBC, CFB, OFB, CTR, XTS - - AES AES Multiple Encryption & DES Multiple Encryption & DES clear a replacement for DES was needed clear a replacement for DES was needed theoretical attacks that can break it theoretical attacks that can break it demonstrated exhaustive key search attacks demonstrated exhaustive key search attacks AES is a new cipher alternative AES is a new cipher alternative prior to this alternative was to use multiple prior to this alternative was to use multiple encryption with DES implementations encryption with DES implementations Triple Triple - - DES is the chosen form DES is the chosen form

Transcript of Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter...

Page 1: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Cryptography and Cryptography and

Network SecurityNetwork Security

Chapter 6Chapter 6

Fifth EditionFifth Edition

by William Stallingsby William Stallings

Lecture slides by Lecture slides by LawrieLawrie BrownBrown

(with edits by RHB)(with edits by RHB)

Chapter 6 Chapter 6 –– Block Cipher Block Cipher

OperationOperation

Many savages at the present day regard Many savages at the present day regard their names as vital parts of themselves, their names as vital parts of themselves, and therefore take great pains to conceal and therefore take great pains to conceal their real names, lest these should give to their real names, lest these should give to evilevil--disposed persons a handle by which disposed persons a handle by which to injure their owners. to injure their owners.

—— The Golden Bough, Sir James George The Golden Bough, Sir James George FrazerFrazer

OutlineOutline

•• Multiple Encryption & TripleMultiple Encryption & Triple--DESDES

•• Modes of Operation Modes of Operation

–– ECB, CBC, CFB, OFB, CTR, XTSECB, CBC, CFB, OFB, CTR, XTS--AESAES

Multiple Encryption & DESMultiple Encryption & DES

•• clear a replacement for DES was neededclear a replacement for DES was needed

–– theoretical attacks that can break ittheoretical attacks that can break it

–– demonstrated exhaustive key search attacksdemonstrated exhaustive key search attacks

•• AES is a new cipher alternativeAES is a new cipher alternative

•• prior to this alternative was to use multiple prior to this alternative was to use multiple

encryption with DES implementationsencryption with DES implementations

•• TripleTriple--DES is the chosen formDES is the chosen form

王博文�
多重加密和三重DES•操作模式�
王博文�
明确需要替代DES - 可以打破它的理论攻击 - 展示了详尽的密钥搜索攻击•AES是一种新的密码替代方案•此替代方案之前是使用DES实现的多重加密•Triple-DES是选择的形式�
Page 2: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

DoubleDouble--DES?DES?

•• could use 2 DES encrypts on each blockcould use 2 DES encrypts on each block

–– CC == EEK2K2(E(EK1K1(P))(P))

•• issue of reduction to single stageissue of reduction to single stage

•• and have and have ““meetmeet--inin--thethe--middlemiddle”” attackattack

–– works whenever use a cipher twiceworks whenever use a cipher twice

–– since since XX == EEK1K1(P)(P) == DDK2K2(C)(C)

–– attack by encrypting P with all keys and storeattack by encrypting P with all keys and store

–– then decrypt C with keys and match X valuethen decrypt C with keys and match X value

–– can show takes can show takes O(2O(25656)) stepssteps

TripleTriple--DES with TwoDES with Two--KeysKeys

•• hence must use 3 encryptionshence must use 3 encryptions

–– would seem to need 3 distinct keyswould seem to need 3 distinct keys

•• but can use 2 keys with Ebut can use 2 keys with E--DD--E sequenceE sequence–– CC == EEK1K1(D(DK2K2(E(EK1K1(P)))(P)))

–– nbnb encrypt & decrypt equivalent in securityencrypt & decrypt equivalent in security

–– if if K1K1 == K2K2 then can work with single DESthen can work with single DES

•• standardized in ANSI X9.17 & ISO8732standardized in ANSI X9.17 & ISO8732

•• no current known practical attacksno current known practical attacks

–– several proposed impractical attacks might several proposed impractical attacks might become basis of future attacksbecome basis of future attacks

TripleTriple--DES with ThreeDES with Three--KeysKeys

•• although are no practical attacks on twoalthough are no practical attacks on two--

key Triplekey Triple--DES, have some doubtsDES, have some doubts

•• can use Triplecan use Triple--DES with ThreeDES with Three--Keys to Keys to

avoid even theseavoid even these

–– CC == EEK3K3(D(DK2K2(E(EK1K1(P)))(P)))

•• has been adopted by some Internet has been adopted by some Internet

applications, applications, egeg PGP, S/MIMEPGP, S/MIME

Modes of OperationModes of Operation

•• block ciphers encrypt fixed size blocksblock ciphers encrypt fixed size blocks

–– eg. DES encrypts 64eg. DES encrypts 64--bit blocks with 56bit blocks with 56--bit key bit key

•• need some way to en/decrypt arbitrary need some way to en/decrypt arbitrary

amounts of data in practiseamounts of data in practise

•• NIST SP 800NIST SP 800--38A38A defines 5 modesdefines 5 modes

•• have have blockblock and and streamstream modesmodes

•• to cover a wide variety of applicationsto cover a wide variety of applications

•• can be used with any block ciphercan be used with any block cipher

王博文�
可以在每个块上使用2 DES加密 - C = EK2(EK1(P))•减少到单一阶段的问题•并且有“中间相遇”攻击 - 每当使用密码两次时都可以使用 - 因为X = EK1(P)= DK2(C) - 通过使用所有密钥和存储加密P进行攻击 - 然后用密钥解密C并匹配X值 - 可以显示需要O(256)步씉
王博文�
带有双键的三重DES•因此必须使用3次加密 - 似乎需要3个不同的键•但可以使用带有E-D-E序列的2个键 - 在安全性方面加密和解密 - 如果K1 = K2,则可以使用单个DES•ANSI X9.17和ISO8732标准化•目前没有已知的实际攻击 - 一些提议的不切实际的攻击可能成为未来攻击的基础�
王博文�
•虽然对双键Triple-DES没有实际攻击,但有一些疑问•可以使用具有三键的Triple-DES来避免这些•已被某些Internet应用程序采用,例如PGP,S / MIME�
王博文�
运作模式•分组密码加密固定大小的块 - 例如 DES使用56位密钥加密64位块•在实践中需要一些方法来解密/解密任意数量的数据•NIST SP 800-38A定义了5种模式•具有阻止和流模式•涵盖各种应用程序,可与任何应用程序一起使用•分组密码�
Page 3: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Electronic Codebook Book (ECB)Electronic Codebook Book (ECB)

•• message is broken into independent message is broken into independent

blocks which are encrypted blocks which are encrypted

•• each block is a value which is substituted, each block is a value which is substituted,

like a codebook, hence name like a codebook, hence name

•• each block is encoded independently of each block is encoded independently of

the other blocks the other blocks

CCii == EEKK(P(Pii))

•• uses: secure transmission of single valuesuses: secure transmission of single values

Electronic Electronic

Codebook Codebook

Book Book

(ECB)(ECB)

Advantages and Limitations of ECBAdvantages and Limitations of ECB

•• message repetitions may show in message repetitions may show in ciphertextciphertext

–– if aligned with message block if aligned with message block

–– particularly with data such graphics particularly with data such graphics

–– or with messages that change very little, which or with messages that change very little, which become a codebecome a code--book analysis problem book analysis problem

•• weakness is due to the encrypted message weakness is due to the encrypted message blocks being independent blocks being independent

•• main use is sending a few blocks of data main use is sending a few blocks of data

Cipher Block Chaining (CBC) Cipher Block Chaining (CBC)

•• message is broken into blocks message is broken into blocks

•• linked together in encryption operation linked together in encryption operation

•• each previous cipher blocks is chained each previous cipher blocks is chained

with current plaintext block, hence name with current plaintext block, hence name

•• use Initial Vector (IV) to start process use Initial Vector (IV) to start process

CCii == EEKK(P(Pii XORXOR CCii--11))

CC--11 == IVIV

•• uses: bulk data encryption, authenticationuses: bulk data encryption, authentication

王博文�
电子密码本书(ECB)•消息被分解为加密的独立块•每个块都是一个替换的值,就像一个代码簿,因此也就是名称•每个块独立于其他块进行编码•用途:单一值的安全传输�
王博文�
消息重复可能以密文显示 - 如果与消息块对齐 - 特别是数据这样的图形 - 或者变化很小的消息,这会成为代码簿分析问题•弱点是由于加密的消息块是独立的•主要用途是发送几个数据块�
王博文�
消息被分成块在加密操作中链接在一起每个先前的密码块都链接有当前的明文块,因此命名使用初始向量(IV)开始处理用途:批量数据加密,身份验证�
Page 4: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Cipher Cipher

Block Block

Chaining Chaining

(CBC)(CBC)

Message PaddingMessage Padding

•• at end of message must handle a possible at end of message must handle a possible last short block last short block

–– which is not as large as which is not as large as blocksizeblocksize of cipherof cipher

–– pad either with known nonpad either with known non--data value (data value (egeg nulls)nulls)

–– or pad last block along with count of pad sizeor pad last block along with count of pad size•• eg. [ b1 b2 b3 0 0 0 0 5] eg. [ b1 b2 b3 0 0 0 0 5]

•• means have 3 data bytes, then 5 bytes means have 3 data bytes, then 5 bytes pad+countpad+count

–– this may require an extra entire block over this may require an extra entire block over those in messagethose in message

•• there are other, more esoteric modes, there are other, more esoteric modes, which avoid the need for an extra blockwhich avoid the need for an extra block

Advantages and Limitations of CBCAdvantages and Limitations of CBC

•• a a ciphertextciphertext block depends on block depends on allall blocks blocks before itbefore it

•• any change to a block affects all following any change to a block affects all following ciphertextciphertext blocksblocks

•• need need Initialization VectorInitialization Vector (IV) (IV) –– which must be known to sender & receiver which must be known to sender & receiver

–– if sent in clear, attacker can change bits of first block, if sent in clear, attacker can change bits of first block, and change IV to compensate and change IV to compensate

–– hence IV must either be a fixed value (as in EFTPOS) hence IV must either be a fixed value (as in EFTPOS)

–– or must be sent encrypted in ECB mode before rest of or must be sent encrypted in ECB mode before rest of messagemessage

Stream Modes of OperationStream Modes of Operation

•• block modes encrypt entire blockblock modes encrypt entire block

•• may need to operate on smaller unitsmay need to operate on smaller units

–– real time datareal time data

•• convert block cipher into stream cipherconvert block cipher into stream cipher

–– cipher feedback (CFB) modecipher feedback (CFB) mode

–– output feedback (OFB) modeoutput feedback (OFB) mode

–– counter (CTR) modecounter (CTR) mode

•• use block cipher as some form of use block cipher as some form of pseudopseudo--

random number random number generatorgenerator

王博文�
消息填充在消息结束时必须处理可能的最后一个短块 - 它不像密码块大 - 填充已知的非数据值(例如空值) - 或填充最后一块以及垫尺寸计数•例如。 [b1 b2 b3 0 0 0 0 5]•表示有3个数据字节,然后是5个字节的pad + count - 这可能需要一个额外的整个块而不是消息中的那些还有其他更深奥的模式,可以避免需要额外的块�
王博文�
CBC的优点和局限•密文块取决于它之前的所有块•对块的任何更改都会影响所有后续的密文块•需要初始化向量(IV) - 必须为发件人和收件人所知 - 如果发送清楚,攻击者可以更改第一个块的位,并更改IV以进行补偿 - 因此IV必须是固定值(如在EFTPOS中) - 或者必须在其余消息之前以ECB模式加密发送�
王博文�
流模式操作•块模式加密整个块•可能需要在较小的单元上运行 - 实时数据슙
王博文�
•将分组密码转换为流密码 - 密码反馈(CFB)模式 - 输出反馈(OFB)模式 - 计数器(CTR)模式•使用分组密码作为某种形式的伪随机数生成器�
Page 5: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Cipher Cipher FeedBackFeedBack (CFB)(CFB)

•• message is treated as a stream of bits message is treated as a stream of bits

•• added to the output of the block cipher added to the output of the block cipher

•• result is fed back for next stage (hence name) result is fed back for next stage (hence name)

•• standard allows any number of bit (1,8, 64 or standard allows any number of bit (1,8, 64 or 128 etc) to be feed back 128 etc) to be feed back –– denoted CFBdenoted CFB--1, CFB1, CFB--8, CFB8, CFB--64, CFB64, CFB--128 etc 128 etc

•• most efficient to use all bits in block (64 or 128)most efficient to use all bits in block (64 or 128)CCii == PPii XORXOR EEKK(C(Cii--11) ) (with suitable shifts)(with suitable shifts)

CC--11 == IVIV

•• uses: stream data encryption, authenticationuses: stream data encryption, authentication

ss--bitbit

Cipher Cipher

FeedBackFeedBack

(CFB(CFB--s)s)

Advantages and Limitations of CFBAdvantages and Limitations of CFB

•• appropriate when data arrives in bits/bytes appropriate when data arrives in bits/bytes

•• most common stream mode most common stream mode

•• limitation is need to stall while do block limitation is need to stall while do block

encryption after every nencryption after every n--bits bits

•• block cipher is used in block cipher is used in encryptionencryption mode mode

at at bothboth ends to yield ends to yield psps--random random bitstreambitstream

•• errors propagate for several blocks after errors propagate for several blocks after

the error (but not indefinitely)the error (but not indefinitely)

Output Output FeedBackFeedBack (OFB)(OFB)

•• message is treated as a stream of bits message is treated as a stream of bits

•• output of cipher is added to message output of cipher is added to message

•• output is then fed back (hence name) output is then fed back (hence name)

•• feedback is independent of message feedback is independent of message

•• can be computed in advancecan be computed in advanceOOii == EEKK(O(Oii--11))

CCii == PPii XORXOR OOii

OO--11 == IVIV (Nonce)(Nonce)

•• uses: stream encryption on noisy channelsuses: stream encryption on noisy channels

王博文�
消息被视为比特流•添加到分组密码的输出•结果反馈到下一阶段(因此名称)•标准允许反馈任意数量的位(1,8,64或128等) - 表示CFB-1,CFB-8,CFB-64,CFB-128等•最有效地使用块中的所有位(64或128)Ci = Pi XOR EK(Ci-1)(适当的班次)C-1 = IV•用途:流数据加密,身份验证�
王博文�
•当数据以位/字节到达时适当•最常见的流模式•限制需要在每n位后进行块加密时停止•分组密码在两端的加密模式下使用,以产生ps随机比特流•错误后错误传播几个块(但不是无限期)�
王博文�
输出反馈(OFB)•消息被视为比特流•密码输出添加到消息中•输出然后被反馈(因此名称)•反馈与消息无关•可以提前计算•使用:在嘈杂频道上进行流加密�
Page 6: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Output Output

FeedBackFeedBack

(OFB)(OFB)

Advantages and Limitations of OFBAdvantages and Limitations of OFB

•• needs an IV which is unique for each use needs an IV which is unique for each use

–– if ever reuse attacker can recover outputsif ever reuse attacker can recover outputs

•• bit errors do not propagate bit errors do not propagate

•• more vulnerable to message stream modificationmore vulnerable to message stream modification

•• sender & receiver must remain in syncsender & receiver must remain in sync

•• only use with full block feedbackonly use with full block feedback–– subsequent research has shown that only subsequent research has shown that only full block full block

feedbackfeedback ((ieie CFBCFB--64 or CFB64 or CFB--128) should ever be 128) should ever be usedused

Counter (CTR)Counter (CTR)

•• a a ““newnew”” mode, though proposed early onmode, though proposed early on

•• similar to OFB but encrypts counter value similar to OFB but encrypts counter value

rather than any feedback valuerather than any feedback value

•• must have a different key & counter value must have a different key & counter value

for every plaintext block (never reused)for every plaintext block (never reused)

OOii == EEKK(i(i))

CCii == PPii XORXOR OOii

•• uses: highuses: high--speed network encryptionsspeed network encryptions

Counter Counter

(CTR)(CTR)

王博文�
需要一个独特的IV用于每次使用 - 如果重用,攻击者可以恢复输出位错误不会传播更容易受到消息流修改的影响发件人和收件人必须保持同步仅用于完整块反馈 - 随后的研究表明,只应使用全块反馈(即CFB-64或CFB-128)�
王博文�
柜台(CTR)•尽管早期提出了“新”模式•类似于OFB但加密计数器值而不是任何反馈值•每个明文块必须具有不同的键和计数器值(从不重复使用)•用途:高速网络加密�
Page 7: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

Advantages and Limitations of CTRAdvantages and Limitations of CTR

•• efficiencyefficiency

–– can do parallel encryptions in can do parallel encryptions in h/wh/w or or s/ws/w

–– can preprocess in advance of needcan preprocess in advance of need

–– good for good for burstybursty high speed linkshigh speed links

•• random access to encrypted data blocksrandom access to encrypted data blocks

•• provable security (good as other modes)provable security (good as other modes)

•• but must ensure never reuse key/counter but must ensure never reuse key/counter

values, otherwise could break (values, otherwise could break (cfcf OFB)OFB)

Feedback Feedback

CharacterCharacter--

isticsistics

XTSXTS--AES ModeAES Mode

•• new mode, for block oriented storage usenew mode, for block oriented storage use

–– in IEEE Std 1619in IEEE Std 1619--20072007

•• concept of concept of tweakabletweakable block cipherblock cipher

•• different requirements to transmitted datadifferent requirements to transmitted data

•• uses AES twice for each blockuses AES twice for each block

TTjj == EEK2K2(i)(i) ×× ααjj ((×× and exp. in GF(2and exp. in GF(2128128))))

CCjj == EEK1K1(P(Pjj XORXOR TTjj)) XORXOR TTjj

where where ii is tweak and is tweak and jj is sector nois sector no

•• each sector may have multiple blockseach sector may have multiple blocks

XTSXTS--AES AES

ModeMode

per blockper block

王博文�
反馈特征�
王博文�
效率 - 可以在h / w或s / w中进行并行加密 - 可以在需要之前预处理 - 适合突发的高速链路•随机访问加密数据块•可证明的安全性(与其他模式一样好)•但必须确保永远不会重复使用键/计数器值,否则可能会中断(cf OFB)�
王博文�
新模式,用于面向块的存储使用 - 在IEEE Std 1619-2007中•可调整分组密码的概念•对传输数据的不同要求•每个块使用两次AES•每个扇区可能有多个块�
Page 8: Cryptography and Chapter 6 – Block Cipher Operation ...banach/COMP61411.Info/Course... · Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits

XTSXTS--AESAES

ModeMode

OverviewOverview

Advantages and Limitations of Advantages and Limitations of

XTSXTS--AESAES

•• efficiencyefficiency

–– can do parallel encryptions in can do parallel encryptions in h/wh/w or or s/ws/w

–– random access to encrypted data blocksrandom access to encrypted data blocks

•• has both nonce & counterhas both nonce & counter

•• addresses security concerned related to addresses security concerned related to

stored datastored data

王博文�
效率 - 可以在h / w或s / w中进行并行加密 - 随机访问加密数据块•有nonce和counter•解决与存储数据相关的安全问题�