- a parallel and scalable authenticated encryption scheme · a parallel and scalable authenticated...

41
NORX A Parallel and Scalable Authenticated Encryption Scheme Jean-Philippe Aumasson 1 (@veorq) Philipp Jovanovic 2 (@daeinar) Samuel Neves 3 (@sevenps) 1 Kudelski Security, Switzerland 2 University of Passau, Germany 3 University of Coimbra, Portugal ASFWS 2014 Yverdon-les-bains, November 05, 2014

Upload: phamquynh

Post on 28-Aug-2018

249 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

NORXA Parallel and Scalable Authenticated Encryption Scheme

Jean-Philippe Aumasson1 (@veorq)

Philipp Jovanovic2 (@daeinar)

Samuel Neves3 (@sevenps)

1Kudelski Security, Switzerland

2University of Passau, Germany

3University of Coimbra, Portugal

ASFWS 2014Yverdon-les-bains, November 05, 2014

Page 2: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

1

“Nearly all of the symmetric encryption modes you learned about inschool, textbooks, and Wikipedia are (potentially) insecure.”

—Matthew Green

Page 3: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

2

When Encryption Modes Go Bad

Picture credits: Ange Albertini (@angealbertini, @corkami)

https://code.google.com/p/corkami/

Page 4: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

2

When Encryption Modes Go Bad

Picture credits: Ange Albertini (@angealbertini, @corkami)

https://code.google.com/p/corkami/

Page 5: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

2

When Encryption Modes Go Bad

Picture credits: Ange Albertini (@angealbertini, @corkami)

https://code.google.com/p/corkami/

Page 6: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

3

Block Cipher Modes

I Today’s modes of operation designedin the 70s:

ECB CBC OFB CFB CTR

I Concern of the time: error propagation

I Little attention given to malleability

I Status quo until late 90s

“A third consideration is fault-tolerance. Some applications need toparallelize encryption or decryption, while others need to be able topreprocess as much as possible. In still others it is important that thedecrypting process be able to recover from bit errors in the ciphertextstream, or dropped or added bits.”

—Bruce Schneier, Applied Cryptography

Page 7: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

4

Active Attacks

Exploiting Malleability

I ECB: Rearrange/replay blocks

I CTR, OFB: XOR ciphertext trivially changes plaintext

I CBC: Randomize current block to predictably change next

Chosen-boundary Attacks

I ECB, CBC, CFB: Partial chosen-plaintext control

I Decrypt messages byte by byte

Page 8: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

5

Authenticated Encryption

Page 9: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

6

Authenticated Encryption

Types

I AE: ensure confidentiality, integrity, and authenticity of a message

I AEAD: AE + ensure integrity and authenticity of associated data(e.g. routing information in IP packets)

Applications

I Standard technology to protect in-transit data

I Examples: IPSec, SSH, TLS, . . .

Page 10: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

7

AE(AD) Constructions

Generic Composition

I Symmetric encryption algorithm (confidentiality)

I Message Authentication Code (MAC) (authenticity, integrity)

I Examples: AES128-CBC+HMAC-SHA256, ChaCha20+Poly1305

Dedicated Solutions

I Block cipher modes: GCM, OCB, CCM, EAX(often instantiated with AES)

I Hybrid approaches (Grain-128a, Helix, Phelix, Hummingbird-1/2)

I Sponge functions

Page 11: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

8

Bellare and Namprempre (2000)

Privacy Integrity

Composition Method IND-CPA IND-CCA NM-CPA INT-PTXT INT-CTXT

Encrypt-and-MAC insecure insecure insecure secure insecureMAC-then-Encrypt secure insecure insecure secure insecureEncrypt-then-MAC secure secure secure secure secure

Page 12: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

9

Authenticated Encryption

Problems

I Very easy to screw up deployment of AE(AD)

I Generic composition: easy to introduce interaction flaws betweenencryption and authentication

I No reliable standards

I No “misuse resistant” solutions

I Legacy crypto still very common

