Cryptography Reference
In-Depth Information
m = m 0 ,m 1 ,...,m k ). The basic idea is to include in every block m i the
hash value of the subsequent block m i +1 (in addition to m i ) and to prepend a
block m 0 that includes a digital signature for the hash value of m 1 . The sender
then computes m as follows:
m k
= m k ]
m i
= m i ,h ( m i +1 )] for i = k
1 ,..., 1
m 0
= h ( m 1 ) ,s ]
Consequently, m k contains m k , m i contains m i and the hash value of
the subsequent block m i +1
1 ,..., 1,and m 0 contains the hash
value of h ( m 1 ) and a digital signature s for this hash value. If k 1 refers to the
sender's signing key, then s refers to Sign ( k 1 ,h ( m 1 )). Note that all blocks
of m may be padded to meet a specific block length of m (this is particularly
true for m 0 and m k ). Also note that digitally signing a stream with the off-
line solution requires a backward pass on the stream (this is why we must
make the assumption that the stream is finitely long and known in advance
to the sender). The structure of a signed digital stream is illustrated in Figure
15.4. In either case, the digital stream m
for i = k
is the one that is transmitted to the
recipient.
.I/
=3
.I/
=
=
I
I
=
Figure 15.4
A signed digital stream according to the offline solution of Gennaro and Rohatgi.
On receiving m 0 , the recipient must verify that s is a valid signature
for h ( m 1 ) with respect to the verification key k of the sender—that is,
he or she must verify that Verify ( k, h ( m 1 ) ,s ) retuns valid . Afterwards,
on receiving m i = m i ,h ( m i +1 )] for i =1 ,...,k
1, the recipient
must accept block m i as valid if and only if it hashes to the same value
that was transmitted in the preceding block m i− 1
(note that m i− 1
includes
Search WWH ::




Custom Search