in this document when we use the term ‘ alphanumeric string ’ the informational content of such a string is unrestricted and includes passwords , individuals names , card numbers , social security numbers , telephone numbers , and ordinary text such as street addresses , and date of birth . the iamnotanumber © card system which is executed on a computer processor is comprised of a main module and one function module labeled generate image . the main module invokes the function module to create images . the main module is split into five program code segments labeled as data collection segment , inverse password computation segment , loop segment , composite data segment , and card artefact creation segment . the data collection segment is split into six sections which are labeled card applicant common information section , card issuer common information section , card information section , card type information grouping section , and folder / file information section . the code in this segment accepts input in the form of alphanumeric strings . there is no formatting requirement for any of the input values . the user can enter ‘ not available ’ or ‘ na ’ or ‘ not available ’ or ‘ na ’ as a legitimate value for any of the expected input . the initial input provided to the system is the type of card that is to be created — debit card , credit card , employee id card or driver &# 39 ; s license . the card applicant common information section is used to collect input for the following items — card applicant &# 39 ; s name , address , date of birth , social security number , and card applicant &# 39 ; s telephone number . the card issuer common information section is used to collect input for the following items — card issuer &# 39 ; s name , address , and card issuer &# 39 ; s telephone number . the card information section is used to collect input for the following items — card number to be issued to the applicant , card expiration date ( if any ) and security code ( if any ) associated with the type of card to be created . the card type information grouping section is used to group the various data items that define a specific card type . for a debit card the card holder &# 39 ; s name , card issuer &# 39 ; s name and card number are required . for a credit card , the card holder &# 39 ; s name , the card issuer &# 39 ; s name , card number , card expiration date , and card issuer &# 39 ; s telephone number constitute the group . for the employee id card the following items are needed to define the group : card holder &# 39 ; s name , card issuer &# 39 ; s name , card issuer &# 39 ; s address , and card expiration date . in the case of driver &# 39 ; s licenses the following items define the group — card holder , card holder &# 39 ; s address , card issuer , card number , expiration date , card holder &# 39 ; s address , and date of birth the folder / file information section specifies the names of the folder and the files where all the data are stored . the data includes the user input as well as the images which are created by the system . the code in the inverse password computation segment is used to obtain the password , determine its length and then find the inverse password using modular arithmetic . there is no restriction on the length of the password or types of characters comprising the password . first , the inverse character of each of the 128 characters in the ascii character set is computed by taking the inverse of the numeric equivalent of the character modulo the prime number 257 and stored in a table . next , for each character in the password , the table is searched to locate the inverse of the numeric equivalent of the password character . these inverse - characters are then concatenated to create the inverse password . the loop segment consists of three sections — the original image creation section , the image encryption section , and the image decryption section . the code in the loop segment is executed once for each alphanumeric string specified in the data collection segment . in the original image creation section , the generate image function is called with an alphanumeric string as input argument to create a two - dimensional matrix of numeric values . each element in this matrix represents a pixel and the matrix element &# 39 ; s value is taken to be the color value of the pixel . this matrix of color values represents the original unencrypted image of the underlying alphanumeric string . the unencrypted image is displayed and stored as a file in a folder . the image encryption section is used for encrypting the unencrypted image . the unencrypted image is multiplied modulo 257 by the numeric equivalent of each character in the password in succession . the image that results is the encrypted version of the original unencrypted image which is then displayed and stored in a file . the image decryption section is used for decrypting the encrypted image . the encrypted image is multiplied modulo 257 by the numeric equivalent of each inverse character in the password in reverse order in succession . the image that results is the decrypted version of the encrypted image which is then displayed and stored in a file . the composite data segment consists of five sections — the card type specification section , the composite image generation section , the composite image encryption section , the composite image decryption section , and the difference image section . in the card type specification section , based on the type of card that needs to be created — debit , credit , employee id or driver &# 39 ; s license — the alphanumeric strings which are required to produce the images that are to appear on the card are grouped . the code in the composite image generation section is used to first concatenate the alphanumeric strings which have been grouped in the card type specification section . the generate image function is then invoked using this concatenated alphanumeric string as argument to produce a two - dimensional numeric matrix where each element in the matrix represents a pixel and the matrix element &# 39 ; s value is taken to be the color value of the pixel . this matrix of color values represents the original unencrypted composite image of the underlying concatenated alphanumeric string . the unencrypted composite image is displayed and stored as a file in a folder . the composite image encryption section is used for encrypting the unencrypted composite image . the unencrypted composite image is multiplied modulo 257 by the numeric equivalent of each character in the password in succession . the composite image that results is the encrypted version of the original unencrypted composite image which is then displayed and stored in a file . the composite image decryption section is used for decrypting the encrypted composite image . the encrypted image composite is multiplied modulo 257 by the numeric equivalent of each inverse character in the password in reverse order in succession . the image that results is the decrypted version of the encrypted composite image which is then displayed and stored in a file . the code in the difference image section is for producing the difference image which is defined as the image matrix that results from subtracting the decrypted composite image matrix from the composite image matrix , pixel by pixel . the difference image matrix is displayed and stored in a file . the card artefact creation segment contains code to produce any one of the four different types of cards — debit card , credit card , employee id card , and driver &# 39 ; s license . the same code can be used to produce social security cards and health insurance cards as well . for the card types that typically contain a photograph of the card holder , the code allows a user to incorporate a photograph into the card . the photograph is encrypted using the cardholder &# 39 ; s password and imprinted on the card . even though the card that is created typically contains only two alphanumeric string — name of card holder and type of card — in the case of driver &# 39 ; s licenses the data of birth as an alphanumeric string can also be shown in order to deal with situations where age restrictions apply as , for example , in the purchasing of cigarettes or liquor or entry into establishments where liquor consumption is allowed . generate image ( alphanumeric string ): this function takes the input argument which is a linear alphanumeric string and converts it into a two dimensional square matrix . if the length of the string is not an exact square value , enough pad characters ( the pad character ‘$’ is used in this application ) are appended to the string so that the revised string &# 39 ; s length is an exact square . the size of the square matrix is determined by computing the square root of the length adjusted alphanumeric string . the alphanumeric characters in the matrix are then converted into real values . the matrix elements are treated as pixels whose color contents are determined by the matrix element values . the complete iamnotanumber © card system protocol is as follows : procedure a ( for creating a numberless card by the card issuing organization ): 1 . user submits personal information ( name , address , date of birth , social security number , and telephone number ) in the form of alphanumeric strings to the organization issuing the card . 2 . user submits an initial password ( also an alphanumeric string ) and , if required , a photograph to the card issuing organization . 3 . card issuing organization creates unencrypted images based on the user &# 39 ; s personal data and photograph ( if any ), one image per data item and stores these images in a database along with the associated alphanumeric strings . 4 . card issuing organization creates encrypted images based on the user &# 39 ; s personal data and photograph ( if any ), one image per data item , using the password submitted by the user and stores these images in the database . 5 . card issuing organization creates unencrypted images based on the organization &# 39 ; s own information ( organization name , contact telephone , card number , card expiration date and associated security code ), one image per data item , and stores these images in a database along with the associated alphanumeric strings . 6 . card issuing organization creates encrypted images based on the organization &# 39 ; s own information using the user - supplied password and stores these images in the database . 7 . card issuing organization sends a card with the requisite number of encrypted images but no numbers to the user . procedure b ( for creating an image from an alphanumeric string and storing it ): 1 . obtain the length of the alphanumeric string . 2 . if the length of the alphanumeric string is not an exact square , append the alphanumeric string with sufficient pad characters so that the length of the padded alphanumeric string represents and exact square number . 3 . reshape the alphanumeric string into a square two - dimensional structure . 4 . use the numerical value of each alphanumeric character in the two - dimensional structure to create a color pixel . 5 . the two - dimensional set of color pixels created in step 4 represents the image version of the alphanumeric string . 6 . store the image in a database or library along with the alphanumeric string that was used in creating the image . 1 . convert each character in the user - supplied password into its numeric equivalent . 2 . multiply the image by the numeric equivalent of each character in the password modulo a prime number in sequential fashion . 3 . after all the characters in the password have been processed , the resulting final image represents the encrypted image of the original image created in procedure b . 4 . [ optional ] store the encrypted image in the database or library indexed by the alphanumeric string that was used in creating the original image . 1 . obtain the numerical equivalent of the inverse of each character in the password modulo a prime number . 2 . multiply the encrypted image by the numeric equivalent of each inverse character in the password modulo a prime number in reverse sequential fashion . 3 . after all the inverse characters in the password have been processed , the resulting final image represents the decrypted image of the encrypted image created by procedure c . 1 . user swipes the card at the point - of - transaction terminal the card and enters the password on the keypad . 2 . the encrypted images on the card and the password are transmitted to the card issuing organization . 3 . the card issuer transmits an ‘ accepted / declined ’ message to the point - of - transaction terminal . procedure f ( followed at the card issuing organization for accepting or declining a card ): 1 . decrypt the images sent from the point - of - transaction terminal using the password as the key . 2 . compare the decrypted images against the original images stored in the database . 3 . transmit ‘ accept ’ to the point - of - transaction terminal if there is an exact match between the decrypted images and the stored images otherwise transmit ‘ decline ’. 4 . [ optional ] transmit the alphanumeric strings associated with the stored images to the merchant where the point - of - transaction terminal is located , if requested by the merchant .