Led to countless security disasters ...

Page 13: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

10

Crypto Disasters I

Padding Oracle Attacks

I 2002: Vaudenay discovers a padding oracle attack onMAC-Then-Encrypt schemes using CBC mode

I 2002-2014: Repeately exploited to mount attacks on TLS

I Latest variant, October 2014:

Padding Oracle On Downgraded Legacy Encryption

Page 14: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

11

Crypto Disasters II

Wired Equivalent Privacy (WEP)

I 2007: Attack against WEP recovers secret key within minutes froma few thousand intercepted messages

I Exploits weaknesses in RC4

I Tools like aircrack-ng allow everyone to easily run the attack

Page 15: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

12

Crypto Disasters III

TLS (yet again)

I 2013: RC4 biases shown to be usable against TLS

I Exploits weaknesses in RC4 (again)

Page 16: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

13

Crypto Disasters IV

And RC4 Once More

I Kenneth G. Paterson on 31.10.14:

Page 17: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

14

CAESAR

I Competition for Authenticated Encryption: Security,Applicability, and Robustness.

I Goals: Identify a portfolio of authenticated ciphers that

- offer advantages over AES-GCM(the current de-facto standard) and

- are suitable for widespread adoption.

I Overview:

- March 15 2014 – End of 2017- 1st round: 57 submissions- http://competitions.cr.yp.to/caesar.html

I Further Information:

- AEZoo: https://aezoo.compute.dtu.dk

- Speed comparison: http://www1.spms.ntu.edu.sg/~syllab/speed

Page 18: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

15

CAESAR – Current Status

ACORN ++AE AEGIS AES-CMCC AES-COBRAAES-COPA AES-CPFB AES-JAMBU AES-OTR AEZ

Artemia Ascon AVALANCHE Calico CBACBEAM CLOC Deoxys ELmD EnchiladaFASER HKC HS1-SIV ICEPOLE iFeed[AES]Joltik Julius Ketje Keyak KIASULAC Marble McMambo Minalpher MORUS

NORX OCB OMD PAEQ PAESPANDA π-Cipher POET POLAWIS PRIMATEs

Prøst Raviyoyla Sablier SCREAM SHELLSILC Silver STRIBOB Tiaoxin TriviA-ck

Wheesht YAES

Source: https://aezoo.compute.dtu.dk

Page 19: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

16

CAESAR – Current Status

ACORN ++AE AEGIS AES-CMCC AES-COBRAAES-COPA AES-CPFB AES-JAMBU AES-OTR AEZ

Artemia Ascon AVALANCHE Calico CBACBEAM CLOC Deoxys ELmD EnchiladaFASER HKC HS1-SIV ICEPOLE iFeed[AES]Joltik Julius Ketje Keyak KIASULAC Marble McMambo Minalpher MORUS

NORX OCB OMD PAEQ PAESPANDA π-Cipher POET POLAWIS PRIMATEs

Prøst Raviyoyla Sablier SCREAM SHELLSILC Silver STRIBOB Tiaoxin TriviA-ck

Wheesht YAES

Source: https://aezoo.compute.dtu.dk

Page 20: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

17

NO(T A)RX

Page 21: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

18

Overview of NORX

Main Design Goals

I High security

I Efficiency

I Simplicity

I Scalability

I Online

I Side-channel robustness(e.g. constant-time operations)

I High key agility

Page 22: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

19

Overview of NORX

Parameters

Word size Number of rounds Parallelism degree Tag size

W ∈ {32, 64} 1 ≤ R ≤ 63 0 ≤ D ≤ 255 |A| ≤ 10W

Instances

NORXW -R-D Nonce size (2W ) Key size (4W ) Tag size (4W ) Classification

NORX64-4-1 128 256 256 StandardNORX32-4-1 64 128 128 StandardNORX64-6-1 128 256 256 High securityNORX32-6-1 64 128 128 High securityNORX64-4-4 128 256 256 High throughput

Page 23: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

20

NORX Mode

