Sebery J.Cryptography.An introduction to computer security.1989
.pdf
|
|
10.2 Threshold Decryption |
361 |
||
|
|
|
(`) |
= f(`)(xr) of partici- |
|
that the participants from D want to recover a share sr |
|||||
|
2 P n D |
(`) |
|
|
|
pant Pr |
|
. Instead of revealing their shares to Pr |
(and compromising the |
||
secret), they randomize the polynomial f(`)(x) so sr |
stays the same. Finally, |
||||
they supply their shares of the randomized polynomial to Pr so Pr can recover
s(`) using the Lagrange interpolation formula.
r
The share recovery protocol has to be run for each lost share and involves all participants from the set D. It takes the following steps:
1.Each Pi 2 D selects a random polynomial Æi(x) of degree (t 1) over Zq such that Æi(xr) = 0.
2.Pi broadcasts shares to other participants from D, i.e. sends EKj (Æi(xj )) for
Pj 2 D. (`)
3.Pi ensembles his new share of the lost share, i.e. s0i = si + PPj2D Æi(xj) and broadcasts it to Pr (for instance by cryptogram EKr (s0i)).
4. Pr decrypts the cryptograms and uses the Lagrange interpolation to recon-
(`) |
|
D |
|
|
struct sr from the shares s0i |
of all participants from |
. |
||
|
||||
10.2 Threshold Decryption |
|
|
||
The (t; n) threshold decryption |
allows a group of n participants to extract |
|||
the message from a cryptogram only if the active subgroup B consists of t or more participants or B 2 . If the collaborating subgroup is smaller, it learns nothing about the message. The cryptogram is generated by a single sender and is assumed to be public.
10.2.1 ElGamal Threshold Decryption
The group decryption based on the ElGamal system was described by Desmedt and Frankel in [148]. The system is set up by the dealer, Don, who rst chooses a proper Galois eld GF (p) such that (q = p 1) is a Mersenne prime, p = 2` and discrete logarithm instances are intractable. Further, Don selects a primitive element g 2 GF (p) and a nonzero random integer k 2 GF (p). Next, Don computes y = gk and publishes the triple (g, p, y) as the public parameters of the system. The triple is stored in read-only White Pages so any potential sender has the access to the authentic parameters of the given receiver. Here the receiver is a group P of n participants. The dealer then uses the Shamir (t; n)
362 10 GROUP ORIENTED CRYPTOGRAPHY
threshold scheme over GF (p) to distribute the secret k among the participants. The scheme uses f(x) with the public sequence of x1; : : : ; xn. The shares are si = f(xi) for i = 1; : : : n, and the secret k = f (0).
Suppose that a sender Sue wants to send a message m 2 GF (p) to the group P. Sue rst collects the public parameters from White Pages, chooses at random an integer r 2 Zq and computes the cryptogram c = (gr; myr) for the message m.
Assume that B 2 is the authorized subset so it contains at least t participants. Let it be B = fP1; : : : ; Ptg. The rst stage of decryption is executed separately by each participant Pi 2 B. Pi takes the rst part of the cryptogram and computes (gr)si in GF (p). The results are sent to the combiner.
Having t values grsi , Clara \corrects" the values by computing
(grsi )bi ;
where the bis are computed from the public elements xj of the active set B and |
||||||||||
bi |
|
|
|
|
|
xj |
|
|
mod q: |
|
Pj2B;j6=i |
xj |
|
xi |
|||||||
|
Y |
|
|
|
|
|
|
|||
Then Clara computes |
QPi2B |
(grsi)bi = gkr = yr, and decrypts the cryptogram |
||||||||
m my |
r |
y |
r |
|
|
|
||||
using the multiplicative inverse y r in GF (p). |
||||||||||
Note that shares are never communicated in clear to the combiner. Instead values (gr)si are transmitted via a public channel to Clara. The scheme can be used repeatedly. Assuming that the ElGamal system is secure, the threshold ElGamal is also secure.
(t; n) ElGamal threshold decryption
Initialization: 1. The dealer selects a big enough integer p = 2` so q = p 1 is a Mersenne prime. Next, Don chooses two nonzero integers g; k 2R GF (q), and computes y = gk. Don deposits (p; g; y) in White Pages.
2. Don designs a (t; n) Shamir scheme over GF (p) with a polynomial f (x) of degree at most (t 1). The secret k = f(0). Shares si = f(xi) are communicated to Pi 2 P secretly (xi are public i = 1; : : : ; n).
Encryption: Sue takes the triple of authentic elements from White Pages. For
a message m 2 Zq , she prepares the cryptogram C = (gr; myr) where
r 2R Zq .
|
10.2 Threshold Decryption |
363 |
Decryption: 1. Each participant Pi |
2 B; jBj = t, calculates (gr)si and sends |
|
the result to the combiner. |
|
|
2. The combiner rst nds out yr QPi2B(grsi )bi and m myr y r
The above scheme can be modi ed to work in GF (p) where p is a large prime with p 1 = 2q where q is prime.
Let us consider an example. Suppose the modulus is p = 263 with q = 131 and a primitive element is g = 193. Assume further that the secret k = 161 and y = gk 257 mod p. The triple (g; p; y) is public. An instance of (3; 4) Shamir secret sharing is de ned by the polynomial f (x) = 161 + 88x + 211x2 over GF (p). Participants are P = fP1; P2; P3; P4g with public coordinates x1 = 1, x2 = 2, x3 = 3 and x4 = 4. Their shares are s1 = f(1) = 198, s2 = f(2) = 133, s3 = f(3) = 228, s1 = f(1) = 221, and k = f(0) = 161. To send a message
m = 157, Sue selects a random integer r = 95 and forwards the cryptogram c = (gr; myr) = (247; 139) over GF (p).
|
Assume that our active set is B = |
fP1; P2; P4g. On arrival of the cryp- |
|||||||||||||
togram c, |
each participant Pi 2 B their |
|
correction bi. The corrections are: |
||||||||||||
|
|
|
|
x2 |
|
|
x4 |
|
|
|
x1 |
|
|
x4 |
|
b1 = |
|
|
x2 x1 x4 x1 = 90 mod 131, b2 = |
|
x1 x2 x4 x2 = 260 mod 131, b4 = |
||||||||||
|
x1 |
|
|
x2 |
= 175 mod 131. Next each Pi |
2 B takes the rst part of the cryp- |
|||||||||
|
x1 x4 |
|
x2 x4 |
||||||||||||
togram and nds grsibi so |
|
|
|
|
|
|
|
||||||||
|
grs1b1 49 (mod p); grs2b2 102 |
(mod p); |
grs4b4 155 (mod p): |
||||||||||||
The above integers are communicated to Clara who multiplies them, nds yr 155 mod p and retrieves the message m = 157.
10.2.2 RSA Threshold Decryption
Desmedt and Frankel [149] showed how the RSA public key cryptosystem can be combined with the Shamir scheme for group decryption.
All public computations in RSA |
are done modulo N where |
N = pq |
(p; q are strong primes, i.e. p 1 = |
2p0 and q 1 = 2p0 where |
p0 and q0 |
are primes). The secret computations are done in the multiplicative (cyclic) |
||
group of invertible elements of the |
ring ZN , and can be performed when |
|
(N) = lcm(p 1; q 1) = 2p0q0 is known. Suppose we use a (t; n) Shamir threshold scheme de ned by a polynomial f(x) of the degree at most (t 1). The polynomial can be reconstructed by every subset B of t participants using the Lagrange interpolation formula
364 10 GROUP ORIENTED CRYPTOGRAPHY
f (x) = f(xi) |
|
(x xj) |
mod (N): |
(10.4) |
||
PXi2B |
Y |
(xi |
|
xj ) |
|
|
|
j=6i |
|
|
|
|
|
|
Pj2B |
|
|
|
|
|
Computations modulo (N) can be done by applying the Chinese Remainder Theorem. This involves calculations for the following three moduli: 2, p0, and q0. Multiplicative inverses of (xi xj ) in Equation (10.4) exist only if they are coprime to f2; p0; q0g. It is impossible to satisfy these conditions when the number of participants is greater than two. For example, it is impossible to select three x1; x2; x3 such that all their di erences are odd. The way out is
to set f (xi) (i = 1; : : : ; n) and all di erences (xi; xj) (i 6= j) to even numbers, so that all computations yield integers that can be represented as vectors: a = (0 mod 2; a mod p0; a mod q0). This implies that all xi (i = 1; : : : ; n) have to be
odd (including the coordinate for the secret). Therefore we assume that the |
||||||||||||||
secret is f( 1), instead of the usual 0. |
|
|
|
|
||||||||||
Consider the denominator of Equation (10.4) |
|
|||||||||||||
Y |
|
|
1 |
|
|
Pj2PnB;j6=i(xi xj ) |
|
|
||||||
|
|
|
|
|
Q |
|
|
|
|
|
||||
Pj 2B;j6=i |
(xi |
|
|
xj) = Q |
Pj2P |
;j6=i(xi |
|
xj) |
: |
|
||||
Note that i = |
Q B |
|
(xi xj ) does not depend upon the currently active |
|||||||||||
|
Pj2P;j6=i |
|||||||||||||
set of participants and is known to the dealer at the setup time. So Equation |
||||||||||||||
(10.4) can be equivalently represented as |
|
|
|
|||||||||||
|
X |
|
f |
(xi) |
Y |
(xi xj ) P |
Y |
(10.5) |
||||||
|
|
|
i |
|||||||||||
f (x) = P |
2B |
|
|
Pj2PnB;j6=i |
2B;j=6i(x xj) mod (N): |
|||||||||
|
i |
|
|
|
|
|
|
|
j |
|
|
|
||
Now we are ready to describe the RSA threshold decryption. The dealer rst designs an RSA system with public elements: the modulus N and the public exponent e. The secret key is d and e d = 1 mod (N). Don next sets up a Shamir (t; n) threshold scheme with polynomial f(x). All public coordinates xi
are odd numbers. The secret d 1 = f ( 1) and all shares si = |
f(xi) |
are even |
i |
||
numbers. The shares are distributed to participants of P secretly. |
|
|
For a message m 2 ZN , a sender creates the cryptogram c = mK |
(mod N) |
|
and broadcast it to the group. On receipt, each participant Pi of a subgroup B = fP1; : : : ; Ptg 2 computes
ci csi mod N
and dispatches the result to a trusted combiner.
366 10 GROUP ORIENTED CRYPTOGRAPHY
Clearly, i does not have its inverse modulo 110 as they are even and divisible by 2. Take 1. It can be represented in the vector form as 1 = (0 mod 2; 2 mod 5; 7 mod 11). We compute 1 = (0 mod 2; 2 1 mod 5; 7 1 mod 11) = (0; 3; 8) = 8 and:
2 = (0 mod 2; 1 mod 5; 9 mod 11) = 863 = (0 mod 2; 4 mod 5; 2 mod 11) = 244 = (0 mod 2; 2 mod 5; 3 mod 11) = 102
Don prepares shares for participants
s1 |
= f (x1) 1 |
46 |
(mod 110); |
s2 |
= f (x2) 2 |
90 |
(mod 110); |
s3 |
= f (x3) 3 |
54 |
(mod 110); |
s4 |
= f (x4) 4 |
30 |
(mod 110) |
and sends them to corresponding participants via secret channels.
A sender, Sue, takes her message m = 67 and public elements and computes
the cryptogram c = me = 67107 |
89 mod 253. The cryptogram is broadcast to |
|||
all participants. Let an active set be B = fP1; P3; P4g. Each participant from B |
||||
computes their partial cryptogram and |
||||
c1 |
= css31 |
78 |
(mod 253); |
|
c3 |
= cs4 |
100 |
(mod 253); |
|
c4 |
= c |
144 |
(mod 253): |
|
The partial cryptograms are sent to the combiner. Clara corrects the cryptograms
c^ = c(x1 x2)( 1 x3)( 1 x4) |
|
177 |
(mod 253); |
||
1 |
1 |
x2)( 1 x1)( 1 x4) |
|
|
|
|
(x3 |
210 |
(mod 253); |
||
c^ = c |
|
|
|||
3 |
3 |
x2)( 1 x1)( 1 x3) |
|
|
|
|
(x4 |
|
|
||
c^ = c |
|
|
100 |
(mod 253): |
|
4 |
4 |
|
|
|
|
and recovers the message |
|
|
|
||
m = |
Y |
c^i c = c^1c^3c^4c 67 (mod 253): |
|||
|
Pi2B |
|
|
|
|
10.2.3 RSA Decryption Without Dealer
It may happen that participants fail to agree on who can be a trusted dealer. The way out is to allow the sender to set up the system and to compose the requested group of receivers at the time when there is a need for communication. Also the
10.2 Threshold Decryption |
367 |
sender can exercise her discretion in the selection of the threshold parameter t. The scheme we describe here is taken from [199].
Suppose that all participants have established their own RSA public key cryptosystems and registered their systems with White Pages. The registry provides the authentic public parameters of all registered RSA systems. Now we will show how the sender constructs a group decryption system on the top of single user RSA systems. The sender, Sue, creates the group P = fP1; : : : ; Png and looks up White Pages for their public parameters. Let them be Ni and ei for i = 1; : : : ; n, ordered in the increasing order so Ni < Ni+1. Next, Sue selects at random a polynomial f (x) of degree at most (t 1) over GF (p) where p < N1. She further computes the collection of shares
si = f(xi)
for a public coordinates xi; i = 1; : : : ; n and the secret d = f(0). The shares are hidden using RSA encryption so
ci = seii mod Ni:
The rst part of the cryptogram C1 is the merge of all encrypted shares using the Chinese Remainder Theorem:
C1 = (c1 mod N1; : : : ; cn mod Nn)
For a message m (m |
Q |
t |
i=1 Ni), the sender computes mi m mod Ni and |
||
mid mod Ni and creates |
|
C2 = (md1 mod N1; : : : ; mdn mod Nn):
The cryptogram C = (P; p; t; C1; C2) is broadcast.
Each participant Pi 2 P performs the following operations: First, Pi gets ci C1 mod Ni and mdi C2 mod Ni. Next, using their secret key di recovers the share si cdi i mod Ni. The share si is broadcast to all other participants. After receiving t 1 shares, each participant in the group can reconstruct the secret d 2 GF (p) and compute
mi (mdi )d 1 mod Ni:
Although d is public, only the participant Pi is able to nd the inverse d 1 as Pi knows the factors of Ni and can calculate d d 1 1 mod (Ni). Now if t participants have sent their partial messages mi, the combiner can recreate the message m using the Chinese Remainder Theorem.
368 10 GROUP ORIENTED CRYPTOGRAPHY
The decryption process involves two stages: the recovery of the secret d and the reconstruction of the message. If at least t participants have collaborated at each stage, the message m is reconstructed. If fewer than t 1 participants broadcast their shares si at the rst stage, then the exponent d is unknown and the message cannot be recovered. An interesting case is when, the requested number of t 1 participants have broadcast their shares but fewer than t deposited their partial message to the combiner. More formally, let the combiner know (m1; : : : ; mt 1). Then the recovery of the message m is reduced to a guess of a single partial message, say mt.
(t; n) RSA threshold decryption without dealer
Initialization: |
1. The sender creates a group |
P = fP1; : : : ; Png. She collects |
||||||||
|
the public parameters of their RSA systems (ei; Ni); i = 1; : : : ; n from |
|||||||||
|
White Pages. |
|
|
|
|
|
|
|
|
|
2. |
Sue constructs a (t; n) |
Shamir |
scheme with a polynomial |
f(x) over |
||||||
|
GF (p) where p < N1. The secret d = f(0) and shares si = f(xi). |
|||||||||
|
Coordinates xi are public. |
|
|
|
|
|
|
|||
Encryption: |
1. Sue computes ci sidi mod Ni; i = 1; : : : ; n. The rst part of |
|||||||||
|
cryptogram is C1 = (c1 mod N1; : : : ; cn mod Nn). |
|
||||||||
2. |
For a message m |
t |
Ni, she creates |
C2 = (md mod N1; : : : ; md mod |
||||||
|
Nn). |
|
Qi=1 |
|
|
|
|
|
1 |
n |
3. |
The cryptogram C = (P; p; t; C1; C2) is broadcast. |
|
||||||||
Decryption: |
1. Each participant Pi |
2 B |
; |
jBj |
= t, gets ci and mid. Next Pi |
|||||
|
recovers si = cidi |
|
|
|
|
|
||||
|
mod Ni. The shares si |
are broadcast. |
|
|||||||
2.After receiving t 1 shares, participant Pi reconstructs d 2 GF (p) and compute their partial messages mi.
3.The combiner recreate the message m having any t partial messages.
10.3Threshold Signatures
Group signatures appeared as so-called multisignatures. The concept of multisignatures was introduced independently by Boyd in [53], and Okamoto [388]. A group of n participants generates a multisignatures if all n members have to contribute to sign documents. Desmedt and Frankel in [148] generalised the
10.3 Threshold Signatures |
369 |
concept of multisignatures to the case when each t out of n participants are able to sign a document { these are threshold signatures. Note that any (t 1) or fewer participants fail to sign a document. The veri cation of signatures can be done by any single person who knows the document and the signature (and perhaps some additional public information). The threshold signature system is initialized by a trusted dealer who creates all necessary secret parameters used by the participants. The signing algorithm is executed independently by the participants. The results are given to not necessarily trusted combiner who generates the signature. The signature is attached to the message. The veri - cation algorithm can be executed by any body.
10.3.1 RSA Threshold Signatures
RSA group signature can be implemented in a similar fashion to the RSA threshold decryption. The group of signers is P = fP1; : : : ; png and the threshold parameter is t. The necessary adjustments are presented below.
(t; n) RSA threshold signature
Initialization: 1. The dealer designs an RSA system with the modulus N, the public key e, and the secret key d. The collection of public elements are stored in White Pages.
2. Don sets up a (t; n) Shamir scheme with a polynomial f (x) of degree
at most (t f |
1)(xi)over Z (N). The coordinates |
xi are odd and public. |
||||||||
Shares si = |
|
|
are even where i = |
Q |
Pj2P |
;j6=i(xi xj). The secret |
||||
|
i |
|||||||||
|
|
|
|
|
|
|
|
P |
|
|
f ( |
1) = d |
|
1. The shares are secretly communicated to |
|
. |
|||||
Signing: For a given message m 2 ZN , the group B P of t participants wants to sign the message.
1.Each participant Pi 2 B computes their partial signature ci msi mod N:
2.The combiner, Clara, collects t partial signatures and modi es them
according to the currently active group B |
|
||||
|
Q |
Pj2PnB;j=6i(xi xj) |
Q |
|
|
c^i |
ci |
Pj2B;j6=i( 1 xj) |
mod N: |
||
|
|
|
|||
3. Clara assembles the signature |
|
||||
= |
Y |
c^i = mf( 1) md 1 mod N: |
|
||
Pi2B |
|
||||
|
|
|
|
||
370 10 GROUP ORIENTED CRYPTOGRAPHY
Veri cation: The veri er, Victor, looks up White Pages for the public parameters (N; e) of the RSA system used by the group P. Next Victor takes a pair (m;~ ~) and checks whether
? |
|
VER(m;~ ~) = (~ m~ )e m~ mod N : |
(10.7) |
If the congruence is true the signature is accepted otherwise it is rejected.
Note that the signature is anonymous as the currently active subset B of t cosigners cannot be identi ed by the veri er.
Recall the example from Section 10.2.2. We are going to use the setting to illustrate the RSA threshold signature. The primes p = 11 and q = 23,
the modulus N = 253, and |
(N) = 110. The set of participants is P = |
||
fP1; P2; P3; P4g with the (3; 4) threshold secret sharing based on the polyno- |
|||
mial f(x) = 6 + 15x + 81x2 over Z (N). Public coordinates are x1 = 1, x2 = 3, |
|||
x3 = 5 and x4 |
= 7. The secret key d = f ( 1) + 1 = 73 and the public key |
||
e = 107. Public information is (e; N) and coordinates xi for Pi 2 P. Don com- |
|||
putes parameters 1 = 62, 2 = 16, 3 = 94 and 4 = 48. Their \false" inverses |
|||
are 1 = 8, 1 |
= 86, 1 |
= 24, 1 = 102. Shares are s1 = 46, s2 = 90, |
|
1 |
2 |
3 |
4 |
s3 = 54 and s4 = 30. Shares are held by corresponding participants.
Assume that the active set of participants who want collectively to sign a message m = 67, is B = fP1; P3; P4g. Their partial signatures are:
(mod 253) (mod 253) (mod 253)
The combiner collects the partial signatures modi es them accordingly, i.e.
c^ = c(x1 x2)( 1 x3)( 1 x4) |
|
177 |
(mod 253); |
||||
1 |
1 |
x2)( 1 x1)( 1 x4) |
|
|
|||
|
(x3 |
210 |
(mod 253); |
||||
c^ = c |
|
|
|
|
|||
3 |
3 |
x2)( 1 x1)( 1 x3) |
|
|
|||
|
(x4 |
|
|
||||
c^ = c |
|
|
|
|
100 |
(mod 253): |
|
4 |
4 |
|
|
|
|
|
|
and creates the signature |
|
|
|
|
|||
= |
Y |
c c c c^ c |
|
133 |
|
(mod 253): |
|
|
Pi2B |
^i = ^1 ^3 4 |
|
|
|
|
|
A veri er, Victor, takes the pair (m;~ ~) = (67; 133) and the public key e = 107 and computes
(~m~ )e = (133 67)107 67 (mod 253):
