Towards Standardization of Threshold Schemes for Cryptographic - - PowerPoint PPT Presentation

towards standardization of threshold schemes for
SMART_READER_LITE
LIVE PREVIEW

Towards Standardization of Threshold Schemes for Cryptographic - - PowerPoint PPT Presentation

Towards Standardization of Threshold Schemes for Cryptographic Primitives at NIST Lu s Brand ao Joint work with: Apostol Vassilev, Nicky Mouha, Michael Davidson The red dancing devil is from clker.com/clipart-13643.html National


slide-1
SLIDE 1

Towards Standardization of Threshold Schemes for Cryptographic Primitives at NIST

Lu´ ıs Brand˜ ao

Joint work with: Apostol Vassilev, Nicky Mouha, Michael Davidson

The red dancing devil is from clker.com/clipart-13643.html

National Institute of Standards and Technology (Gaithersburg MD, USA)

Presentation at International Cryptographic Module Conference May 16, 2019 @ Vancouver, Canada

1/30

slide-2
SLIDE 2

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

2/30

slide-3
SLIDE 3
  • 1. Introduction

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

3/30

slide-4
SLIDE 4
  • 1. Introduction

Should we share a secret?

  • penclipart.org/detail/76603

4/30

slide-5
SLIDE 5
  • 1. Introduction

Should we share a secret?

  • penclipart.org/detail/76603

“Three may keep a secret ”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

“Two may keep counsel ”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

“For three may kepe counseil ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00] 4/30

slide-6
SLIDE 6
  • 1. Introduction

Should we share a secret?

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00] 4/30

slide-7
SLIDE 7
  • 1. Introduction

Should we share a secret?

Proverbial wisdom tells us to be careful

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

∗/mw02322/Benjamin-Franklin.jpg

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

∗/mw11574/William-Shakespeare.jpg

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00]

∗/mw01262/Geoffrey-Chaucer.jpg

∗ = https://collectionimages.npg.org.uk/large/

4/30

slide-8
SLIDE 8
  • 1. Introduction

Should we share a secret?

Proverbial wisdom tells us to be careful

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

∗/mw02322/Benjamin-Franklin.jpg

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

∗/mw11574/William-Shakespeare.jpg

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00]

∗/mw01262/Geoffrey-Chaucer.jpg

∗ = https://collectionimages.npg.org.uk/large/

This is specially relevant for secret keys in modern cryptography.

  • penclipart.org/detail/101407

4/30

slide-9
SLIDE 9
  • 1. Introduction

Should we share a secret?

Proverbial wisdom tells us to be careful

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

∗/mw02322/Benjamin-Franklin.jpg

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

∗/mw11574/William-Shakespeare.jpg

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00]

∗/mw01262/Geoffrey-Chaucer.jpg

∗ = https://collectionimages.npg.org.uk/large/

This is specially relevant for secret keys in modern cryptography.

  • penclipart.org/detail/101407

Cryptography relies on:

◮ secrecy, correctness, availability ... of cryptographic keys

4/30

slide-10
SLIDE 10
  • 1. Introduction

Should we share a secret?

Proverbial wisdom tells us to be careful

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

∗/mw02322/Benjamin-Franklin.jpg

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

∗/mw11574/William-Shakespeare.jpg

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00]

∗/mw01262/Geoffrey-Chaucer.jpg

∗ = https://collectionimages.npg.org.uk/large/

This is specially relevant for secret keys in modern cryptography.

  • penclipart.org/detail/101407

Cryptography relies on:

◮ secrecy, correctness, availability ... of cryptographic keys ◮ implementations that use keys to operate an algorithm

4/30

slide-11
SLIDE 11
  • 1. Introduction

Should we share a secret?

Proverbial wisdom tells us to be careful

  • penclipart.org/detail/76603

“Three may keep a secret, if two of them are dead.”

(In: “Poor Richard’s Almanack.” Benjamin Franklin, 1735) [Sau34]

∗/mw02322/Benjamin-Franklin.jpg

“Two may keep counsel, putting one away.”

(In: “Romeo and Juliet.” William Shakespeare, 1597) [Sha97]

∗/mw11574/William-Shakespeare.jpg

“For three may kepe counseil if twain be away! ”

(In: The Ten Commandments of Love. Geoffrey Chaucer, 1340–1400) [Cha00]

∗/mw01262/Geoffrey-Chaucer.jpg

∗ = https://collectionimages.npg.org.uk/large/

This is specially relevant for secret keys in modern cryptography.

  • penclipart.org/detail/101407

Cryptography relies on:

◮ secrecy, correctness, availability ... of cryptographic keys ◮ implementations that use keys to operate an algorithm

4/30

slide-12
SLIDE 12
  • 1. Introduction

Crypto can be affected by vulnerabilities!

5/30

slide-13
SLIDE 13
  • 1. Introduction

Crypto can be affected by vulnerabilities!

Attacks can exploit differences between ideal vs. real implementations

5/30

slide-14
SLIDE 14
  • 1. Introduction

Crypto can be affected by vulnerabilities!

Attacks can exploit differences between ideal vs. real implementations

“Bellcore attack” (1997)

[BDL97]

[SH07]

Cold-boot attacks (2009)

[HSH+09]

[Don13]

Heartbleed bug (2014)

[DLK+14]

heartbleed.com

“ZigBee Chain reaction” (2017)

[RSWO17]

[RSWO17]

Meltdown & Spectre (2017)

[LSG+18, KGG+18]

meltdownattack.com

Foreshadow (2018)

[BMW+18, WBM+18]

foreshadowattack.eu

Microarchitectural Data Sampling (2019)

[MDS19]

mdsattacks.com

5/30

slide-15
SLIDE 15
  • 1. Introduction

Crypto can be affected by vulnerabilities!

Attacks can exploit differences between ideal vs. real implementations

“Bellcore attack” (1997)

[BDL97]

[SH07]

Cold-boot attacks (2009)

[HSH+09]

[Don13]

Heartbleed bug (2014)

[DLK+14]

heartbleed.com

“ZigBee Chain reaction” (2017)

[RSWO17]

[RSWO17]

Meltdown & Spectre (2017)

[LSG+18, KGG+18]

meltdownattack.com

Foreshadow (2018)

[BMW+18, WBM+18]

foreshadowattack.eu

Microarchitectural Data Sampling (2019)

[MDS19]

mdsattacks.com

Also, operators of cryptographic implementations can go rogue

5/30

slide-16
SLIDE 16
  • 1. Introduction

Crypto can be affected by vulnerabilities!

Attacks can exploit differences between ideal vs. real implementations

“Bellcore attack” (1997)

[BDL97]

[SH07]

Cold-boot attacks (2009)

[HSH+09]

[Don13]

Heartbleed bug (2014)

[DLK+14]

heartbleed.com

“ZigBee Chain reaction” (2017)

[RSWO17]

[RSWO17]

Meltdown & Spectre (2017)

[LSG+18, KGG+18]

meltdownattack.com

Foreshadow (2018)

[BMW+18, WBM+18]

foreshadowattack.eu

Microarchitectural Data Sampling (2019)

[MDS19]

mdsattacks.com

Also, operators of cryptographic implementations can go rogue How can we address single-points of failure?

*question-2.html *4296.html *colored-elephant.html * = clker.com/clipart-

5/30

slide-17
SLIDE 17
  • 1. Introduction

The threshold approach

The red dancing devil is from clker.com/clipart-13643.html

