ZK with Rubiks Cubes and Non-Abelian Groups Emmanuel Volte - Valrie - - PowerPoint PPT Presentation

zk with rubik s cubes and non abelian groups
SMART_READER_LITE
LIVE PREVIEW

ZK with Rubiks Cubes and Non-Abelian Groups Emmanuel Volte - Valrie - - PowerPoint PPT Presentation

ZK with Rubiks Cubes and Non-Abelian Groups Emmanuel Volte - Valrie Nachef - Jacques Patarin 20 novembre 2013 ZK with Rubiks Cubes and Non-Abelian Groups Overview Authentication ZK with Interactive Proofs Problems based on Rubiks


slide-1
SLIDE 1

ZK with Rubik’s Cubes and Non-Abelian Groups

Emmanuel Volte - Valérie Nachef - Jacques Patarin 20 novembre 2013

slide-2
SLIDE 2

ZK with Rubik’s Cubes and Non-Abelian Groups

Overview

Authentication ZK with Interactive Proofs Problems based on Rubik’s cube

  • r Non Abelian Groups
slide-3
SLIDE 3

ZK with Rubik’s Cubes and Non-Abelian Groups

ZK with Interactive Proofs

slide-4
SLIDE 4

ZK with Rubik’s Cubes and Non-Abelian Groups

Main motivations

1 Authentication with new kind of problems. 2 Compact size (fit in a pocket). 3 Hardware efficiency.

slide-5
SLIDE 5

ZK with Rubik’s Cubes and Non-Abelian Groups

Outline

1

Problems of factorization in Non-Abelian Groups Mathematical Notations Some Difficult Problems in Non-Abelian Groups

2

Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors Repositioning Group Protocol

3

Generalizations Rubik’s Cube 5 × 5 × 5 Any Set of Generators Number of Moves Variable S41

slide-6
SLIDE 6

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Mathematical Notations

Sn, Generators

Symmetric Group : SX = group of permutation of a finite set X. If X = {1; 2; . . . ; n} then SX = Sn. ∀σ, σ′ ∈ SX, σσ′ = σ′ ◦ σ. ... : G group, (g1, g2, . . . , gα) ∈ G α g1, g2, . . . , gα =

  • H subgroup of G

g1,g2,...gα∈H

H Set of Generators : {g1, . . . , gα} such that g1, g2, . . . , gα = G

slide-7
SLIDE 7

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Mathematical Notations

Group of the Rubik’s Cube

1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U 1 2 3 4 U 5 6 7 8 9 1011 12 L 13 141516 171819 20 F 21 222324 252627 28 R 29 303132 333435 36 B 37 383940 414243 44 D 45 464748 U

slide-8
SLIDE 8

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Mathematical Notations

Generators of the Rubik’s Cube’s Group

Generators F = ( 17,19,24,22 )( 18,21,23,20 )( 6,25,43,16)(7,28,42,13 )( 8,30,41,11 ) B = (33,35,40,38)(34,37,39,36)(3,9,46,32)(2,12,47,29)(1,14,48,27) L = (9,11,16,14)(10,13,15,12)(1,17,41,40)(4,20,44,37)(6,22,46,35) R = ( 25,27,32,30 )( 26,29,31,28 )( 3,38,43,19 )( 5,36,45,21 )( 8,33,48,24 ) U = (1,3,8,6)(2,5,7,4)(9,33,25,17)(10,34,26,18)(11,35,27,19) D = ( 41, 43, 48, 46 )( 42,45,47,44 )( 14,22,30,38 )( 15,23,31,39 )( 16,24,32,40 ) Rubik’s cube group GR = F, B, L, R, U, D ⊂ S48.

slide-9
SLIDE 9

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Some Difficult Problems in Non-Abelian Groups

General Notations for the Problems

G : Non-Abelian Group F ⊂ G : set of generators. F = {f1; f2; . . . ; fα}, α ≥ 2 id ∈ G : initial position

slide-10
SLIDE 10

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Some Difficult Problems in Non-Abelian Groups

Two Difficult Problems

Problem 1 : solve the puzzle. (not difficult) Given x0 ∈ X, find d ∈ N∗, and (i1, i2, . . . , id) ∈ {1; 2; . . . ; α}d so that x0fi1fi2 . . . fid = id Problem 2 : solved the puzzle with a fixed number of moves. Given d ∈ N∗, x0 ∈ X, find (i1, i2, . . . , id) ∈ {1; 2; . . . ; α}d so that x0fi1fi2 . . . fid = id Problem 3 : go from one position to another with a fixed number of moves. Given d ∈ N∗, (x0, xd) ∈ X 2, find (i1, i2, . . . , id) ∈ {1; 2; . . . ; α}d so that x0fi1fi2 . . . fid = xd

