Patent Number 6802013
Issue Date 2004 10 05
Inventor(s) Follendore, III, Roy D.
Title: Cryptographic access and labeling system
Abstract: An integrated, modular computer program system provides for the encryption and decryption of files utilizing conventional encryption algorithms and a relational key generated by the system. The computer program system also generates a series of labels that are encrypted and appended as a trailer to the encrypted message. The encrypted labels provide a history behind the particular encryption and they can be individually selected, separated, and decrypted from the total file. A rule based expert system is utilized as an intelligent label selection system to minimize message sensitivity. An access control module permits a user with a preassigned passphrase to have access to the encryption or decryption portion of the program by comparing a generated vector or key with a partially decrypted version of a second vector or key stored on a portable storage medium such as a floppy disk. If successful, the access control module creates a main key that is then used throughout the remainder of the program to encrypt or decrypt the labels. Part of the encryption or decryption process utilizes an internal, reproducible, but not reversible scrambling subroutine in which the bytes of an initializing vector are successively Exclusive ORed with one another and then the result concatenated to the initializing vector until all of the bytes have been so treated, and then the process repeated an integral number of times depending upon an input variable called a spinup number. Exmp. Claim 12 Ex Claim text A cryptographic system that manipulates a message of digital information having a trailer in which a plurality of individually retrievable labels are located, said cryptographic system comprising: a data key storage means for retrievably storing a data key; a label storing means for individually, retrievably storing a plurality of labels, each label containing rational information relevant to the message; an input means for providing an input passphrase from a user, said passphrase comprising at least one password; a communicating element that manipulates, stores and retrieves the message; and a program which directs the operation of said communicating element, said program having a plurality of instruction sets including: an instruction set which directs said communicating element to retrieve said data key from said data key storage means, an instruction set which directs said communicating element to receive said input passphrase, an instruction set which directs said communicating element to use said data key and said input passphrase to determine if the user should be granted access to further parts of the program, an instruction set which directs said communicating element to manipulate said data key and said input passphrase to generate a global vector, an instruction set which directs said communicating element to utilize said global vector for encrypting each label, an instruction set which directs said communicating element to utilize said global vector for decrypting each label, an instruction set which directs said communicating element to use two of said plurality of labels and said global vector to generate a message key, and an instruction set which directs said communicating element to use said message key with an encryption/decryption algorithm to manipulate the message.