6/30

slide-18
SLIDE 18
  • 1. Introduction

The threshold approach

At high-level: use redundancy & diversity to mitigate the compromise of up to a threshold number (f-out-of-n) of components

The red dancing devil is from clker.com/clipart-13643.html

6/30

slide-19
SLIDE 19
  • 1. Introduction

The threshold approach

At high-level: use redundancy & diversity to mitigate the compromise of up to a threshold number (f-out-of-n) of components

The red dancing devil is from clker.com/clipart-13643.html

The intuitive aim: improve security vs.

a non-threshold scheme

6/30

slide-20
SLIDE 20
  • 1. Introduction

The threshold approach

At high-level: use redundancy & diversity to mitigate the compromise of up to a threshold number (f-out-of-n) of components

The red dancing devil is from clker.com/clipart-13643.html

The intuitive aim: improve security vs.

a non-threshold scheme

NIST-CSD wants to standardize threshold schemes for cryptographic primitives

6/30

slide-21
SLIDE 21
  • 1. Introduction

The threshold approach

At high-level: use redundancy & diversity to mitigate the compromise of up to a threshold number (f-out-of-n) of components

The red dancing devil is from clker.com/clipart-13643.html

The intuitive aim: improve security vs.

a non-threshold scheme

NIST-CSD wants to standardize threshold schemes for cryptographic primitives

Potential primitives: signing, decryption, enciphering, key-generation, ...

6/30

slide-22
SLIDE 22
  • 1. Introduction

The threshold approach

At high-level: use redundancy & diversity to mitigate the compromise of up to a threshold number (f-out-of-n) of components

The red dancing devil is from clker.com/clipart-13643.html

The intuitive aim: improve security vs.

a non-threshold scheme

NIST-CSD wants to standardize threshold schemes for cryptographic primitives

Potential primitives: signing, decryption, enciphering, key-generation, ... Some properties: ◮ withstands several compromised components; ◮ needs several uncompromised components; ◮ prevents secret keys from being in one place; ◮ enhances resistance against side-channel attacks; ...

6/30

slide-23
SLIDE 23
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

7/30

slide-24
SLIDE 24
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis;

7/30

slide-25
SLIDE 25
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys

Λ(x)

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret;

7/30

slide-26
SLIDE 26
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys

Λ(x)

yA 1 Alice yB 2 Bob yC 3 Cai

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret; ◮ Each share is a point (Λ(i), i) in the line Λ;

7/30

slide-27
SLIDE 27
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79] yB 2 Bob

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret; ◮ Each share is a point (Λ(i), i) in the line Λ;

Each share alone has no information about the secret.

7/30

slide-28
SLIDE 28
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys

Λ(x)

yA 1 Alice yB 2 Bob yC 3 Cai

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret; ◮ Each share is a point (Λ(i), i) in the line Λ;

Each share alone has no information about the secret. Any pair of shares allows recovering the secret

7/30

slide-29
SLIDE 29
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys

Λ(x)

yA 1 Alice yB 2 Bob yC 3 Cai Humanoid cliparts: clker.com/clipart-*.html Alice: *=2478 Bob: *=2482 Cai: *=2479

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret; ◮ Each share is a point (Λ(i), i) in the line Λ;

Each share alone has no information about the secret. Any pair of shares allows recovering the secret But how to avoid recombining the key when the key is needed by an algorithm?

7/30

slide-30
SLIDE 30
  • 1. Introduction

Secret Sharing Schemes (a starting point)

Split a secret key into n secret “shares” for storage at rest.

y x Shamir scheme (1979) [Sha79]

ys

Λ(x)

yA 1 Alice yB 2 Bob yC 3 Cai Humanoid cliparts: clker.com/clipart-*.html Alice: *=2478 Bob: *=2482 Cai: *=2479

Example 2-out-of-n secret sharing ◮ The secret ys is placed in the y-axis; ◮ A random line Λ is drawn crossing the secret; ◮ Each share is a point (Λ(i), i) in the line Λ;

Each share alone has no information about the secret. Any pair of shares allows recovering the secret But how to avoid recombining the key when the key is needed by an algorithm? Use threshold schemes for cryptographic primitives (next)

7/30

slide-31
SLIDE 31
  • 1. Introduction

Goal(s) for this presentation

Overview the NIST effort towards standardization of threshold schemes

clker.com/clipart-purple-mountain.html

8/30

slide-32
SLIDE 32
  • 1. Introduction

Goal(s) for this presentation

Overview the NIST effort towards standardization of threshold schemes

  • 1. Convey high-dimensionality of the threshold space

clker.com/clipart-purple-mountain.html

8/30

slide-33
SLIDE 33
  • 1. Introduction

Goal(s) for this presentation

Overview the NIST effort towards standardization of threshold schemes

  • 1. Convey high-dimensionality of the threshold space
  • 2. Describe the steps so far and ahead

clker.com/clipart-purple-mountain.html

8/30

slide-34
SLIDE 34
  • 1. Introduction

Goal(s) for this presentation

Overview the NIST effort towards standardization of threshold schemes

  • 1. Convey high-dimensionality of the threshold space
  • 2. Describe the steps so far and ahead
  • 3. Motivate feedback and engagement from stakeholders

clker.com/clipart-purple-mountain.html

8/30

slide-35
SLIDE 35
  • 2. Preliminaries

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

9/30

slide-36
SLIDE 36
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

10/30

slide-37
SLIDE 37
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) A 3-out-of-3 threshold scheme (k = n = 3)

10/30

slide-38
SLIDE 38
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen ◮ Sign ◮ Verify A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen ◮ Sign ◮ Verify

10/30

slide-39
SLIDE 39
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen ◮ Sign ◮ Verify

10/30

slide-40
SLIDE 40
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign ◮ Verify

10/30

slide-41
SLIDE 41
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify

10/30

slide-42
SLIDE 42
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N)

10/30

slide-43
SLIDE 43
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined;

10/30

slide-44
SLIDE 44
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed;

10/30

slide-45
SLIDE 45
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ;

10/30

slide-46
SLIDE 46
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient!

10/30

slide-47
SLIDE 47
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer;

10/30

slide-48
SLIDE 48
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism;

10/30

slide-49
SLIDE 49
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m.

10/30

slide-50
SLIDE 50
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m. Not fault-tolerant: a single sub-signer can boycott a correct signing.

10/30

slide-51
SLIDE 51
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m. Not fault-tolerant: a single sub-signer can boycott a correct signing. Can other threshold schemes be implemented: ?

10/30

slide-52
SLIDE 52
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m. Not fault-tolerant: a single sub-signer can boycott a correct signing. Can other threshold schemes be implemented: ∄ dealer, ∄ homomorphisms, secret-shared m, withstanding f malicious signers?

10/30

slide-53
SLIDE 53
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m. Not fault-tolerant: a single sub-signer can boycott a correct signing. Can other threshold schemes be implemented: ∄ dealer, ∄ homomorphisms, secret-shared m, withstanding f malicious signers? Yes, using threshold cryptography

10/30

slide-54
SLIDE 54
  • 2. Preliminaries

A simple example: RSA signature (or decryption) [RSA78]

