Information Technology Reference
In-Depth Information
the private key, but encode the random seed in the given fingerprint by generating a
so called challenge minutia vector. In the process of document signing, we reconstruct
the random seed using the challenge minutia vector and the actual fingerprint image,
and re-executing the RSA key generation algorithm with the same random input we
retrieve the private (and also the public) key.
The process of registration involves these steps: (1) Generating the random binary
data ; (2) Calculating a binary codeword by adding parity bits to random binary data4
(3) Encoding : generating the challenge minutia vector based on the binary codeword
and the minutia points in the registered fingerprint sample; (4) Generating the RSA
key pair and deleting the private key, the binary codeword and the random binary data
afterwards; (5) Requesting a certificate that holds the registered person's personal
data and the public key using a public key infrastructure.
To digitally sign a document, we have to accomplish these steps: (1) Decoding:
matching of the fingerprint sample with the challenge minutia vector to reconstruct
the original binary codeword; (2) Error correction of the binary codeword; (3) Re-
trieval of the original RSA key pair using the corrected codeword; (4) Verification of
the regenerated public key, checking whether it is the same as the public key encapsu-
lated in the certificate. Reporting an error if the public keys do not match, since it
indicates incorrect decoding; (5) Signature of the document using the retrieved private
key.
In the followings we introduce main problems and the given solutions during our
research and the development of the frame system for the described method.
4 Encoding, Decoding and Error Correction
The process of encoding is basically the generation of the challenge minutia vector. In
this process we generate the successive points of the challenge vector by processing
the bits of the binary codeword five at a time.
Table 1. The five-bit runs in the encoding of a minutia point. We add a real or a fake minutia
point to challenge vector depending on the 0 th bit of a five-bit run, and the angle of a thus added
minutia point is modified depending on the value of the next four bits (1…4) in the codeword.
0
1
2
3
4
Real / fake
Modification of the angle
We assume the fake minutia angle to follow the curvature of the underlying
ridges. This encoding method and the value with which the angle is modified (the
added angle dFi modulo 180) is shown in figure 1.
For error correction, we decided to use the Turbo codes [6] , which are widely used
in deep-space communication, where there are low signal-to-noise ratios, similar to
those we met using the fingerprint as communication channel. The basic idea of
Turbo coding is to use two (or even more) convolutional encoders, where each except
the first one receives the permutated systematic bits. Turbo coding is easily scalable,
as we don't have to transmit all of the bits; we can delete some of them following a
Search WWH ::




Custom Search