PinGen - a program for generating PIN numbers
Generate PIN numbers
Add / Remove Clients
Statistics
Help
Version information
HG324 Setup
Log out
  Quick search
 
 Help on the Quick search

PinGen - a program for generating 8-14 digit decimal PIN numbers using HG400 series non-deterministic hardware generator.

Version 1.60 - 09. Dec 2005.
Copyright Random 2002-2006. All rights reserved.

Contents

SYSTEM REQUIREMENTS

PinGen ver. 1.60 works on Microsoft's Windows Xp and Windows 98 and on computers with USB2 port.

Maximum file size of 2.2 GB on this system implies that max. number of safely generated PIN numbers is 140 000 000 (per client). To be able to generate more PIN numbers, install the pingen versions >= 2.00.

Minimum disk space for 140 000 000 PINs is 9.4 GByte for one client. For N clients minimum required disk space in Gigabytes is 7.2 + 2.2 * N. For speadup use as much RAM as you can, optimally not less than 1 GB. Fast hard disc such as SATA and a procesor equivalent to Pentium IV at 2.4GHz or better would be recomended in case that very large quantities of PIN's (50 million or more) are required for any singe client. Absolutely minimum requirements are: 7 Gbyte of hard disk space, 512 MByte RAM, Pentium Celeron @ 1 GHz (or equivalent) and the USB2 port. The USB2 port is required for the HG400 generator which is a part of the PinGen package.

Required disk storage space scales linearly with the total number of PIN numbers required for all users.

INSTALLATION PROCEDURE FOR Windows XP

1) Insert the CD labeled PinGen into a CD drive of your computer
2) Click on "My Computer" and then to the drive containing the CD
3) Click "InstallXp". An MS-DOS window will appear showing progress of the installation procedure.
4) After successful installation, close the black MS-DOS Window.
5) The PinGen icon/shortcut will appear on the Desktop. Click on it in order to start the program. Alternatively, you may start Pingen.bat located in the C:/Pingen/Win98/ directory.
6) During one of the following steps, but only for the first time you start PinGen, a security question regarding firewall may occur asking what to do about Apache server application. In such event you must answer "Unblock", or PinGen won't work.
7) Once PinGen has been started, the MS Internet Explorer web browser (or whichever is your default Internet browser) will appear displaying the main page of the PinGen program.
8) To make sure that the Internet Explorer behave properly you should make sure that the contents of a web page is checked every time it is visited. To that end do the following steps:
Click Tools then Internet Options... then select the General tab. Under section "Temporary internet files" click Settings... then Every visit to the page and OK. (Steps may differ if you are using a different internet browser.)
You need to do this adjustment only once.
8) Finally, plug in the HG400 in any free USB2.0 port (if not already plugged).
If you ever change a USB port to which HG400 is connected, you must Log Out and start PinGen again. Otherwise, the PinGen will not be able to generate more PIN numbers and a warning or error message will occur.

You may now start using PinGen.

UNINSTALLING PINGEN

To deinstall PinGen, insert the PinGen installation CD, go to the directory Win98 and double-click the UnInstall.bat.

PINGEN - GENERAL DESCRIPTION

The purpose of this program is to produce, store and manipulate unique and completely unpredictable decimal numbers appearing in a random order which can be used either as PIN, TAN or OTP numbers for pre-paid services (PIN), bank transactions (TAN) or one-time user passwords (OTP). We will generally address all these special cases as "PIN" numbers.

Because true randomnes and non-predictability is important for PIN numbers, the only correct approach s to generate them is to use a non/deterinistic random number generator. Namely if we would generate PINs using a software random generator, it would be possible for a malicious person to recover all PIN numbers produced in a batch (series) by analyzing only one or a few (subsequent) PIN numbers from that batch, asuming that the generating algorithm or program are known to the person. Such disclosure of PIN numbers would of course be a big problem for both service provider and customers who both could suffer damages from unauthorized use of the disclosed numbers.

The problem with software random number generators appears because they use mathematics and are completely predictable. In contrast to that, PinGen uses a non-deterministic number generator whose output can not be predicted. Because of that, even knowing any number of PINs and the whole source code of this program and all the details about the HG400 generator, one can conclude nothing about any other PIN generated in the past or future.

PinGen produces absolutely secure PIN/TAN/OTP numbers !

PINGEN - USERS MANUAL

Introduction

PinGen produces one or more batches of unique PIN numbers for a given client. Clients are people, organisations or purposes for which the PIN numbers are generated.

PINs are unique for one single client. PIN numbers created for one client are guaranteed to be unique. However, PINs generated for different clients are being created independently and therefore with small probability it can happen that the same PIN number is created for different clients. There can be any number of clients permitted by the available disk space.

For example, a manufacturer of prepaid cards labeled with scratchable PIN numbers has three clients: Company1, Company2, Company3. Let's suppose that these companies are GSM providers, but the Company1 also proides VoIP service and would like to have different prepaid cards for GSM and VoIP. The manufacturer of prepaid cards should create 4 different "Clients" within the PinGen program named something like: Company1-GSM, Company1-VoIP, Company2, Company3. Let us further supose that Company2 would like to have 3 different prices for prepaid cards for GSM: 5 dollars, 10 dollars and 25 dollars. All the three values should be produced within the same Client name becuse we do not want to have a same PIN appearing for two different prices. The manufacturer can distiguish among the three vaules by creating different batches for each value.

It is important to correctly understand above concepts before using the PinGen for business. In doubt you should contact the program vendor.

Generate PIN numbers