Conventional scheme (k = n = 1) ◮ KeyGen (by signer): ◮ Public Modulus: N = p · q ◮ Secret SignKey: d ◮ Public VerKey: e (= d−1 (mod φ)) ◮ Sign(m): σ = md (mod N) ◮ Verify(σ, m): σe =? m (mod N) A 3-out-of-3 threshold scheme (k = n = 3) ◮ KeyGen (by dealer): ◮ Same N, d, e ◮ SubKeys: d1, d2, d3 : d1 + d2 + d3 = d (mod φ) ◮ Sign(m): { separate: si = mdi (mod N) : i = 1, 2, 3 combine: σ = s1 · s2 · s3 (mod N) } ◮ Verify(σ, m): σe =? m (mod N) About this threshold scheme: SignKey d not recombined; can reshare d leaving e fixed; same σ; efficient! Facilitating setting: ∃ dealer; ∃ homomorphism; all parties learn m. Not fault-tolerant: a single sub-signer can boycott a correct signing. Can other threshold schemes be implemented: ∄ dealer, ∄ homomorphisms, secret-shared m, withstanding f malicious signers? Yes, using threshold cryptography (with more complicated schemes)

10/30

slide-55
SLIDE 55
  • 2. Preliminaries

What do thresholds k and f mean?

11/30

slide-56
SLIDE 56
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt ◮ Key secrecy: okay while 1 share is secret

clker.com/clipart-encryption.html

11/30

slide-57
SLIDE 57
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret

clker.com/clipart-encryption.html

11/30

slide-58
SLIDE 58
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

11/30

slide-59
SLIDE 59
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f)

11/30

slide-60
SLIDE 60
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign ◮ Key secrecy: okay while 2 shares are secret

clker.com/clipart-3712.html

11/30

slide-61
SLIDE 61
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign (k = 2, f = 1) ◮ Key secrecy: okay while 2 shares are secret

clker.com/clipart-3712.html

11/30

slide-62
SLIDE 62
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign (k = 2, f = 1) ◮ Key secrecy: okay while 2 shares are secret (k = 2, f = 1)

clker.com/clipart-3712.html

11/30

slide-63
SLIDE 63
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign (k = 2, f = 1) ◮ Key secrecy: okay while 2 shares are secret (k = 2, f = 1)

clker.com/clipart-3712.html

But does any of these schemes improve security? (compared with a non-threshold scheme (n = k = 1, f = 0))

11/30

slide-64
SLIDE 64
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign (k = 2, f = 1) ◮ Key secrecy: okay while 2 shares are secret (k = 2, f = 1)

clker.com/clipart-3712.html

But does any of these schemes improve security? (compared with a non-threshold scheme (n = k = 1, f = 0))

It depends: “k-out-of-n” or “f-out-of-n” is not a sufficient characterization for a comprehensive security assertion

11/30

slide-65
SLIDE 65
  • 2. Preliminaries

What do thresholds k and f mean?

3-out-of-3 decryption: ◮ Availability: 3 nodes needed to decrypt (k = 3, f = 0) ◮ Key secrecy: okay while 1 share is secret (k = 1, f = 2)

clker.com/clipart-encryption.html

(Each security property has its own k and f) 2-out-of-3 signature: ◮ Availability: 2 nodes needed to sign (k = 2, f = 1) ◮ Key secrecy: okay while 2 shares are secret (k = 2, f = 1)

clker.com/clipart-3712.html

But does any of these schemes improve security? (compared with a non-threshold scheme (n = k = 1, f = 0))

It depends: “k-out-of-n” or “f-out-of-n” is not a sufficient characterization for a comprehensive security assertion

Depends on attack model (e.g., attack surface, ...), system model (e.g., rejuvenations, ...), ...

11/30

slide-66
SLIDE 66
  • 3. Step 1: NISTIR

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

12/30

slide-67
SLIDE 67
  • 3. Step 1: NISTIR

NIST Internal Report (NISTIR) 8214

13/30

slide-68
SLIDE 68
  • 3. Step 1: NISTIR

NIST Internal Report (NISTIR) 8214

Threshold Schemes for Cryptographic Primitives — Challenges and Opportunities

in Standardization and Validation of Threshold Cryptography.

[BMV18] doi:10.6028/NIST.IR.8214

NISTIR 8214 Threshold Schemes for Cryptographic Primitives Challenges and Opportunities in Standardization and Validation of Threshold Cryptography Luís T. A. N. Brandão Nicky Mouha Apostol Vassilev This publication is available free of charge from: https://doi.org/10.6028/NIST.IR.8214

https://csrc.nist.gov/publications/detail/nistir/8214/final

13/30

slide-69
SLIDE 69
  • 3. Step 1: NISTIR

NIST Internal Report (NISTIR) 8214

Threshold Schemes for Cryptographic Primitives — Challenges and Opportunities

in Standardization and Validation of Threshold Cryptography.

[BMV18] doi:10.6028/NIST.IR.8214

The report sets a basis for discussion:

◮ need to characterize threshold schemes ◮ need to engage with stakeholders ◮ need to define criteria for standardization

Image adapted from:

  • penclipart.org/detail/283392
NISTIR 8214 Threshold Schemes for Cryptographic Primitives Challenges and Opportunities in Standardization and Validation of Threshold Cryptography Luís T. A. N. Brandão Nicky Mouha Apostol Vassilev This publication is available free of charge from: https://doi.org/10.6028/NIST.IR.8214

https://csrc.nist.gov/publications/detail/nistir/8214/final

13/30

slide-70
SLIDE 70
  • 3. Step 1: NISTIR

NIST Internal Report (NISTIR) 8214

Threshold Schemes for Cryptographic Primitives — Challenges and Opportunities

in Standardization and Validation of Threshold Cryptography.

[BMV18] doi:10.6028/NIST.IR.8214

The report sets a basis for discussion:

◮ need to characterize threshold schemes ◮ need to engage with stakeholders ◮ need to define criteria for standardization

Image adapted from:

  • penclipart.org/detail/283392
NISTIR 8214 Threshold Schemes for Cryptographic Primitives Challenges and Opportunities in Standardization and Validation of Threshold Cryptography Luís T. A. N. Brandão Nicky Mouha Apostol Vassilev This publication is available free of charge from: https://doi.org/10.6028/NIST.IR.8214

Past timeline:

◮ 2018-July: Draft online 3 months for public comments ◮ 2018-October: Received comments from 13 external sources ◮ 2019-March: Final version online, along with “diff” and received comments

https://csrc.nist.gov/publications/detail/nistir/8214/final

13/30

slide-71
SLIDE 71
  • 3. Step 1: NISTIR

Characterizing threshold schemes

14/30

slide-72
SLIDE 72
  • 3. Step 1: NISTIR

Characterizing threshold schemes

To reflect on a threshold scheme, start by characterizing 4 main features:

  • Kinds of threshold
  • Communication interfaces
  • Executing platform
  • Setup and maintenance

The cliparts are from openclipart.org/detail/∗, with ∗ ∈ {71491, 190624, 101407, 161401, 161389}

14/30

slide-73
SLIDE 73
  • 3. Step 1: NISTIR

Characterizing threshold schemes

To reflect on a threshold scheme, start by characterizing 4 main features:

  • Kinds of threshold
  • Communication interfaces
  • Executing platform
  • Setup and maintenance

The cliparts are from openclipart.org/detail/∗, with ∗ ∈ {71491, 190624, 101407, 161401, 161389}

Each feature spans distinct options that affect security in different ways.

14/30

slide-74
SLIDE 74
  • 3. Step 1: NISTIR

Characterizing threshold schemes