slide-11
SLIDE 11

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Some Difficult Problems in Non-Abelian Groups

Complexity of problem 2

Complexity = O(dαd/2)

slide-12
SLIDE 12

ZK with Rubik’s Cubes and Non-Abelian Groups Problems of factorization in Non-Abelian Groups Some Difficult Problems in Non-Abelian Groups

How to choose d

Rubik’s 3 × 3 × 3 God’s number : 20 moves to unscramble from any position. |GR| ≈ 261. α = 6 and d = 24 since 624 ≈ 260 ⇒ security in about 230 computations. General case We want dαd/2 ≈ 280 and αd ≤ |G|. α 2 4 6 8 10 12 14 16 50 100 9240 (S41) d 146 74 58 50 46 42 40 38 28 24 12

slide-13
SLIDE 13

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

Alice’s Secret

Alice knows how to color a graph with 3 colors.

slide-14
SLIDE 14

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

Melting Colors at Random

− →

slide-15
SLIDE 15

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

Hiding Colors with Commitments

slide-16
SLIDE 16

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

Bob’s question

slide-17
SLIDE 17

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

Alice’s answer

slide-18
SLIDE 18

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Example of ZK with IP : 3 colors

ZK Principes

Correctness A legitimate prover is always accepted. Statistically Zero Knowledge There exists an efficient simulating algorithm U such that for every feasible Verifier strategy V , the distributions produced by the simulator and the proof protocol are statistically indistinguishable. Proof of zero knowledge with error knowledge α There is a knowledge extractor K and a polynomial Q such that : p = probability that K finds a valid witness for x using its access to a prover P∗, px = probability that P∗ convinces the honest verifier on x, if px > α, then p ≥ Q(px − α).

slide-19
SLIDE 19

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Repositioning Group

Conjugation

Definition Let G be a group. ∀(σ, τ) ∈ G 2, στ def = τ −1στ σG def = {σg|g ∈ G}. Proposition ∀(σ, σ′, τ, τ ′) ∈ G 4, (στ)τ ′ = σττ ′, στσ′τ = (σσ′)τ

slide-20
SLIDE 20

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Repositioning Group

Repositioning Group

Definition Let F = {f1, . . . , fα} ⊂ G, where G is a group. Any subgroup H such that f1H = {h−1f1h | h ∈ H} = F is called a repositioning group of F. Proposition If F has a repositioning group H then for τ ∈R H, ∀(i, j) ∈ {1; . . . ; α}2, P(fi τ = fj) = 1 α.

slide-21
SLIDE 21

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Repositioning Group

Repositioning Group of the Rubik’s Cube

Definition Let H = h1, h2 where h1 = RL−1(2, 39, 42, 18)(7, 34, 47, 23) h2 = UD−1(13, 37, 29, 21)(12, 36, 28, 20) Proposition If f ∈R F and τ ∈R H, then f τ is a random uniform variable in F. x0

f

− − − − → x1

τ

 

  • τ

 

  • x0τ

f τ

− − − − → x1τ

slide-22
SLIDE 22

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Protocol (notations)

Public : A group G. A set F = {f1, . . . , fα} ⊂ G of generators of GR A repositioning group H ⊂ G such that f1H = F. d ∈ N, d ≥ 3 G ′ subgroup of G generated by F and H. G ′ = F, H. K a set of keys, |K| ≥ 280. Secret key : i1, i2, . . . , id ∈ {1, 2, . . . , α}. Public key : x0 = (fi1fi2 . . . fid)−1

slide-23
SLIDE 23

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Protocol (first phase) :

Prover Verifier Picks τ ∈R H, σ0 ∈R G ′, k∗, k0, k1, . . . , kd ∈R K Computes ∀j ∈ {1, . . . , d}, σj = (fij

τ)−1σj−1

c0 = Comk∗(τ) ∀i ∈ {0, . . . d}, si = Comki(σi) c0, s0, . . . , sd − − − − − − − − − →

slide-24
SLIDE 24

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Illustration

x0

fi1

− − − − → x1

fi2

− − − − → . . . xd−1

fid

− − − − → xd = id

τ

 

  • τ

 

  • τ

 

  • τ

 

  • x0τ

fi1

τ

− − − − →

σ0σ1−1

x1τ

fi2

τ

− − − − →

σ1σ2−1

. . . xd−1τ

fid

τ

− − − − − − →

σd−1σd −1

τ

slide-25
SLIDE 25

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Protocol (second and third phase, q = 0) :