init(K,N,W,R,D, |A|)

0

0

r

cFR FR FR FR FR FR FR FR FR

01 01 02 02 04 04 08

H0 Hh−1 P0 Pp−1C0 Cp−1 T0 Tt−1

A

NORX in Sequential Mode (D = 1)

Features

I (Parallel) monkeyDuplex construction (derived from Keccak/SHA-3)

I Processes header, payload and trailer data in one-pass

I Data expansion via multi-rate padding: 10∗1

I Extensible (e.g. sessions, secret message numbers)

I Parallelisable

Page 24: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

20

NORX Mode

init(K,N,W,R,D, |A|)

0

0

r

cFR FR FR FR

FR FR FR

FR FR FR

FR FR FR FR

01 01 10

id0

id1

02 02

02 02

20

20

04 04 08

H0 Hh−1

P0 Pp−2

P1 Pp−1

C0 Cp−2

C1 Cp−1

T0 Th−1

A

NORX in Parallel Mode (D = 2)

Features

I (Parallel) monkeyDuplex construction (derived from Keccak/SHA-3)

I Processes header, payload and trailer data in one-pass

I Data expansion via multi-rate padding: 10∗1

I Extensible (e.g. sessions, secret message numbers)

I Parallelisable

Page 25: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

21

The State

I NORX operates on a state of 16 W -bit sized words

W Size Rate Capacity

32 512 320 19264 1024 640 384

I Arrangement of rate (data processing) and capacity (security) words:

s0

s4

s8

s12

s1

s5

s9

s13

s2

s6

s10

s14

s3

s7

s11

s15

Page 26: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

22

Initialisation

I Load nonce, key and constants into state S :

u0

k0

u2

u6

n0

k1

u3

u7

n1

k2

u4

u8

u1

k3

u5

u9

I Parameter integration (v1):

s14 ← s14 ⊕ (R � 26)⊕ (D � 18)⊕ (W � 10)⊕ |A|

I Apply round permutation:

S ← FR(S)

Page 27: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

22

InitialisationI Load nonce, key and constants into state S :

u0

k0

u2

u6

n0

k1

u3

u7

n1

k2

u4

u8

u1

k3

u5

u9

I Parameter integration (v2):

s12 ← s12 ⊕W

s13 ← s13 ⊕ R

s14 ← s14 ⊕ D

s15 ← s15 ⊕ |A|

I Apply round permutation:

S ← FR(S)

Page 28: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

23

The Permutation FR

The Permutation F

G

G

G

G

s0

s4

s8

s12

s1

s5

s9

s13

s2

s6

s10

s14

s3

s7

s11

s15 s12

s8

s13

s4

s9

s14

s0

s5

s10

s15

s1

s6

s11

s2

s7

s3G

G

G

G

The Permutation G

1: a←− H(a, b)

2: d ←− (a ⊕ d) ≫ r0

3: c ←− H(c, d)

4: b ←− (b ⊕ c) ≫ r1

5: a←− H(a, b)

6: d ←− (a ⊕ d) ≫ r2

7: c ←− H(c, d)

8: b ←− (b ⊕ c) ≫ r3

The Non-linear Operation H

H : {0, 1}2n → {0, 1}n, (x , y) 7→ (x ⊕ y)⊕((x ∧ y)� 1

)Rotation Offsets (r0, r1, r2, r3)

32-bit: (8, 11, 16, 31) 64-bit: (8, 19, 40, 63)

Page 29: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

24

The Permutation FR

Features

I F and G derived from ARX-primitives ChaCha/BLAKE2

I H is an “approximation” of integer addition

x + y = (x ⊕ y) +((x ∧ y)� 1

)where + is replaced by ⊕

I LRX permutation

I No SBoxes or integer additions

I SIMD-friendly

I Hardware-friendly

I High diffusion

I Constant-time

Page 30: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

25

NORX

Requirements for Secure Usage

1. Unique nonces

2. Abort on tag verification failure

Page 31: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

26