To reflect on a threshold scheme, start by characterizing 4 main features:

  • Kinds of threshold
  • Communication interfaces
  • Executing platform
  • Setup and maintenance

The cliparts are from openclipart.org/detail/∗, with ∗ ∈ {71491, 190624, 101407, 161401, 161389}

Each feature spans distinct options that affect security in different ways. A characterization provides a better context for security assertions.

14/30

slide-75
SLIDE 75
  • 3. Step 1: NISTIR

Characterizing threshold schemes

To reflect on a threshold scheme, start by characterizing 4 main features:

  • Kinds of threshold
  • Communication interfaces
  • Executing platform
  • Setup and maintenance

The cliparts are from openclipart.org/detail/∗, with ∗ ∈ {71491, 190624, 101407, 161401, 161389}

Each feature spans distinct options that affect security in different ways. A characterization provides a better context for security assertions. But there are other factors ...

14/30

slide-76
SLIDE 76
  • 3. Step 1: NISTIR

Deployment context

15/30

slide-77
SLIDE 77
  • 3. Step 1: NISTIR

Deployment context

◮ Application context. Should it affect security requirements?

15/30

slide-78
SLIDE 78
  • 3. Step 1: NISTIR

Deployment context

◮ Application context. Should it affect security requirements?

◮ signature correctness — may be deferred to client ◮ decryption correctness — may require robust protocol

clker.com/clipart-3712.html clker.com/clipart-encryption.html

15/30

slide-79
SLIDE 79
  • 3. Step 1: NISTIR

Deployment context

◮ Application context. Should it affect security requirements?

◮ signature correctness — may be deferred to client ◮ decryption correctness — may require robust protocol

clker.com/clipart-3712.html clker.com/clipart-encryption.html

◮ Conceivable attack types.

clker.com/clipart-10778

◮ Active vs. passive ◮ Static vs. adaptive ◮ Stealth vs. detected ◮ Invasive (physical) vs. non-invasive ◮ Side-channel vs. communication interfaces ◮ Parallel vs. sequential (wrt attacking nodes)

15/30

slide-80
SLIDE 80
  • 3. Step 1: NISTIR

Deployment context

◮ Application context. Should it affect security requirements?

◮ signature correctness — may be deferred to client ◮ decryption correctness — may require robust protocol

clker.com/clipart-3712.html clker.com/clipart-encryption.html

◮ Conceivable attack types.

clker.com/clipart-10778

◮ Active vs. passive ◮ Static vs. adaptive ◮ Stealth vs. detected ◮ Invasive (physical) vs. non-invasive ◮ Side-channel vs. communication interfaces ◮ Parallel vs. sequential (wrt attacking nodes)

A threshold scheme improving security against an attack in an application may be powerless or degrade security for another attack in another application

15/30

slide-81
SLIDE 81
  • 3. Step 1: NISTIR

The validation challenge

16/30

slide-82
SLIDE 82
  • 3. Step 1: NISTIR

The validation challenge

Devise standards of testable and validatable threshold schemes vs. devise testing and validation for standardized threshold schemes

16/30

slide-83
SLIDE 83
  • 3. Step 1: NISTIR

The validation challenge

Devise standards of testable and validatable threshold schemes vs. devise testing and validation for standardized threshold schemes Validation is needed in the federal context:

◮ need to use validated implementations [tC96] of standardized algorithms ◮ FIPS 140-2/3 defines, for cryptographic modules, 4 security levels: subsets of applicable security assertions [NIS01]

(FIPS = Federal Information Processing Standards)

16/30

slide-84
SLIDE 84
  • 4. Step 2: NTCW

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

17/30

slide-85
SLIDE 85
  • 4. Step 2: NTCW

#NTCW2019

NIST Threshold Cryptography Workshop 2019

ffi

https://csrc.nist.gov/Events/2019/NTCW19

18/30

slide-86
SLIDE 86
  • 4. Step 2: NTCW

#NTCW2019

NIST Threshold Cryptography Workshop 2019

March 11–12, 2019 @ NIST Gaithersburg MD, USA

www.nist.gov/image/surfgaithersburgjpg

ffi

https://csrc.nist.gov/Events/2019/NTCW19

18/30

slide-87
SLIDE 87
  • 4. Step 2: NTCW

#NTCW2019

NIST Threshold Cryptography Workshop 2019

March 11–12, 2019 @ NIST Gaithersburg MD, USA

www.nist.gov/image/surfgaithersburgjpg

United States 75% Belgium 9% Canada 1% China 1% Estonia 4% France 4% Israel 1% Italy 1% Switzerland 2% Denmark 2%

NIST Gaithersburg March 11-12, 2019

Coutries (of affiliation) registered to the NIST Threshold Cryptography Workshop About 80 attendees

https://csrc.nist.gov/Events/2019/NTCW19

18/30

slide-88
SLIDE 88
  • 4. Step 2: NTCW

#NTCW2019

NIST Threshold Cryptography Workshop 2019

March 11–12, 2019 @ NIST Gaithersburg MD, USA

www.nist.gov/image/surfgaithersburgjpg

United States 75% Belgium 9% Canada 1% China 1% Estonia 4% France 4% Israel 1% Italy 1% Switzerland 2% Denmark 2%

NIST Gaithersburg March 11-12, 2019

Coutries (of affiliation) registered to the NIST Threshold Cryptography Workshop About 80 attendees

A platform for open interaction: ◮ hear about experiences with threshold crypto; ◮ get to know stakeholders; ◮ get input to reflect on roadmap and criteria.

https://csrc.nist.gov/Events/2019/NTCW19

18/30

slide-89
SLIDE 89
  • 4. Step 2: NTCW

Format and content

19/30

slide-90
SLIDE 90
  • 4. Step 2: NTCW

Format and content

Accepted 15 external submissions: ◮ 2 panels ◮ 5 papers ◮ 8 presentations

19/30

slide-91
SLIDE 91
  • 4. Step 2: NTCW

Format and content

Accepted 15 external submissions: ◮ 2 panels ◮ 5 papers ◮ 8 presentations Plus: ◮ 2 invited keynotes ◮ 4 NIST talks ◮ 2 feedback moments

19/30

slide-92
SLIDE 92
  • 4. Step 2: NTCW

Format and content

Accepted 15 external submissions: ◮ 2 panels ◮ 5 papers ◮ 8 presentations Plus: ◮ 2 invited keynotes ◮ 4 NIST talks ◮ 2 feedback moments

Videos, papers and presentations online at the NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19

19/30

slide-93
SLIDE 93
  • 4. Step 2: NTCW

Format and content

Accepted 15 external submissions: ◮ 2 panels ◮ 5 papers ◮ 8 presentations Plus: ◮ 2 invited keynotes ◮ 4 NIST talks ◮ 2 feedback moments

Videos, papers and presentations online at the NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19 Discussion of diverse topics: ◮ threshold schemes in general (motivation and implementation feasibility); ◮ NIST standardization of cryptographic primitives ◮ a post-quantum threshold public-key encryption scheme; ◮ threshold signatures (adaptive security; elliptic curve digital signature algorithm); ◮ validation of cryptographic implementations; ◮ threshold circuit design (tradeoffs, pitfalls, combined attacks, verification tools); ◮ secret-sharing with leakage resilience; ◮ distributed symmetric-key encryption; ◮ applications and experience with threshold cryptography.

19/30

slide-94
SLIDE 94
  • 4. Step 2: NTCW