Prover Verifier q Picks q ∈R {0, . . . d} ← − − − − − − − − − τ, σ0 Case q = 0 − − − − − − − − − → Computes k∗, k0, kd σd = τ −1x0τσ0 Checks τ ∈ H, Comk∗(τ) = c0, Comk0(σ0) = s0, Comkd(σd) = sd If all tests ok then accepts else rejects.

slide-26
SLIDE 26

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Partial Verifications

q = 0 x0 xd = id

τ

 

  • τ −1

 x0τ − − − − − − − − − − − − − − − − − − − − − − − − − − − − →

σ0σd −1

τ q = 0 (τ is not revealed)

fiq

− − − − →

τ

 

  • τ

 

  • fiq

τ

− − − − − − →

σq−1σq−1

slide-27
SLIDE 27

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Protocol (second and third phase, q = 0) :

Prover Verifier q Picks q ∈R {0, . . . d} ← − − − − − − − − − fiq

τ, σq

Case q = 0 − − − − − − − − − → Computes kq−1, kq σq−1 = fiq

τσq

Checks fiq

τ ∈ F,

sq−1 = Comkq−1(σq−1) sq = Comkq(σq) If all tests ok then accepts else rejects.

slide-28
SLIDE 28

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Proof : Correctness and ZK

Correctness Obvious. ZK with error knowledge

d d+1

d + 1 possible questions. All answers correct ⇒ we can extract a solution. So, a false prover can at most answer correctly to d questions.

slide-29
SLIDE 29

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Proof : statistically ZK

We can build a simulator with a distribution close to a legitimate prover’s one. The simulator can answer to all questions but one (we choose this one).

slide-30
SLIDE 30

ZK with Rubik’s Cubes and Non-Abelian Groups Protocol of ZK with Rubik’s Cube 3 × 3 × 3 Protocol

Choice of r (number of rounds)

  • d

d + 1 r ≈ 2−30 α 6 (3 × 3 × 3) 12 (5 × 5 × 5) 9240 (S41) d 24 (∗) 48 12 r 500 988 261 (∗) security in 230 computations only.

slide-31
SLIDE 31

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations Rubik’s Cube 5 × 5 × 5

Non-existence of a repositioning group

GR ≈ 2247, F = {U, D, F, B, R, L, U1, D1, F1, B1, R1, L1}. U and U1 are not conjugate !

slide-32
SLIDE 32

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations Rubik’s Cube 5 × 5 × 5

One solution

Extension group Duplicate the cube. Consider F = {(U, U1), (D, D1), . . . , (L1, L)} and GR = F ⊂ GR × GR. |GR| ≈ 2364. H = (h1, h1), (h2, h2), e where e exchange the cubes.

slide-33
SLIDE 33

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations Any Set of Generators

Any set of generators

What we have G group F = {f1, f2 . . . , fn} set of generators : F = G Construction of a repositioning group We work first with G α. Let fi = (fi, fi+1, . . . , fα, f1, . . . , fi−1) and F = {f1, . . . , fα} We define h ∈ G α such that ∀(a1, . . . , aα) ∈ G α, (a1, . . . , aα)h = (a2, . . . , aα, a1) Let G = h, f1, . . . , fα. Then H = h is a repositioning group of F in G.

slide-34
SLIDE 34

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations Number of Moves Variable

Finite factorisation

Problem 4 : solve the puzzle with a maximum number of moves Given d ∈ N∗, x0 ∈ X, find d′ ≤ d and (i1, i2, . . . , id′) ∈ {1; 2; . . . ; α}d′ so that x0fi1fi2 . . . fid′ = id Solution We add f0 = id in F and we use precedent construction !

slide-35
SLIDE 35

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations S41

A new puzzle called S41

In S41 we set : h = (1, 14, 39, 19, 31, 18, 37)(3, 36, 4, 23, 20, 34, 16, 25, 17, 26, 35) (5, 13, 30, 33)(6, 7, 10)(8, 24, 15, 38, 41, 27, 11, 9) (12, 40, 32, 21, 28)(22, 29) and f1 = (1, 11, 31, 6, 17, 34, 25, 24, 22, 12, 4, 28, 3, 14, 5, 27, 32, 13, 26, 8, 23, 2, 20, 41, 19, 10, 40, 15, 38, 16, 37, 39, 35, 21, 18) (7, 29, 36)(9, 30). Then H = h is a natural repositioning group of F = f1H.

slide-36
SLIDE 36

ZK with Rubik’s Cubes and Non-Abelian Groups Generalizations S41

Obrigado pela sua atenção !