Title: A Block-Cipher Mode of Operation for Parallelizable Message Authentication
1A Block-Cipher Mode of Operation for
Parallelizable Message Authentication
- John Black
- University of Nevada, Reno, USA
- Phillip Rogaway
- University of California, Davis, USA
- and Chiang Mai University, Thailand
EUROCRYPT May 1, 2002 Amsterdam, The Netherlands
2What is a MAC?
BK
AK
- Most MACs are deterministicthey need no
nonce/state/IV/ - Stateless MACs are more practical
3The ACMA Model GMR, BKR
MAC Oracle (K)
Adversary
// forgery attempt
4A Precise Definition
We define the advantage of a MAC adversary A
over a particular MAC algorithm M as
We define the maximum advantage of any MAC
adversary making at most q queries totaling at
most m blocks as
Our goal is to bound this quantity by a function
in q and m which is small for reasonable
values of q and m
5CBC MAC (ANSI X9.19, FIPS 113, ISO
9797-1)
- Known to be secure for messages of one fixed
length
- Uses d M/n e block cipher invocations
- Inherently sequential
6Parallelizable MACs Important?
- In some settings, MAC performance is paramount
- Eg, a web server handling thousands of
requests/sec - Extracting parallelism is a simple way to achieve
dramatic increases in performance - Algorithm design governs to what extent we can
parallelize - Parallelism is the only way to achieve extreme
speeds in hardware or software - No disadvantage provided we do not surrender too
much serial efficiency
7A First Attempt XOR MAC
BGR 95
- Not a PRF
- c ¼ 2 times as many block cipher calls as CBC MAC
k
k
n-1
k
. . .
M1
M2
Mm
Nonce
n
n
n
n
. . .
lt1, M1gt
ltm, Mmgt
lt2, M2gt
lt0, Noncegt
E
E
E
E
. . .
K
K
K
K
Tag
8Protected Counter Sums
Be 99
- A PRF variant of the XOR MAC
k
k
k
. . .
M1
M2
Mm
n
n
n
. . .
lt1, M1gt
ltm, Mmgt
lt2, M2gt
F
. . .
E
E
E
K
K
K
K
k
k
k
Ym
Y1
Y2
k
n
S
lt0,
S
gt
F
E
K
K
k
Tag
9Gligor-Donescu MAC
GD 01
- XOR MAC with better method for block offsets
- But no longer a PRF
...
Nonce
M1
M2
Mm
R
mR
2R
X1
Xm
X2
...
E
E
E
E
K
K
K
K
Y2
R
Ym
Y1
Å
Tag
10PMAC A Parallelizable MAC
- A Fully-Parallelizable VIL PRF 0,1 ? 0,1n
- Cannot distinguish PMACK() from a random
function R() - Can be used as a (stateless, deterministic) MAC
- Efficient
- uses dM/ne block cipher calls, like basic CBC
MAC - uses a single block cipher key
- low session-startup cost about one block cipher
call - essentially endian neutral
- Simple
- no n-bit addition or mod p operationsjust xors
and shifts - much simpler than any known Carter-Wegman MAC
- Provably Secure
- if E is a secure block cipher then PMACE is a
good PRF
11n
n
n
possibly short
...
M
1
M
2
M
m-1
M
m
Å
Å
Å
L
2L
(m-1)L
...
E
E
E
Pad
K
K
K
Å
S
0
if Mm lt n then
Å
if Mm n then -L
'
S
K -L L 2L 3L as implicit
on next slide
E
K
FullTag
t
first
bits
PMAC
t
Tag
12 Definition of PMAC E, t
algorithm PMACK( M ) L(0) EK (0) L(-1)
lsb(L(0)) ? (L(0) gtgt 1) Å Const43 (L(0)
gtgt1) for i 1, 2, do L(i) msb(L(i-1)) ?
(L(i-1) ltlt 1) Å Const87 (L(i-1) ltlt1)
Partition M into M1 ... Mm //
each n bits, except Mm may be shorter Offset
0 for i1 to m-1 do Offset Offset Å
L(ntz(i)) S S Å EK (Mi Å
Offset) S S Å pad (Mm) if Mm n
then S S Å L(-1) FullTag EK ( S ) Tag
first t bits of FullTag return Tag
13PMACs Security
GGM, BKR
Security as a VIL PRF
PMACK oracle
Rand func oracle, R
xi
xi
A
PMACK (xi)
R (xi)
Advprf (A) PrAPMACK 1 PrAR 1
14Block-Cipher Security
GGM, LR, BKR
Security as a FIL PRP
Enciphering oracle EK
Rand perm oracle, p
xi
xi
B
EK (xi)
p (xi)
Advprp (B) PrBEK 1 PrBp 1
15PMAC Theorem
Suppose an adversary A that breaks PMACE
with time t total-num-of-blocks s adv
Advprf (A)
Then an adversary B that breaks block cipher E
with time t num-of-queries s Advprp (B)
Advprf (A) s2 / 2n-1
- To wrap up,
- it is a standard result that any
t-bit-output PRF can be used as a MAC, where the
forging probability will be at most Advprf(A)
2-t
16Proof Idea
M2
M2
M2
M2
17PMAC as a PRF
- Structure Lemma and PMAC Theorem
- Fix n, t 1. Let A be any adversary who asks q
queries, these having an aggregate length of s
blocks. Then
where m1 L mq s.
18PMAC Performance (Serial)
- A moderately-optimized implementation of
PMACAES (Krovetz) runs in 18.4 cpb. Compare
with 17.1 cpb for AES. - P3, Cassembly, gcc, 2KB, data in L1 cache
- Aggressively-optimized basic CBC MAC runs on a
Pentium at 15.5 cpb Lipmaa - We guess that an aggressively-optimized PMACAES
should run at about 16.5 cpb.
19Comparisons
/ blk overhead
MAC length
PRF
Parallelizable
Key length
Domain
(0,1n)m ü t M / n k 1 xor
0,1 ü t éM / nù k 2n 1 xor
0,1 tn ü éM / nù varies varies 1 xor 2 add
0,1 ü t ü éM / nù k 3 xor
CBC MAC
XCBC
BR 00
XECB-MAC
(3 versions)
GD 00,01
PMAC
BR 02
20Implementation Effort
Object Effort (John-Time)
Basic CBC MAC 30 mins
XCBC 1 hour
PMAC 3 hours
OCB 4 hours
AES 8 hours
DES 8 hours
UMAC 3 days
21More Information on PMAC
- Visit the PMAC web page
- www.cs.ucdavis.edu/rogaway/pmac
- Web page contains
- Reference Code (by Ted Krovetz and me)
- Test Vectors
- FAQ
- Full version of the PMAC paper