Results

20/30

slide-95
SLIDE 95
  • 4. Step 2: NTCW

Results

A step in driving an open and transparent process towards standardization

  • f threshold schemes for cryptographic primitives. (See NISTIR 7977)

20/30

slide-96
SLIDE 96
  • 4. Step 2: NTCW

Results

A step in driving an open and transparent process towards standardization

  • f threshold schemes for cryptographic primitives. (See NISTIR 7977)

Some notes: ◮ differences in granularity (building blocks vs. full functionalities); ◮ separation of single-device vs. multi-party; ◮ importance of envisioning applications; ◮ stakeholders’ willingness to contribute; ◮ usefulness of explaining rationale (e.g., as complimented for the NISTIR); ◮ encouragement to move forward.

20/30

slide-97
SLIDE 97
  • 4. Step 2: NTCW

Results

A step in driving an open and transparent process towards standardization

  • f threshold schemes for cryptographic primitives. (See NISTIR 7977)

Some notes: ◮ differences in granularity (building blocks vs. full functionalities); ◮ separation of single-device vs. multi-party; ◮ importance of envisioning applications; ◮ stakeholders’ willingness to contribute; ◮ usefulness of explaining rationale (e.g., as complimented for the NISTIR); ◮ encouragement to move forward. These elements are helpful for the next step ... designing a roadmap

20/30

slide-98
SLIDE 98
  • 5. Step 3: preliminary roadmap

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

21/30

slide-99
SLIDE 99
  • 5. Step 3: preliminary roadmap

Preliminary roadmap (ongoing)

We are writing a draft “preliminary roadmap”

clker.com/clipart-15840.html

22/30

slide-100
SLIDE 100
  • 5. Step 3: preliminary roadmap

Preliminary roadmap (ongoing)

We are writing a draft “preliminary roadmap” (getting a map; deciding where to go; thinking how to get there)

clker.com/clipart-15840.html

22/30

slide-101
SLIDE 101
  • 5. Step 3: preliminary roadmap

Preliminary roadmap (ongoing)

We are writing a draft “preliminary roadmap” (getting a map; deciding where to go; thinking how to get there)

clker.com/clipart-15840.html

Need: mapping layers (coordinates) and weighing factors

22/30

slide-102
SLIDE 102
  • 5. Step 3: preliminary roadmap

Preliminary roadmap (ongoing)

We are writing a draft “preliminary roadmap” (getting a map; deciding where to go; thinking how to get there)

clker.com/clipart-15840.html

Need: mapping layers (coordinates) and weighing factors

Disclaimer: the structure suggested in the next slides is still subject to change.

22/30

slide-103
SLIDE 103
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers

Standardization space for threshold schemes for cryptographic primitives

23/30

slide-104
SLIDE 104
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers: domains

Standardization space for threshold schemes for cryptographic primitives Single-device (domain) Multi-party (domain)

23/30

slide-105
SLIDE 105
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers: domains, routes

Standardization space for threshold schemes for cryptographic primitives Single-device (domain) Multi-party (domain) Route A Route B Route C Route A Route B Route C

◮ Route A: simple thresholdization ◮ Route B: compositional designs ◮ Route C: new primitives

23/30

slide-106
SLIDE 106
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers: domains, routes

Standardization space for threshold schemes for cryptographic primitives Single-device (domain) Multi-party (domain) Route A Route B Route C Route A Route B Route C Route D

◮ Route A: simple thresholdization ◮ Route B: compositional designs ◮ Route C: new primitives ◮ Route D: gadgets

23/30

slide-107
SLIDE 107
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers: domains, routes, primitives

Standardization space for threshold schemes for cryptographic primitives Single-device (domain) Multi-party (domain) Route A Route B Route C Route A Route B Route C Route D Primitive 1 ... ... ... ... ... ... ... Primitive n

◮ Route A: simple thresholdization ◮ Route B: compositional designs ◮ Route C: new primitives ◮ Route D: gadgets

23/30

slide-108
SLIDE 108
  • 5. Step 3: preliminary roadmap

Mapping layers

An abstract layered decomposition of the threshold standardization space Four layers: domains, routes, primitives, modes

Standardization space for threshold schemes for cryptographic primitives Single-device (domain) Multi-party (domain) Route A Route B Route C Route A Route B Route C Route D Primitive 1 ... ... ... ... ... ... ... Primitive n Mode 1 Mode m ... ...

◮ Route A: simple thresholdization ◮ Route B: compositional designs ◮ Route C: new primitives ◮ Route D: gadgets

23/30

slide-109
SLIDE 109
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: Modes:

24/30

slide-110
SLIDE 110
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ◮ C: ◮ D: Modes:

24/30

slide-111
SLIDE 111
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: ◮ D: Modes:

24/30

slide-112
SLIDE 112
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: Modes:

24/30

slide-113
SLIDE 113
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes:

24/30

slide-114
SLIDE 114
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes: ◮ threshold signature with secret-shared key vs. multi-signature (independent keys);

24/30

slide-115
SLIDE 115
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes: ◮ threshold signature with secret-shared key vs. multi-signature (independent keys); ◮ operation on secret-shared plaintext;

24/30

slide-116
SLIDE 116
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes: ◮ threshold signature with secret-shared key vs. multi-signature (independent keys); ◮ operation on secret-shared plaintext; ◮ honest majority; robust with fault detection;

24/30

slide-117
SLIDE 117
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes: ◮ threshold signature with secret-shared key vs. multi-signature (independent keys); ◮ operation on secret-shared plaintext; ◮ honest majority; robust with fault detection; ◮ asynchronous environment.

24/30

slide-118
SLIDE 118
  • 5. Step 3: preliminary roadmap

Some conceived examples

Primitives across routes: ◮ A: RSA decryption & signature; Schnorr signature; ECC key-gen; AES (single-device) threshold circuit design against leakage. ◮ B: ECDSA signature; RSA key-gen; AES enciphering; AES (single-device) threshold circuit against combined attacks. ◮ C: post-quantum signing & decryption; lightweight-crypto threshold. ◮ D: secret sharing; distributed RNG; consensus. Modes: ◮ threshold signature with secret-shared key vs. multi-signature (independent keys); ◮ operation on secret-shared plaintext; ◮ honest majority; robust with fault detection; ◮ asynchronous environment. Not every possible combination needs to be a standardization goal

24/30

slide-119
SLIDE 119
  • 5. Step 3: preliminary roadmap

Weighing factors

The four layers provide a map. But where to look in the map?

  • penclipart.org/detail/281637

25/30

slide-120
SLIDE 120
  • 5. Step 3: preliminary roadmap

Weighing factors

The four layers provide a map. But where to look in the map?

  • penclipart.org/detail/281637

◮ Application motivations: ◮ Useful features:

25/30

slide-121
SLIDE 121
  • 5. Step 3: preliminary roadmap

Weighing factors

The four layers provide a map. But where to look in the map?

  • penclipart.org/detail/281637

◮ Application motivations:

◮ threshold circuit design in single-device (address side-channel leakage) ◮ distribute trust across several operators of crypto primitives∗ ◮ multi-signatures in crypto currencies ◮ privacy preserving modes (e.g., secret-shared plaintext) ◮ ...

∗(emphasis on approved conventional primitives)

◮ Useful features:

25/30

slide-122
SLIDE 122
  • 5. Step 3: preliminary roadmap

Weighing factors

