Week 11 (rev. 3) |
Professor M. J. Fischer | April 5 & 7, 2005 |
|
|
|
|
|
|
|
Alice | Bob | ||
To commit(b): | |||
1. | ← r. | Choose random string r. | |
2. | Choose random key k. | ||
Compute c = Ek(r·b). | → c | c is commitment. | |
To open(c): | |||
3. | Send k. | → k | Let r′·b′ = Dk(c). |
Check r′ = r. | |||
b′ is revealed bit. |
Alice | Bob | ||
To commit(b): | |||
1. | ← r1 | Choose random string r1. | |
2. | Choose random string r2. | ||
Compute c = H(r1 r2 b). | → c | c is commitment. | |
To open(c): | |||
3. | Send r2. | → r2 | Find b′ ∈ {0, 1} such that c = H(r1 r2 b′). |
If no such b′, then fail. | |||
Otherwise, b′ is revealed bit. |
Alice | Bob | ||
To commit(b): | |||
1. | ← r | Choose random string r ∈ {0,1}ρ. | |
2. | Choose random seed s. | ||
Let y = Gρ(s). | |||
If b=0 let c = y. | |||
If b=1 let c = y ⊕r. | → c | c is commitment. | |
To open(c): | |||
3. | Send s. | → s | Let y = Gρ(s). |
If c = y then reveal 0. | |||
If c = y ⊕r then reveal 1. | |||
Otherwise, fail. |
| (1) |
| (2) |
|
|
Alice | Bob | ||
To commit(b): | |||
1. | ← kB | Choose random kB ∈ KB. | |
2. | Choose random kA ∈ KA. | ||
Compute c = enclose(kA, kB, b). | → c | c is commitment. | |
To open(c): | |||
3. | Send kA. | → kA | Compute b = reveal(kA, kB, c). |
If b = φ, then fail. | |||
If b ≠ φ, then b is revealed bit. |
|
|