![](bg2.png)
Output: A fuzzy vaultV = {R, (n, r, q)} with R being
a set of points {(x
i
, y
i
)}
r
i=1
such that x
i
, y
i
∈ F
q
and
all x
i
being distinct.
1. X, R, V ← Ø;
2. P ← k, that is, k is block-encoded into the coeffi-
cients of a polynomials of degree n in F
q
;
3. For i = 1 to t do
• (x
i
, y
i
) ← (a
i
, P(a
i
));
• X ← X
S
{x
i
};
• R ← R
S
{(x
i
, y
i
)};
for i = t + 1 to r do
• x
i
∈
U
F
q
\X;
• X ← X
S
{x
i
};
• y
i
∈
U
F
q
\{P(x
i
)};
• R ← R
S
{(x
i
, y
i
)}.
4. Output R or V = {R, (n, r, q)}.
In order not to leak information about the order in
which the x
i
are chosen, the set R should be output
in a pre-determined order, e.g., the points in R may
be arranged in order of ascending x-coordinates, or
else in a random order. Note that the chaff points
in the locking algorithm should be selected so as
to intersect neither the set A nor the polynomial P.
This is for technical reasons, namely to simplify our
security proofs. Generally, the set R together with the
parameter pair (n, q) is called a fuzzy vault.
Unlocking Algorithm
Input : A fuzzy vault V comprising a parameter pair
(n, r, q) such that n ≤ r ≪ q and a set R of r points
with their two coordinations in F
q
. A query set
B = {b
i
}
t
i=1
with b
i
∈ F
q
.
Output : An element k
′
∈ F
n
q
S
{‘null’}.
1. Q ← Ø;
2. For i = 1 to t do
• If there exists some y
i
∈ F
q
such that (b
i
, y
i
) ∈
R, set Q ← Q
S
{(b
i
, y
i
)};
• k
′
← ‘null’ if Q has less than n points;
• k
′
← RS
DECODE
(n, Q);
3. Output k
′
.
Suppose that V is created by Alice and Bob tries
to unlockV to recover the secret key k, Bob has to use
his set B to determine the codeword that encodes the
secret key k to get a possible secret key k
′
. Since the
set A specifies the x-coordinates of “correct” points
that lie on the polynomial P. Thus, if B is close to A,
then B will identify a large majority of these “correct”
points. Any divergence between B and A will intro-
duce a certain amount of error. Provided that there
is a sufficient overlap, however, this noise may be re-
moved by means of a Reed-Solomon decoding algo-
rithm.
The most convenient and unique features to the
user is his biometric feature set, such as the finger-
print features, iris features, retinal features and etc. In
2005, U. Uludag and et al.(Uludag et al., 2005) pro-
posed a fingerprint-based fuzzy vault. One can also
use our other biometric features to construct fuzzy
vault schemes.
3 A NOVEL FUZZY VAULT
SCHEME FOR A SECRET KEY
EXCHANGE
The most popular and classical secret key exchange
scheme is the Diffie-Hellman key exchange scheme
(Diffie and Hellman, 1976) which is a specific method
for the exchanging secret keys between two parties,
and it is one of the earliest practical examples of secret
key exchange scheme implemented within the field
of cryptography. The Diffie-Hellman key exchange
method allows two parties that have no prior knowl-
edge of each other to jointly establish a shared secret
key over an insecure communications channel. This
established shared secret key can then be used in a
symmetric key algorithm.
In practical applications, the multiplicative group
G is generally chosen to be multiplicative group F
∗
p
of
the Galois field F
p
with p a large prime, and g is se-
lected to be a primitive element of F
∗
p
. To increase its
security strength, we can set up the shared secret key
scheme on a (hyper)elliptic curve rational point group
since the discrete logarithm problem is much harder
than the discrete logarithm problem in the multiplica-
tive group of a Galois field.
In this section, we will put out a novel fuzzy vault
scheme for secret key exchange based on the classical
fuzzy vault and a multiplicativegroup, here we denote
this scheme as FV-DH scheme.
We suppose that Alice and Bob want to establish
a shared secret key for their future cryptographic uses
by using their biometric features (such as fingerprint
features, iris features, or other part features of their
bodies), then they agree on a finite multiplicative
group G = F
∗
q
with q a power of a large prime and
a cyclic subgroup < g > of G with g an element of
some large prime p order. Here, G, q, g and p are
assumed to be public parameters.
ANovelFuzzyVaultSchemeforSecretKeyExchange
427