The four layers provide a map. But where to look in the map?

  • penclipart.org/detail/281637

◮ Application motivations:

◮ threshold circuit design in single-device (address side-channel leakage) ◮ distribute trust across several operators of crypto primitives∗ ◮ multi-signatures in crypto currencies ◮ privacy preserving modes (e.g., secret-shared plaintext) ◮ ...

∗(emphasis on approved conventional primitives)

◮ Useful features:

◮ efficiency and practicality ◮ suitability for automated testing ◮ ability to rejuvenate components ◮ ...

25/30

slide-123
SLIDE 123
  • 5. Step 3: preliminary roadmap

Hereafter

26/30

slide-124
SLIDE 124
  • 5. Step 3: preliminary roadmap

Hereafter

Soon: Draft “preliminary roadmap” asking feedback

26/30

slide-125
SLIDE 125
  • 5. Step 3: preliminary roadmap

Hereafter

Soon: Draft “preliminary roadmap” asking feedback, e.g., on: ◮ elements within layers, application motivations and other factors ◮ primitives/modes to focus on (and respective security properties) ◮ possible elements to adopt/adapt from other standards

26/30

slide-126
SLIDE 126
  • 5. Step 3: preliminary roadmap

Hereafter

Soon: Draft “preliminary roadmap” asking feedback, e.g., on: ◮ elements within layers, application motivations and other factors ◮ primitives/modes to focus on (and respective security properties) ◮ possible elements to adopt/adapt from other standards Later: separate criteria for separate focuses; calls for contributions

26/30

slide-127
SLIDE 127
  • 5. Step 3: preliminary roadmap

Hereafter

Soon: Draft “preliminary roadmap” asking feedback, e.g., on: ◮ elements within layers, application motivations and other factors ◮ primitives/modes to focus on (and respective security properties) ◮ possible elements to adopt/adapt from other standards Later: separate criteria for separate focuses; calls for contributions Example routes for calls for contributions: ◮ algorithms for standardization ◮ reference implementations and comparisons ◮ research contributions ◮ ... Possibly fit some of these in a 2nd workshop (?)

26/30

slide-128
SLIDE 128
  • 6. Final remarks

Outline

  • 1. Introduction
  • 2. Preliminaries
  • 3. Step 1: NISTIR
  • 4. Step 2: NTCW
  • 5. Step 3: preliminary roadmap
  • 6. Final remarks

27/30

slide-129
SLIDE 129
  • 6. Final remarks

Final remarks

28/30

slide-130
SLIDE 130
  • 6. Final remarks

Final remarks

◮ Threshold schemes have potential to address single-points of failure:

◮ in technology ... when crypto implementations have vulnerabilities ◮ at the human level ... when crypto operators go rogue

28/30

slide-131
SLIDE 131
  • 6. Final remarks

Final remarks

◮ Threshold schemes have potential to address single-points of failure:

◮ in technology ... when crypto implementations have vulnerabilities ◮ at the human level ... when crypto operators go rogue

◮ There exist numerous researched threshold schemes

28/30

slide-132
SLIDE 132
  • 6. Final remarks

Final remarks

◮ Threshold schemes have potential to address single-points of failure:

◮ in technology ... when crypto implementations have vulnerabilities ◮ at the human level ... when crypto operators go rogue

◮ There exist numerous researched threshold schemes ◮ It is time to move towards (some) standardization

28/30

slide-133
SLIDE 133
  • 6. Final remarks

Final remarks

◮ Threshold schemes have potential to address single-points of failure:

◮ in technology ... when crypto implementations have vulnerabilities ◮ at the human level ... when crypto operators go rogue

◮ There exist numerous researched threshold schemes ◮ It is time to move towards (some) standardization

We would like to have a process in collaboration with stakeholders!

28/30

slide-134
SLIDE 134
  • 6. Final remarks

◮ Project webpage: https://csrc.nist.gov/Projects/Threshold-Cryptography ◮ Project email adress: threshold-crypto@nist.gov ◮ NISTIR 8214: https://csrc.nist.gov/publications/detail/nistir/8214/final ◮ NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19 ◮ Forum: https://groups.google.com/a/list.nist.gov/forum/#!forum/tc-forum (register for announcements; we can add your email if you send us a request)

29/30

slide-135
SLIDE 135
  • 6. Final remarks

◮ Project webpage: https://csrc.nist.gov/Projects/Threshold-Cryptography ◮ Project email adress: threshold-crypto@nist.gov ◮ NISTIR 8214: https://csrc.nist.gov/publications/detail/nistir/8214/final ◮ NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19 ◮ Forum: https://groups.google.com/a/list.nist.gov/forum/#!forum/tc-forum (register for announcements; we can add your email if you send us a request)

Word cloud based on the NISTIR 8214

29/30

slide-136
SLIDE 136
  • 6. Final remarks

Thank you for your attention

◮ Project webpage: https://csrc.nist.gov/Projects/Threshold-Cryptography ◮ Project email adress: threshold-crypto@nist.gov ◮ NISTIR 8214: https://csrc.nist.gov/publications/detail/nistir/8214/final ◮ NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19 ◮ Forum: https://groups.google.com/a/list.nist.gov/forum/#!forum/tc-forum (register for announcements; we can add your email if you send us a request)

Word cloud based on the NISTIR 8214

Presentation at the International Cryptographic Module Conference May 16, 2019 @ Vancouver, Canada

29/30

slide-137
SLIDE 137
  • 6. Final remarks

Thank you for your attention

◮ Project webpage: https://csrc.nist.gov/Projects/Threshold-Cryptography ◮ Project email adress: threshold-crypto@nist.gov ◮ NISTIR 8214: https://csrc.nist.gov/publications/detail/nistir/8214/final ◮ NTCW webpage: https://csrc.nist.gov/Events/2019/NTCW19 ◮ Forum: https://groups.google.com/a/list.nist.gov/forum/#!forum/tc-forum (register for announcements; we can add your email if you send us a request)

Word cloud based on the NISTIR 8214

Presentation at the International Cryptographic Module Conference May 16, 2019 @ Vancouver, Canada

  • Disclaimer. Opinions expressed in this presentation are from the author(s) and are not to be construed as official or as views of the U.S. Department of Commerce. The

identification of any commercial product or trade names in this presentation does not imply endorsement of recommendation by NIST, nor is it intended to imply that the material or equipment identified are necessarily the best available for the purpose.

  • Disclaimer. Some external-source images and cliparts were included/adapted in this presentation with the expectation of such use constituting licensed and/or fair use.

29/30

slide-138
SLIDE 138
  • 6. Final remarks

References

[BB12]

  • L. T. A. N. Brand˜

ao and A. N. Bessani. On the reliability and availability of replicated and rejuvenating systems under stealth attacks and intrusions. Journal of the Brazilian Computer Society, 18(1):61–80, 2012. DOI:10.1007/s13173-012-0062-x. [BDL97]

  • D. Boneh, R. A. DeMillo, and R. J. Lipton. On the Importance of Checking Cryptographic Protocols for Faults. In W. Fumy (ed.), Advances in Cryptology — EUROCRYPT

’97, pages 37–51, Berlin, Heidelberg, 1997. Springer Berlin Heidelberg. DOI:10.1007/3-540-69053-0˙4. [BMV18]

  • L. T. A. N. Brand˜

