| Week 10 (rev. 2) |
| Professor M. J. Fischer | March 29 & 31, 2005 |
| Alice | Bob | ||
| 1. | Simultaneously choose a random isomorphic copy H of G0 and an isomorphism τ: G0 → H. | ||
| → H | |||
| 2. | ← b | Choose random b ∈ {0, 1}. | |
| 3. | If b=0, let σ = τ. | ||
| If b=1, let σ = τ°π−1. | → σ | Check σ(Gb) = H. |
| Alice | Bob | ||
| 1. | Choose random b ∈ {0, 1}. | ||
| Compute a random isomorphic copy H of Gb. | |||
| ← H | |||
| 2. | If H ≅ G0 let b′ = 0. | ||
| If H ≅ G1 let b′ = 1. | → b′ | Check b′ = b. |
| 1. | Choose a random value [^(b)] ∈ {0,1}. |
| 2. | Generate a valid random triple of the form (x, [^(b)], y). |
| 3. | Simulate Mallory up to the point where he requests a value from Alice. Pretend that Alice sent him x and continue. |
| 4. | Continue simulating Mallory until the point where Mallory is about to send a value b to Alice. |
| 5. | If b ≠ [^(b)], go back to step 1. Otherwise, continue. |
| 6. | Continue simulating Mallory up to the point where he requests another value from Alice. Pretend that Alice sent him y and continue. |
| 7. | Continue simulating Mallory until he halts with an output. |
| Alice | Bob | ||
| 1. | Choose random r ∈ Zn − {0}. | ||
| Choose random c ∈ {0,1}. | |||
| Compute x = (−1)c r2 mod n | → x | ||
| 2. | ← b1, …, bk. | Choose random b1, …, bk ∈ {0, 1}. | |
| 3. | Compute y = r s1b1 …skbk mod n. | → y | |
| 4. | Compute z = y2 v1b1 …vkbk mod n. | ||
| Check z ≡ ±x mod n and z ≠ 0. |
|
|