Slide 1 OCB Mode Phillip Rogaway Department of Computer Science UC Davis + Chiang Mai Univ +66.

Slides:



Advertisements
Similar presentations
ECE454/CS594 Computer and Network Security
Advertisements

“Advanced Encryption Standard” & “Modes of Operation”
CMSC 414 Computer (and Network) Security Lecture 4 Jonathan Katz.
1 Cryptanalysis-tolerant CPA crypt. ● Suppose E, E’ are two encryption schemes which on of them is CPA - secure  E.g., a standard and a proprietary, a.
Length-Doubling Ciphers and Tweakable Ciphers Haibin Zhang Computer Science Department University of California, Davis
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
A Block-Cipher Mode of Operation for Parallelizable Message Authentication John Black University of Nevada, Reno, USA Phillip Rogaway University of California,
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
Slide 1 OCB: A Bock-Cipher Mode of Operation for Efficient Authenticated Encryption Phillip Rogaway UC Davis
#1 EAX A two-pass authenticated encryption mode Mihir BellarePhillip RogawayDavid Wagner U.C. San Diego U.C. Davis and U.C. Berkeley Chiang Mai University.
CMSC 414 Computer and Network Security Lecture 4 Jonathan Katz.
A Designer’s Guide to KEMs Alex Dent
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Foundations of Network and Computer Security J J ohn Black Lecture #5 Sep 6 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
Doc.: IEEE /156ar0 Submission March 2002 RogawaySlide 1 Some Comments on OCB and CCM Phil Rogaway UC Davis and Chiang Mai Univ.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Doc.: IEEE /378 Submission July 2001 Phillip RogawaySlide 1 OCB Mode Phillip Rogaway Department of Computer Science UC Davis + CMU
Slide 1 OCB: A Bock-Cipher Mode of Operation for Efficient Authenticated Encryption Phillip Rogaway ~
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Modes of Operation. Topics  Overview of Modes of Operation  EBC, CBC, CFB, OFB, CTR  Notes and Remarks on each modes.
Cryptography Lecture 3 Arpita Patra.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
Message Authentication Code July Message Authentication Problem  Message Authentication is concerned with:  protecting the integrity of a message.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
Doc.: IEEE /378 Submission July 2001 Phillip RogawaySlide 1 OCB Mode Phillip Rogaway Department of Computer Science UC Davis + CMU
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Slide 1 PMAC: A Parallelizable Message Authentication Code Phillip Rogaway Department of Computer Science UC Davis + CMU
Shambhu Upadhyaya Security – AES-CCMP Shambhu Upadhyaya Wireless Network Security CSE 566 (Lecture 13)
IND-CPA and IND-CCA Concepts Summary  Basic Encryption Security Definition: IND-CPA  Strong Encryption Security Definition: IND-CCA  IND-CPA, IND-CCA.
Integrity via Encryption with Redundancy  Question: Encryption is not ideal for authentication. But, can we gain security advantages if we add recognizable.
Network Security – Special Topic on Skype Security.
Class 3 Cryptography Refresher II CIS 755: Advanced Computer Security Spring 2014 Eugene Vasserman
Lecture 5.1: Message Authentication Codes, and Key Distribution
1 The XCBC-XOR, XECB-XOR and XECB-MAC Modes Virgil D. GligorPompiliu Donescu VDG Inc 6009 Brookside Drive Chevy Chase, Maryland {gligor,
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
Presentation Road Map 1 Authenticated Encryption 2 Message Authentication Code (MAC) 3 Authencryption and its Application Objective Modes of Operation.
Cryptography Lecture 6 Arpita Patra © Arpita Patra.
Cryptography Lecture 9 Arpita Patra © Arpita Patra.
Dan Boneh Authenticated Encryption CBC paddings attacks Online Cryptography Course Dan Boneh.
1 HBS: A Single-Key Mode of Operation for Deterministic Authenticated Encryption Tetsu Iwata (Nagoya University, Japan) Kan Yasuda (NTT Corporation, Japan)
Cryptography Lecture 10 Arpita Patra © Arpita Patra.
XCBC: A Version of the CBC MAC for Handling Arbitrary-Length Messages
Cryptography Lecture 6 Arpita Patra. Quick Recall and Today’s Roadmap >> MAC for fixed-length messages >> Domain Extension for MAC >> Authenticated Encryption:
Block Cipher Modes Last Updated: Aug 25, ECB Mode Electronic Code Book Divide the plaintext into fixed-size blocks Encrypt/Decrypt each block independently.
Message Authentication Code
A Fixed-key Blockcipher
Authenticated encryption
PRPs and PRFs CS255: Winter 2017
Topic 11: Authenticated Encryption + CCA-Security
Cryptography Lecture 12.
Cryptography Lecture 10.
Cryptography Lecture 11 Arpita Patra © Arpita Patra.
Block cipher and modes of encryptions
Cryptography Lecture 11.
Foundations of Network and Computer Security
Block vs Stream Ciphers
Foundations of Network and Computer Security
SOFTWARE IMPLEMENTATION OF OCB MODE
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Cryptography Lecture 11.
Cryptography Lecture 12.
Topic 13: Message Authentication Code
Cryptography Lecture 9 Arpita Patra © Arpita Patra.
Cryptography Lecture 9.
Cryptography Lecture 11.
Cryptography Lecture 10.
July 15, 2019 doc.: IEEE r0 May, 2002 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [AES.
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Secret-Key Encryption
Presentation transcript:

Slide 1 OCB Mode Phillip Rogaway Department of Computer Science UC Davis + Chiang Mai Univ NIST Modes of Operation Workshop 2 – Aug 24, Santa Barbara, California John Black UNR Mihir Bellare UCSD Ted Krovetz Digital Fountain Looking— contact Ted!

Slide 2 Two Cryptographic Goals Privacy What the Adversary sees tells her nothing of significance about the underlying message M that the Sender sent Authenticity The Receiver is sure that the string he receives was sent (in exactly this form) by the Sender Authenticated Encryption Achieves both privacy and authenticity

Slide 3 Why Authenticated Encryption? Efficiency By merging privacy and authenticity one can achieve efficiency difficult to achieve if handling them separately Easier-to-correctly-use abstraction By delivering strong security properties one may minimize encryption-scheme misuse

Slide 4 What does Encryption Do? No meaningful notion of privacy ECB IND under CPA CTR, CBC$ IND under CCA = NM under CCA Authenticated encryption: IND under CPA + auth of ciphertexts OCB Idealized encryption Security community’s favored view Cryptographic community’s favored view: sym encryption is for IND-CPA (and nothing more) [Bellare, Nampremre], [Katz, Yung] Strong Weak [Bellare, Desai, Jokipii, Rogaway]

Slide 5 Right or Wrong? A B K K A. R A R B. E K (A. B. R A. R B. sk) E K (R B ) It depends on what definition E satisfies

Slide 6 Generic Composition Glue together an encryption scheme ( E ) and a Message Authentication Code (MAC) Traditional approach to authenticated encryption Folklore approach. See [Bellare, Namprempre] and [Krawczyk] for analysis. Preferred way to do generic composition:

Slide 7 Generic Composition + Versatile, clean architecture + Reduces design work + Quick rejection of forged messages if use optimized MAC (eg., UMAC) + Inherits the characteristics of the modes one builds from - Cost  (cost to encrypt) + (cost to MAC) For CBC Enc + CBC MAC, cost  2  (cost to CBC Enc) - Often misused - Two keys - Inherits characteristics of the modes one builds from

Slide 8 Trying to do Better Numerous attempts to make privacy + authenticity cheaper One approach: stick with generic composition, but find cheaper privacy algorithm and cheaper authenticity algorithms Make authenticity an “incidental” adjunct to privacy within a conventional-looking mode CBC-with-various-checksums (wrong) PCBC in Kerberos (wrong) PCBC of [Gligor, Donescu 99] (wrong) [Jutla - Aug 00] First correct solution Jutla described two modes, IACBC and IAPM A lovely start, but many improvements possible OCB: inspired by IAPM, but many new characteristics

Slide 9 What is OCB? Authenticated-encryption scheme Uses any block cipher (eg. AES) Computational cost  cost of CBC OCB-AES good in SW or HW Lots of nice characteristics designed in: Uses  |M| / n  + 2 block-cipher calls Uses any nonce (needn’t be unpredictable) Works on messages of any length Creates minimum-length ciphertext Uses a single block-cipher key, each block-cipher keyed with it Quick key setup – suitable for single-message sessions Essentially endian-neutral Fully parallelizable No n-bit additions Provably secure: if you break OCB-AES you’ve broken AES In IEEE draft. Paper to appear at ACM CCS ’01

Slide 10 Checksum = M[1]  M[2]  …  M[m-1]  C[m]0*  Pad Z[i] = Z[i-1]  L(ntz(i)) L(0) = E K (0) and each L(i) obtained from L(i-1) by a shift and conditional xor

Slide 11 Definition of OCB[E, t] algorithm OCB-Encrypt K (Nonce, M) L(0) = E K (0) L(-1) = lsb(L(0))? (L(0) >> 1)  Const43 : (L(0) >>1) for i = 1, 2, … do L(i) = msb(L(i-1))? (L(i-1) << 1)  Const87 : (L(i-1) <<1) Partition M into M[1]... M[m] // each n bits, except M[m] may be shorter Offset = E K (Nonce  L(0)) for i=1 to m-1 do Offset = Offset  L(ntz(i)) C[i] = E K (M[i]  Offset)  Offset Offset = Offset  L(ntz(m)) Pad = E K (len(M[m])  Offset  L(-1)) C[m] = M[m]  (first | M[m] | bits of Pad) Checksum = M[1] ...  M[m-1]  C[m]0*  Pad Tag = first  bits of E K (Checksum  Offset) return C[1]... C[m] || Tag

Slide 12 Assembly Speed Data from Helger Lipmaa OCB-AES 16.9 cpb (271 cycles) CBC-AES 15.9 cpb (255 cycles) ECB-AES 14.9 cpb (239 cycles) CBCMAC-AES 15.5 cpb (248 cycles) 6.5 % slower The above data is for 1 Kbyte messages. Code is pure Pentium 3 assembly. The block cipher is AES128. Overhead so small that AES with a C-code CBC wrapper is slightly more expensive than AES with an assembly OCB wrapper. // Best Pentium AES code known. Helger’s code is for sale, btw. C Speed OCB-AES 28.1 cpb (449 cycles) CBCMAC-AES 26.8 cpb (428 cycles) 4.9 % slower Data from Ted Krovetz. Compiler is MS VC++. Uses rijndael-alg-fst.c ref code.

Slide 13 Why I like OCB Ease-of-correct-use. Reasons: all-in-one approach; any type of nonce; parameterization limited to block cipher and tag length Aggressively optimized:  optimal in many dimensions: key length, ciphertext length, key setup time, encryption time, decryption time, available parallelism; SW characteristics; HW characteristics; … Simple but highly non-obvious Ideal setting for practice-oriented provable security

Slide 14 What is Provable Security? Provable security begins with [Goldwasser, Micali 82] Despite the name, one doesn’t really prove security Instead, one gives reductions: theorems of the form If a certain primitive is secure then the scheme based on it is secure Eg: If AES is a secure block cipher then OCB-AES is a secure authenticated-encryption scheme Equivalently: If some adversary A does a good job at breaking OCB-AES then some comparably efficient B does a good job to break AES Actual theorems quantitative: they measure how much security is “lost” across the reduction.

Slide 15 The Power of Definitions ( ) Let’s you carry on an intelligent conversation Let’s you investigate the “space” of goals and how they are related Often let’s you easily see when protocols are wrong Let’s you prove when things are right, to the extent that we know how to do this. It took about an hour to break the NSA’s “Dual Counter Mode”. What did I have that the NSA authors didn’t? Just an understanding of a good definition for the goal.

Slide 16 Privacy Indistinguishability from Random Bits A E K ( Nonce i, M i ) Real E K oracle Nonce i M i Rand bits oracle $ |M i | +  Adv priv (A) = Pr[A Real = 1] – Pr[A Rand = 1] [Goldwasser, Micali] [Bellare, Desai, Jokipii, Rogaway] Nonce i M i

Slide 17 Authenticity: Authenticty of Ciphertexts A Nonce i M i E K ( Nonce i, M i ) Real E K oracle Adv auth (A) = Pr[A forges] Nonce C A forges if she outputs forgery attempt Nonce C s.t. C is valid (it decrypts to a message, not to invalid) there was no E K query Nonce M i that returned C [Bellare, Rogaway] [Katz, Yung] this paper

Slide 18 Block-Cipher Security PRP and Strong PRP [Goldreich, Goldwasser, Micali] [Luby, Rackoff] [Bellare, Kilian, Rogaway] B E K (x i ) Real E K oracle xixi Rand perm oracle  (x i ) Adv prp (B) = Pr[B E K = 1] – Pr[B  = 1] xixi Adv sprp (B)= Pr[B E K E K -1 = 1] – Pr[B   = 1]

Slide 19 OCB Theorems Suppose  an adversary A that breaks OCB-E with: time = t total-num-of-blocks =  adv = Adv priv (A) Then  an adversary B that breaks block cipher E with: time  t num-of-queries   Adv prp (B)  Adv priv (A) – 1.5  2 / 2 n Privacy theorem: Suppose  an adversary A that breaks OCB-E with: time = t total-num-of-blocks =  adv = Adv auth (A) Then  an adversary B that breaks block cipher E with: time  t num-of-queries   Adv sprp (B)  Adv priv (A) – 1.5  2 / 2 n Authenticity theorem:

Slide 20 What Provable Security Does, and Doesn’t, Buy You + Strong evidence that scheme does what was intended + Best assurance cryptographers know how to deliver + Quantitative usage guidance - An absolute guarantee - Protection from issues not captured by our abstractions - Protection from usage errors - Protection from implementation errors

Slide 21 Parallelizable Authenticated-Encryption Schemes XECB-XOR OCB ({0,1} n ) +  nonce (Jutla’s presentation gave rand version) |M| /n k (2) 1 xor 2 add 1 addp 2 {0,1}*  |M| / n  + n ctr  |M| /n  0 k+2n (1) 1 xor 3 add 1 {0,1}* |M|  +  nonce  |M| /n   1 k (1)4 xor 3 IAPM [R+ 00,01] [GD 01] Domain Calls / keysetup / blk overhead| Ciphertext | (lazy mod p) [Jutla 00,01] IV rqmt Calls / msg E circuit depth Key length (#E-keys)

Slide 22 For More Information OCB web page  Contains FAQ, papers, reference code, licensing info... Feel free to call or send Upcoming talks: MIT (Oct 26), ACM CCS (Nov 5-8), Stanford (TBA) Or grab me now! Anything Else ??