ao, N. Mouha, and A. Vassilev. Threshold Schemes for Cryptographic Primitives — Challenges and Opportunities in Standardization and Validation of Threshold Cryptography. Draft NISTIR 8214, July 2018. [BMW+18]

  • J. v. Bulck, M. Minkin, O. Weisse, D. Genkin, B. Kasikci, F

. Piessens, M. Silberstein, T. F . Wenisch, Y. Yarom, and R. Strackx. Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution. In 27th USENIX Security Symposium (USENIX Security 18), page 991–1008, Baltimore, MD, 2018. USENIX Association. [BN06]

  • M. Bellare and G. Neven. Multi-signatures in the Plain public-Key Model and a General Forking Lemma. In Proceedings of the 13th ACM Conference on Computer and

Communications Security, CCS ’06, pages 390–399, New York, NY, USA, 2006. ACM. DOI:10.1145/1180405.1180453. [Cha00]

  • G. Chaucer. The Ten Commandments of Love, 1340–1400. See “For three may kepe counseil if twain be away!” in the “Secretnesse” stanza of the poem.

https://sites.fas.harvard.edu/ chaucer/special/lifemann/love/ten-comm.html. Accessed: July 2018. [DLK+14]

  • Z. Durumeric, F

. Li, J. Kasten, J. Amann, J. Beekman, M. Payer, N. Weaver, D. Adrian, V. Paxson, M. Bailey, and J. A. Halderman. The Matter of Heartbleed. In Proceedings

  • f the 2014 Conference on Internet Measurement Conference, IMC ’14, pages 475–488, New York, NY, USA, 2014. ACM. DOI:10.1145/2663716.2663755.

[Don13]

  • D. Donzai. Using Cold Boot Attacks and Other Forensic Techniques in Penetration Tests, 2013.

https://www.ethicalhacker.net/features/root/using-cold-boot-attacks-forensic-techniques-penetration-tests/. Accessed: July 2018. [Gro16]

  • C. T. Group. NIST Cryptographic Standards and Guidelines Development Process. NISTIR 7977, March 2016. DOI:10.6028/NIST.IR.7977.

[HSH+09]

  • J. A. Halderman, S. D. Schoen, N. Heninger, W. Clarkson, W. Paul, J. A. Calandrino, A. J. Feldman, J. Appelbaum, and E. W. Felten. Lest We Remember: Cold-boot

Attacks on Encryption Keys. Commun. ACM, 52(5):91–98, May 2009. DOI:10.1145/1506409.1506429. [KGG+18] P . Kocher, D. Genkin, D. Gruss, W. Haas, M. Hamburg, M. Lipp, S. Mangard, T. Prescher, M. Schwarz, and Y. Yarom. Spectre Attacks: Exploiting Speculative Execution. ArXiv e-prints, January 2018. arXiv:1801.01203. [LSG+18]

  • M. Lipp, M. Schwarz, D. Gruss, T. Prescher, W. Haas, S. Mangard, P

. Kocher, D. Genkin, Y. Yarom, and M. Hamburg. Meltdown. ArXiv e-prints, jan 2018. arXiv:1801.01207. [MDS19]

  • MDS. RIDL and Fallout: MDS attacks, 2019. https://mdsattacks.com/.

[NIS01]

  • NIST. Security Requirements for Cryptographic Modules, Federal Information Processing Standard (FIPS) 140-2, 2001. DOI:10.6028/NIST.FIPS.140-2.

[RSA78]

  • R. L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2):120–126, 1978.

DOI:10.1145/359340.359342. [RSWO17]

  • E. Ronen., A. Shamir, A.-O. Weingarten, and C. O’Flynn. IoT Goes Nuclear: Creating a ZigBee Chain Reaction. IEEE Symposium on Security and Privacy, pages 195–212,
  • 2017. DOI:10.1109/SP

.2017.14. [Sau34]

  • R. Saunders. Poor Richard’s Almanack — 1735. Benjamin Franklin, 1734.

[Sch90]

  • C. P

. Schnorr. Efficient Identification and Signatures for Smart Cards. In G. Brassard (ed.), Advances in Cryptology — CRYPTO’ 89 Proceedings, pages 239–252, New York, NY, 1990. Springer New York. DOI:10.1007/0-387-34805-0˙22. [SH07] J.-M. Schmidt and M. Hutter. Optical and EM Fault-Attacks on CRT-based RSA: Concrete Results, pages 61–67. Verlag der Technischen Universit¨ at Graz, 2007. [Sha97]

  • W. Shakespeare. An excellent conceited Tragedie of Romeo and Juliet. Printed by John Danter, London, 1597.

[Sha79]

  • A. Shamir. How to Share a Secret. Communications of the ACM, 22(11):612–613, Nov 1979. DOI:10.1145/359168.359176.

[Sho00]

  • V. Shoup. Practical Threshold Signatures. In B. Preneel (ed.), Advances in Cryptology — EUROCRYPT 2000, pages 207–220, Berlin, Heidelberg, 2000. Springer Berlin
  • Heidelberg. DOI:10.1007/3-540-45539-6˙15.

[tC96]

  • U. S. 104th Congress. Information Technology Management Reform Act. Public Law 104–106, Section 5131, 1996. https://www.dol.gov/ocfo/media/regs/ITMRA.pdf.

[WBM+18]

  • O. Weisse, J. v. Bulck, M. Minkin, D. Genkin, B. Kasikci, F

. Piessens, M. Silberstein, R. Strackx, T. F . Wenisch, and Y. Yarom. Foreshadow-NG: Breaking the Virtual Memory Abstraction with Transient Out-of-Order Execution. Technical Report, 2018.

30/30

slide-139
SLIDE 139
  • 7. Extra slides

Extra slides

Next follow some extra slides

Extra slides

slide-140
SLIDE 140
  • 7. Extra slides

Reliability (R) — one metric of security

Probability that a security property (e.g., secrecy) never fails during a mission time

Time normalized: τ = 1 is the expected time to failure (ETTF) of a node

◗ ❯

Extra slide 1/4

slide-141
SLIDE 141
  • 7. Extra slides

Reliability (R) — one metric of security

Probability that a security property (e.g., secrecy) never fails during a mission time A possible model: each node fails (independently) with constant rate probability

0.0 0.5 1.0 1.5 2.0 τ R 0.2 0.4 0.6 0.8 1.0 0.0

[BB12] Time normalized: τ = 1 is the expected time to failure (ETTF) of a node

Curve

R of key-secrecy in a n f τmax ◗ 1-out-of-1 sig-scheme 1 — ❯

Extra slide 1/4

slide-142
SLIDE 142
  • 7. Extra slides

Reliability (R) — one metric of security

Probability that a security property (e.g., secrecy) never fails during a mission time A possible model: each node fails (independently) with constant rate probability

0.0 0.5 1.0 1.5 2.0 τ R 0.2 0.4 0.6 0.8 1.0 0.0

[BB12] Time normalized: τ = 1 is the expected time to failure (ETTF) of a node

Curve

R of key-secrecy in a n f τmax ◗ 1-out-of-1 sig-scheme 1 — ❯ 2-out-of-3 sig-scheme 3 1 0.693 τmax = max

  • t : Rn

f (t) > R1 0(t)

  • Extra slide 1/4
slide-143
SLIDE 143
  • 7. Extra slides

Reliability (R) — one metric of security

Probability that a security property (e.g., secrecy) never fails during a mission time A possible model: each node fails (independently) with constant rate probability