To generate PINs for an existing Client, click to the [Generate PIN numbers] tab, choose a Client, type in the required number of PINs (default=1000), optionally choose length of the PINs and whether they they are allowed to start with one zero (but not two) or not, and click the [Go!] button.

(For convinience, spaces in the number of PINs will be ignored. For example a million can be entered as: 1000000 or 1 000 000. Multiple spaces are also allowed.) This will initiate production of one batch of PIN numbers. Optionally, one may choose to produce more than one batch by specifying the required number of batches in the field labeled "Number of batches to produce". Batches can be used to differentiate among prepaid card prices/values. PIN numbers are produced in text (.txt) format and are written one per line, for example:

88783748126
71984646891
....
Optionally, it is possible to label each PIN by a serial number. To that end one should check the "Serial numbering" button, and choose the starting value for the labels. In that case, each output line consists of a serial number and PIN number separated by comma. Serial numbers consists of eight digits. For example, with a starting number set to 1 the output looks like:

00000001,88783748126
00000002,71984646891
....
Serial numbers continue through all batches produced in one production call. Course of production can be monitored by virtue of messages which appear during the production process. Messages contain information about the total number of PIN numbers produced, filenames of batches, time lapsed since beginning of the production and other usefull information.

Production can be stopped at any time by clicking to the specified link "Click here to stop the production and return to the main page". This results in discarding of all numbers and files generated during the current process.

Contrary to naive expectations, PIN numbers with a smaller length take more time to generate. This is because it is far more probable to generate a random PIN twice if it is of a smaller length. For example a batch of 1 million randomly generated 8-digit PIN numbers will have on average 5000 doublets (or multiplets). On the other hand 1 million of 14 digit PINs will have only 0.005 doublets on average - that is a probability to have a single one is negligible. This double (or multiple) PINs have to be purged from the sample because we need unique PIN numbers. Purging of PINs is very time consuming, and to make it worse, the number of multiplets scales quadratically with the batch size.

Therefore when generating short PIN numbers we recommend to set the batch size to at most 5000000 for 9-digit PINs and to at most 500000 for 8-digit PINs.

It generally pays off (in terms of time) to generate a required number of PINs in several smaller batches rather than in one large.

Add/Remove clients

Clients are people, organisations or purposes for which the PIN numbers are generated. PIN numbers for any client are unique, that is there are no two identical PIN numbers for that particular client: For example if John needs 14 digit PINs for one purpose, 8 digit PINs for another and 14 digit PINs for a third purpose, you should create and use different client names for the three cases, for example John14-A, John8, John14-B.


When first installed, PinGen comes with one client: Client1. You may wish to get familiar with PinGen by generating some PIN's for that client. Eventually you may remove this client.

To add or remove Clients, click the [Add / Remove Clients] tab:
   - to add a Client, fill in its identifier (short one-word name) into the first table and click the [Add client] button;
   - to remove an existing Client and all of his data choose the Client from the multiple-choice tab and click the [Erase client] button.

Accessing client's Statistics and PIN data

To check a number of PINs generated so far per client, click on the [Statistics] tab. You will be presented a table of all clients along with their current PIN statistics.

Further clicking on the name of a client will gives you the access to all batches existing for that particular client.

You may now left-click on the particular batch to look at its content or right-click on the batch to save it to another location on the disk.

It may be usefull to know that all the Client's data are located under the directory C:/Pingen/Win98/Clients . You can access all of the data from there too. You are allowed o delete batches at any time, however you must not delete "by hand" files named "pin_repositiry.txt" becuse they contain information of all previosly generated PINs for that Client and is crucial for uniqueness of generated PIN numbers.

Obtaining help

To obtain on-line help, click [Help] tab.

Logging out

When you finish generating numbers, please log out by clicking on the [Log out] tab. This will stop the PinGen server properly.

When the PinGen server has been stopped you may safely close te Internet browser.

IMPORTANT SECURITY NOTICE

We took great care in designing the PinGen so that PIN numbers are secure, menaing that looking at any subset of PINs one can conclude nothing about the rest of the PINs. However, you yourself must also take every precaution that the PINs you generate will not get stolen.

Currently, the PinGen server is web-based. It means that as long as the PinGen is running important data INCLUDING PIN NUMBERS will be accessible over the computer network if the computer running PinGen server is connecter to one, and firewall options apropriately set. This feature can be usefull if you want to access the PIN numbers over the local area network (LAN).

However, because of that and the reason of potential vunerability of operating system to various attacks we strongly advise you that the PC computer where you generate PIN numbers is NOT CONNECTED TO INTERNET or any unsecured computer network..

APPENDIX - DESCRIPTION OF OPTIONS

PinGen can be used in the line mode. This is not recommended for unauthorized users except for purpose of experimenting.

USE OF THE PINGEN IN THE LINE MODE IS ON YOUR OWN RISK.

Command line options to pingen >=1.11 are:

 -pins N      N = number of pins to generate and store 
              to newpins.txt
 -new         start from anew -> erase pin repository
 -add         add pint to existing newpins.txt
 -len L       L = pin length in decimal places (9-14)
 -0           PIN may start with one but not two zeros
              (by default a PIN must start with 1-9)
 -cgi         behave like a CGI
 -file ofile  print output into the file rather than to
              the stdout
 -stopfile f. file used to stop a running PinGen
 -path        root path
 -batches n   number of batches to produce (default=1)
 -numbering   specify if sequential numbering needed
 -start start starting sequential number
 -debug       print debugging information
 -v           print verson information
 -test        experts only

Last modified: Dec 09 2005. 14:21:21 MET