Security

Is NORX secure?

I To be determined...

Current status

I No differentials in the nonce for 1 round with probability > 2−60

(32), 2−53 (64)

I Best results for 4 rounds and full state: 2−584 (32), 2−836 (64)

I Initialization has ≥ 8 rounds

I Capacity chosen conservatively: can decrease and get ≈ 16%speedup

Page 32: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

27

Performance

Page 33: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

28

SW Performance (x86)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Message length in bytes

0

10

20

30

40

50

Cycl

es

per

byte

Platform: Intel Core i7-3667U at 2.0 GHz

NORX6441 Ref

NORX6441 AVX

NORX6461 Ref

NORX6461 AVX

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Message length in bytes

0

10

20

30

40

50

Cycl

es

per

byte

Platform: Intel Core i7-4770K at 3.5 GHz

NORX6441 Ref

NORX6441 AVX2

NORX6461 Ref

NORX6461 AVX2

Platform Implementation cpb MiBps

Ivy Bridge: i7 3667U @ 2.0 GHz AVX 3.37 593Haswell: i7 4770K @ 3.5 GHz AVX2 2.51 1390

Table: NORX64-4-1 performance

Page 34: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

29

SW Performance (ARM)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Message length in bytes

0

10

20

30

40

50

Cycl

es

per

byte

Platform: BeagleBone Black Rev B (Cortex-A8) at 1.0 GHz

NORX3241 Ref

NORX3241 NEON

NORX6441 Ref

NORX6441 NEON

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Message length in bytes

0

10

20

30

40

50

Cycl

es

per

byte

Platform: iPad Air (Apple A7, 64-bit ARMv8) at 1.4 GHz

NORX3241 Ref

NORX3241 NEON

NORX6441 Ref

NORX6441 NEON

Platform Implementation cpb MiBps

BBB: Cortex-A8 @ 1.0 GHz NEON 8.96 111iPad Air: Apple A7 @ 1.4 GHz Ref 4.07 343

Table: NORX64-4-1 performance

Page 35: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

30

SW Performance (SUPERCOP)

Source: http://www1.spms.ntu.edu.sg/~syllab/speed

I NORX among the fastest CAESAR ciphers

I Fastest Sponge-based scheme

I Reference implementation has competitive speed, too

Page 36: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

31

HW Performance (ASIC)

ASIC implementation and hardware evaluation by ETHZ students(under supervision of Frank K. Gurkaynak):

I Parameters: W ∈ {32, 64}, R ∈ {2, . . . , 16} and D = 1

I Technology: 180 nm UMC

I Frequency: 125 MHz

I Area requirements: 59 kGE

I NORX64-4-1 performance: 10 Gbps ≈ 1200 MiBps

Page 37: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

32

NORX vs AES-GCM

Page 38: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

33

NORX vs AES-GCM

NORX AES-GCM

High performance yes (on many platforms) depends (high with AES-NI)High key agility yes noTiming resistance yes no (bit-slicing, AES-NI required)Misuse resistance A+N / LCP+X (exposes P ⊕ P′) no (exposes K)Parallelisation yes yesExtensibility yes (sessions, secret msg. nr., etc.) noSimple implementation yes no

Page 39: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

34

Conclusion

Page 40: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

35

Take Aways

Features of NORX

I Secure, fast, and scalable

I Based on well-analysed primitives:ChaCha/BLAKE(2)/Keccak

I Clean and simple design

I HW and SW friendly

I Parallelisable

I Side-channel robustnessconsidered during design phase

I Straightforward to implement

I No padding problems

I No AES dependence

Page 41: - A Parallel and Scalable Authenticated Encryption Scheme · A Parallel and Scalable Authenticated Encryption Scheme ... Ange Albertini ... - A Parallel and Scalable Authenticated

36

Fin

Further Information

https://norx.io

Jean-Philippe Aumasson (@veorq) — Philipp Jovanovic (@Daeinar) — Samuel Neves (@sevenps)

[email protected]