0.0 0.5 1.0 1.5 2.0 τ R 0.2 0.4 0.6 0.8 1.0 0.0

[BB12] Time normalized: τ = 1 is the expected time to failure (ETTF) of a node

Curve

R of key-secrecy in a n f τmax ◗ 1-out-of-1 sig-scheme 1 — ❯ 2-out-of-3 sig-scheme 3 1 0.693 τmax = max

  • t : Rn

f (t) > R1 0(t)

  • Reliability can be degraded when increasing the fault-tolerance threshold f

Extra slide 1/4

slide-144
SLIDE 144
  • 7. Extra slides

Reliability (R) — one metric of security

Probability that a security property (e.g., secrecy) never fails during a mission time A possible model: each node fails (independently) with constant rate probability

0.0 0.5 1.0 1.5 2.0 τ R 0.2 0.4 0.6 0.8 1.0 0.0

[BB12] Time normalized: τ = 1 is the expected time to failure (ETTF) of a node

Curve

R of key-secrecy in a n f τmax ◗ 1-out-of-1 sig-scheme 1 — ❯ 2-out-of-3 sig-scheme 3 1 0.693 τmax = max

  • t : Rn

f (t) > R1 0(t)

  • Reliability can be degraded when increasing the fault-tolerance threshold f

Note: rejuvenation of nodes can attenuate the reliability-degradation

Extra slide 1/4

slide-145
SLIDE 145
  • 7. Extra slides

Another model

What if all nodes are compromised (e.g., leaky) from the start?

Extra slide 2/4

slide-146
SLIDE 146
  • 7. Extra slides

Another model

What if all nodes are compromised (e.g., leaky) from the start? Threshold scheme may still be effective, if it increases the cost of exploitation!

(e.g., if exploiting a leakage vulnerability requires exponential number of traces for high-order Differential Power Analysis)

  • penclipart.org/detail/172330

Extra slide 2/4

slide-147
SLIDE 147
  • 7. Extra slides

Another model

What if all nodes are compromised (e.g., leaky) from the start? Threshold scheme may still be effective, if it increases the cost of exploitation!

(e.g., if exploiting a leakage vulnerability requires exponential number of traces for high-order Differential Power Analysis)

  • penclipart.org/detail/172330

Challenge questions: ◮ which models are realistic / match state-of-the-art attacks? ◮ what concrete parameters (e.g., n) thwart real attacks?

Extra slide 2/4

slide-148
SLIDE 148
  • 7. Extra slides

Two hints

Extra slide 3/4

slide-149
SLIDE 149
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00]

Extra slide 3/4

slide-150
SLIDE 150
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining (slightly tweaked) sub-signatures.

Extra slide 3/4

slide-151
SLIDE 151
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining

(slightly tweaked) sub-signatures.

◮ Robust: sub-signers prove (efficient NIZKP) correct sub-signatures.

(NIZK = non-interactive zero-knowledge proof of knowledge) Extra slide 3/4

slide-152
SLIDE 152
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining

(slightly tweaked) sub-signatures.

◮ Robust: sub-signers prove (efficient NIZKP) correct sub-signatures.

(NIZK = non-interactive zero-knowledge proof of knowledge)

Threshold Schnorr (multi-)signature [BN06]

Extra slide 3/4

slide-153
SLIDE 153
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining

(slightly tweaked) sub-signatures.

◮ Robust: sub-signers prove (efficient NIZKP) correct sub-signatures.

(NIZK = non-interactive zero-knowledge proof of knowledge)

Threshold Schnorr (multi-)signature [BN06] ◮ Different public key per signer → no dealer, dynamic signer-set

Extra slide 3/4

slide-154
SLIDE 154
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining

(slightly tweaked) sub-signatures.

◮ Robust: sub-signers prove (efficient NIZKP) correct sub-signatures.

(NIZK = non-interactive zero-knowledge proof of knowledge)

Threshold Schnorr (multi-)signature [BN06] ◮ Different public key per signer → no dealer, dynamic signer-set ◮ Verifier decides the threshold and knows who signed

Extra slide 3/4

slide-155
SLIDE 155
  • 7. Extra slides

Two hints

Robust k-out-of-n Threshold RSA Signature [Sho00] ◮ Works iff ≥ k parties are available: homomorphism allows combining

(slightly tweaked) sub-signatures.

◮ Robust: sub-signers prove (efficient NIZKP) correct sub-signatures.

(NIZK = non-interactive zero-knowledge proof of knowledge)

Threshold Schnorr (multi-)signature [BN06] ◮ Different public key per signer → no dealer, dynamic signer-set ◮ Verifier decides the threshold and knows who signed ◮ DL-based homomorphism → size equal to 1 signature

(DL = Discrete-Logarithm) Extra slide 3/4

slide-156
SLIDE 156
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm) Extra slide 4/4

slide-157
SLIDE 157
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks)

Extra slide 4/4

slide-158
SLIDE 158
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-159
SLIDE 159
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-160
SLIDE 160
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Sign x(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ Verify X(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Sign x,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-161
SLIDE 161
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-162
SLIDE 162
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-163
SLIDE 163
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Sign x (m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Sign x,L (m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-164
SLIDE 164
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-165
SLIDE 165
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi ||R||I ||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-166
SLIDE 166
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-167
SLIDE 167
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-168
SLIDE 168
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-169
SLIDE 169
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

Extra slide 4/4

slide-170
SLIDE 170
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features:

Extra slide 4/4

slide-171
SLIDE 171
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features: no dealer;

Extra slide 4/4

slide-172
SLIDE 172
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features: no dealer; dynamic threshold (verifier decides what is

acceptable);

Extra slide 4/4

slide-173
SLIDE 173
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features: no dealer; dynamic threshold (verifier decides what is

acceptable); dynamic set of signers;

Extra slide 4/4

slide-174
SLIDE 174
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features: no dealer; dynamic threshold (verifier decides what is

acceptable); dynamic set of signers; verifying ⇒ knowing who signed.

Extra slide 4/4

slide-175
SLIDE 175
  • 7. Extra slides

A DL-based example: threshold Schnorr signature

(DL = Discrete-Logarithm)

(Next: ignore details — just making comparative remarks) Non-threshold scheme [Sch90] ◮ Space: G, g (group, generator) ◮ KeyGen (by signer): ◮ Secret SignKey: x ∈ Zq ◮ Public VerKey: X = g−x ◮ Signx(m) by signer: ◮ R = gr ◮ c =q H(R||m) ◮ s =q r + x · c ◮ output σ = (s, c) ◮ VerifyX(σ, m): ◮ calculate R = gsXc ◮ check H(R||m) =? c

A multi-signature scheme [BN06]∗

◮ Space: same G, g ◮ KeyGen (by parties i = 1, ..., n): ◮ Secret SignKey: xi ∈ Zq ◮ Public VerKey: Xi = gxi ◮ Signx,L(m) by subset I ⊆ {1, ..., n} ◮ R =

i∈I Ri = i∈I gri

◮ ci =q H(Xi||R||I||m) ◮ s =q

  • i∈L si =

i∈I(ri + xici)

◮ output σ = (R, s) ◮ Verify(σ, m): ◮ calculate ci = H(Xi||R||M||I||m) ◮ check gs =? R

i∈I Xi ci

∗Some features: no dealer; dynamic threshold (verifier decides what is

acceptable); dynamic set of signers; verifying ⇒ knowing who signed.

Extra slide 4/4