353 |
% XXX check this again |
% XXX check this again |
354 |
($n, S'$) } |
($n, S'$) } |
355 |
& ${2^n}q'$ |
& ${2^n}q'$ |
356 |
& $b$ & $2s'+r'+hn$ |
& $b$ & $s'+r'+hn+h$ |
357 |
& $h$ & $h$ & |
& $h$ & $h$ & |
358 |
$({2^n}+1)c_0'+c_s' + 2^{n+1}-1$ & |
${2^n}c_0' + 2(2^n)-1$ & |
359 |
$c_s'$ & |
$c_s'$ & |
360 |
$2c_v'+n$ \\ |
$c_v'+n+1$ \\ |
361 |
\parbox{\sw}{Key boosting $(N, S')$ } |
\parbox{\sw}{Key boosting $(N, S')$ } |
362 |
& ${q'}^N$ & $b$ & $N(r'+s')$ & $r'$ & $h$ & |
& ${q'}^N$ & $b$ & $N(r'+s')$ & $r'$ & $h$ & |
363 |
$c_0'$ & $N(c_0'+c_s')$ & $Nc_v$ \\ |
$c_0'$ & $N(c_0'+c_s')$ & $Nc_v$ \\ |
586 |
`$2^n c_0$` and calculating the hash tree takes |
`$2^n c_0$` and calculating the hash tree takes |
587 |
`$2^{n+1}-1$` hash function invocations. |
`$2^{n+1}-1$` hash function invocations. |
588 |
|
|
589 |
|
The branches in the hash tree are stored for use |
590 |
|
when signing. |
591 |
|
|
592 |
- sign using one key: Sign with that private key, provide the |
- sign using one key: Sign with that private key, provide the |
593 |
corresponding public key, and provide the chain of hashes |
corresponding public key, and provide the chain of hashes |
594 |
from the hash tree's root to the public key. |
from the hash tree's root to the public key. |
596 |
|
|
597 |
- verify: verify signature with new public key, verify hash chain. |
- verify: verify signature with new public key, verify hash chain. |
598 |
|
|
599 |
Octuplet: `$({2^n}q', b, 2s'+r'+hn, h, h, |
Octuplet: `$({2^n}q', b, s'+r'+hn+h, h, h, |
600 |
({2^n}+1)c_0'+c_s' + 2^{n+1}-1, c_s', 2c_v'+n$` |
{2^n}c_0' + 2(2^n)-1, c_s', c_v'+n+1$` |
601 |
|
|
602 |
Efficiency of key boosting |
Efficiency of key boosting |
603 |
========================== |
========================== |