rubund / mrtdreader

GNU General Public License v3.0
32 stars 10 forks source link

mrtdreader

Machine-readable travel documents such as passports nowadays usually contain an RFID chip for storing various data. This library provides useful functions for reading out the data from these documents. This version of the library supports the Basic Access Control (BAC). It uses several cryptographic functions from either libgcrypt or libtomcrypt (depending on compile-time options) in order to do the necessary decryption of the content of the MRTDs. The key for the BAC-scheme is derived from the Machine-readable zone (MRZ) which is printed on the MRTD.

The library depends on libnfc for the hardware interaction and only devices supported by libnfc will therefore work.

Build instruction

Usage

There is a tool called mrtdreader using the library which can be run like this:

MRZ is the bottom line on the machine-readable travel document.

Content of MRTDs

The following files may be present in the MRTD:

The example program mrtdreader reads out the MRZ, the facial image, the EF.COM file and the EF.SOD file.