Information Technology Reference
In-Depth Information
Verifier B
1. compute the secret
c
based on the values
s
and
σ
2. compute
m
=
D
S
b
(
c
)
3. compute
h
=
H
(
m
)
4. compute
h
=
D
p
a
(
s
)
5. verify whether
h
=
h
4.2 Discussion and Analysis
The main objective of signcryption is to provide both encryption and authentica-
tion simultaneously. In our scheme, for encryption, we apply any ecient cryp-
tosystem algorithm to the message. For authentication, with non-repudiation
property, we sign the message digest by the signer's private key. However, for
verification purposes, a mechanism is needed by which it is possible for the ver-
ifier to verify the authenticity of the message, and for the adversary it would be
an infeasible task.
As described in section 2, the idea is to fix a secret, and relate to the secret
a number of parameters or shares. The shares in this case are
c
and
σ
. The
challenge for the verifier, therefore, is to reconstruct the secret based on the
knowledge of the shares. To achieve this, the signing process passes through
a number of processes. Each step depends on the preceding one. The overall
process is in fact like a chain of security subprocesses.
At the verification phase, the verifier computes the value
c
from shares
s
and
σ
by solving a set of equations using Lagrange interpolation function. Once
c
is
retrieved,
m
could be retrieved as well by decrypting the value
c
. Consequently,
it would be possible to compute the hash of the message
m
to get the value
h
.
The decryption of the value
s
would result in the value
h
. If the computed hash
value
h
from
m
is the same as the value
h
resulting from decrypting the value
s
, then this proves the authenticity of the message sent through the pair (
s, σ
).
4.3 Performance Analysis
The operations involved at the signing and verification phase are almost the
same:
-
encryption/decryption operation. We assume a very ecient public-key al-
gorithm with short keys. The type of algorithm is non-important.
-
one cheap hash function on the message
-
a number of flops (of multiplications and divisions of Lagrange interpolation
function)
Generating and extracting the secret
c
from the system requires a number
of operations including multiplications and divisions. Generally, the overall La-
grange operations are of
O
(
n
2
). Specifically, they includes (
n
+1) multiplications
for
n
times. Also, a number of (
n
+ 1) divisions are required. In our system, we