| Input: 64-bit known keystream KES and initial state candidates. |
| Initialize clock counters: c2 = 0 and c3 = 0. |
| Repeat for each instance of state candidate |
| step1: computation based on majority rule |
| if all three registers are clocked then compute REG2[20] using equation (5), increment counters c2++, c3++, and go to step2 |
| else if registers REG1 and REG2 are clocked then compute REG2[20] using equation (6), increment counter c2++, and go to step3 |
| else if registers REG2 and REG3 are clocked then compute REG2[20] using equation (7), increment c2++, c3++, and go to step2 |
| else increase counter c3++, and go to step2 |
| end if |
| step2: |
| if c3 < 8 then |
| assign both possibility (i.e., 0 and 1) to REG3[20] and REG3[7] by replicating REG3 |
| else if 8 ≤c3 < 10 then assign both possibility to REG3[20] by replicating REG3 |
| end if |
| step3: |
| if clocking bit of REG2 is known and unknown for REG3 then make two replicas: copy 1: REG3[10] = 0; copy 2: REG3[10] = 1; |
| else if clocking bit of REG3 is known and unknown for REG2 then make two replicas: |
| copy 1: REG2[10] = 0; copy 2: REG2[10] = 1; |
| else make four replicas: |
| copy 1: REG2[10] = REG3[10] = 0; copy 2: REG2[10] = REG3[10] = 1; |
| copy 3: REG2[10] = 0, REG3[10] = 1; copy 4: REG2[10] = 1, REG3[10] = 0; |
| end if |
| Until (c2 ≥ 10 and c3 ≥ 10) |