BIRN_ID GENERATOR README
Prerequisites
Java JDK (or JRE) 1.3.1 or higher needs to be installed on your system
Installation
- Put BIRN_ID Generator package to a selected installation directory
- Create a new environment variable, BIRNIDGEN_HOME, pointing to the installation directory
Usage
- To generate BIRNIDs:
$BIRNIDGEN_HOME/bin/birnid_gen.sh -create -p <prefix> -l <linkTableFilename> [-cf <clinicalIdsFilename> | -c <clinicalId>]
where <clinicalId> is a single clinicalID, <clinicalIdsFilename> is a file contains a list of clinicalIDs (each line is a clinicalID), <linkTableFilename> is a text file to store MD5 one-way hashes of clinicalIDs.
- To find the BIRNID from a clinicalID:
$BIRNIDGEN_HOME/bin/birnid_gen.sh -find -c <clinicalId> -l
<linkTableFilename>
where <clinicalId> is a single clinicalID, <clinicalIdsFilename> is
a file contains a list of clinicalIDs (each line is a clinicalID), <linkTableFilename>
is a text file to store MD5 one-way hashes of clinicalIDs.
Background Information on the Random Number Generation
SHA1PRNG: The name of the pseudo-random number generation
(PRNG) algorithm supplied by the SUN provider. This implementation follows the
IEEE P1363 standard, Appendix G.7: "Expansion of source bits", and
uses SHA-1 as the foundation of the PRNG. It computes the SHA-1 hash over a
true-random seed value concatenated with a 64-bit counter which is incremented
by 1 for each operation. From the 160-bit SHA-1 output, only 64 bits are used.
SHA-1 is the Secure Hash Algorithm, as defined in Secure Hash Standard, NIST
FIPS 180-1.
SHA1PRNG is a cryptographically strong pseudo-random number generator (PRNG). A
cryptographically strong pseudo-random number minimally complies with the
statistical random number generator tests specified in FIPS 140-2, Security
Requirements for Cryptographic Modules, section 4.9.1. Additionally,
SecureRandom must produce non-deterministic output and therefore it is required
that the seed material be unpredictable and that output of SecureRandom be
cryptographically strong sequences as described in RFC 1750: Randomness
Recommendations for Security.
