Cryptography Reference
In-Depth Information
I should mention that the Respondent and Challenger programs fail to do something
important. First, the respondent would not generate new values of
for each exchange.
These values should already exist and be published with a TTP. Secondly, the challenger
should check received values for
n
and
s
against values in a database maintained by the
TTP. This way, the respondent can be verified as having a certain set of keys, and that an
impersonator would have a very tough time “pretending” to be that person without knowl-
edge of their private information. (In this case, this means being able to compute a square
root of
n
and
s
s
modulo
n
without knowing the prime factors of
n
.)
EXERCISES
1.
Here, a set of shadows and their corresponding moduli are given, plus values for the
reconstructing prime
. Use all the shadows given to recon-
struct the master key, which will be immediately recognizable.
Shadows Moduli
1835256971 2142418429
298859542 1247760289
611228613 2061443389
1052969410 1817116199
1343567939 1614361069
1045659651 1250119291
1399180591 1478137559
1725515793 2084068787
The random multiplier is: 724799153237188128058363304731475
The reconstructing prime is: 764018977
p
and the random multiplier
u
2.
Modify the ShadowBuilder constructor so that the user can specify the minimum num-
ber of shadows required for construction (as opposed to just over half, as I have writ-
ten it), and to compute the values for
u
and
p
accordingly.
3.
Design a Java class to produce random bitstreams according to the Micali-Schnorr
method.
4.
Write a RabinEncipherSigned() and RabinDecipherSigned() method for the Ciphers
class to perform encryption and decryption of signed messages.
5.
Write methods in the Ciphers class to send and receive signed messages with ElGamal.
6.
When two parties, B (the challenger) and A (the respondent) are using zero knowledge
identification as described in the text, A must be sure never to repeat a random value
for
r
. Why?
7.
Consider how you could modify the IntCRT class to handle negative integers, sub-
traction, and division, then do this modification.
8.
Modify the CSPRBG class (or write your own) to generate random bitstreams using the
Micali-Schnorr method.
Search WWH ::




Custom Search