US5757923A - Method of generating secret identification numbers - Google Patents

Method of generating secret identification numbers Download PDF

Info

Publication number
US5757923A
US5757923A US08/635,145 US63514596A US5757923A US 5757923 A US5757923 A US 5757923A US 63514596 A US63514596 A US 63514596A US 5757923 A US5757923 A US 5757923A
Authority
US
United States
Prior art keywords
generating
multiplicity
feedback term
secret identification
random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/635,145
Inventor
Philip J. Koopman, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lear Corp EEDS and Interiors
Original Assignee
Lear Automotive Dearborn Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/532,337 external-priority patent/US5696828A/en
Application filed by Lear Automotive Dearborn Inc filed Critical Lear Automotive Dearborn Inc
Priority to US08/635,145 priority Critical patent/US5757923A/en
Assigned to UNITED TECHNOLOGIES AUTOMOTIVE, INC. reassignment UNITED TECHNOLOGIES AUTOMOTIVE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOOPMAN, PHILIP J. JR.
Priority to PCT/US1996/015211 priority patent/WO1997011423A2/en
Priority to JP9512961A priority patent/JP2000505214A/en
Priority to EP96935911A priority patent/EP0852033A2/en
Assigned to UT AUTOMOTIVE DEARBORN, INC. reassignment UT AUTOMOTIVE DEARBORN, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UNITED TECHNOLOGIES AUTOMOTIVE, INC.
Application granted granted Critical
Publication of US5757923A publication Critical patent/US5757923A/en
Assigned to LEAR AUTOMOTIVE DEARBORN, INC. reassignment LEAR AUTOMOTIVE DEARBORN, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: UT AUTOMOTIVE DEARBORN, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS GENERAL ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS GENERAL ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: LEAR AUTOMOTIVE DEARBORN, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Assignors: LEAR AUTOMOTIVE DEARBORN, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Assignors: LEAR AUTOMOTIVE DEARBORN, INC.
Assigned to LEAR CORPORATION EEDS AND INTERIORS reassignment LEAR CORPORATION EEDS AND INTERIORS MERGER (SEE DOCUMENT FOR DETAILS). Assignors: LEAR AUTOMOTIVE DEARBORN, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS AGENT reassignment JPMORGAN CHASE BANK, N.A., AS AGENT SECURITY AGREEMENT Assignors: LEAR CORPORATION EEDS AND INTERIORS
Assigned to LEAR AUTOMOTIVE DEARBORN, INC. reassignment LEAR AUTOMOTIVE DEARBORN, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to LEAR AUTOMOTIVE DEARBORN, INC. reassignment LEAR AUTOMOTIVE DEARBORN, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Anticipated expiration legal-status Critical
Assigned to LEAR CORPORATION EEDS AND INTERIORS reassignment LEAR CORPORATION EEDS AND INTERIORS RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A., AS AGENT
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic

Definitions

  • the present invention relates to cryptography, and more particularly to a method of generating secret identification numbers.
  • Pseudo-random number generators are well known in the cryptographic sciences. Cryptography is defined as the art and science of preventing eavesdroppers from understanding the meaning of intercepted messages. In such security minded applications, pseudo-random as well as truly random number generators may be used to support the encryption and decryption of information. These number generators are primarily employed to generate "secret keys" for use in cryptographic encoding and decoding of information.
  • a set of secret numbers is used as a cryptographic key for encoding and/or decoding messages. It is vitally important that this key not be known by unauthorized parties, nor discernible via cryptanalysis based on knowledge of messages. Thus, it is desirable to generate a sequence of apparently random numbers in order to manufacture a plurality of secret keys.
  • An "apparently random" number is definable as a number within a sequence or progression of successive numbers having a value which is neither practically reconstructible nor may the set of possible values of that particular number be substantially narrowed, even when given (1) copies of the generator algorithms; (2) non-invasive access to the equipment while generating the numbers; and (3) a complete list of all other numbers in the sequence.
  • pseudo random number generators have been the means of choice in low security applications.
  • Pseudo-random number generators produce a sequence of apparently random numbers utilizing a deterministic algorithm, and assume that any potential unauthorized party has neither access to nor desire to discover the generating algorithm.
  • Pseudo-random numbers serve as an approximation to truly random numbers for a limited set of purposes.
  • Traditional pseudo-random number generators are implemented using linear feedback shift registers or linear congruential generators using either hardware or software. Given the algorithm and current state, such as the contents of a hardware register or values of computer software variables, the output of a pseudo-random number generator may be exactly replicated. As this state information may be inferred from a one or more values within the number sequence, traditional pseudo-random number generators have substantial limitations.
  • Cryptographically secure pseudo-random number generators are special pseudo-random number generators designed to resist attempts to determine the current state of the generated random number stream through analysis. These systems typically assume that unauthorized parties have complete access to the algorithm, though not to the current state values. Such generators are, however, still deterministic. As such, in the event the current state is breached by cryptanalysis or other method, all numbers created by the generator in the future--and, in many designs, the past--may be deduced. Typically, in these systems, it is assumed that the legitimate owner of the generator may be trusted not to reveal or exploit knowledge of the current generator state. However, a defecting employee or industrial espionage may compromise a cryptographically secure generator. Thus, these generators also have substantial disadvantages.
  • a "truly random" sequence of numbers may be defined as one in which there is a theoretical basis for stating that the next number in the sequence cannot be predicted using either a mathematical or scientific method given an arbitrarily long history of the sequence behavior.
  • a truly random number provide absolutely no pattern, correlation, or dependency among the remaining numbers in a sequence of numbers other than chance patterns.
  • Generation of truly random sequences typically requires physical measurement of quantum mechanical uncertainty, such as, for example, radioactive decay. While truly random numbers may be employed for use as apparently random numbers, relevant measurement equipment is presently not commerically available for such purposes. It should be noted that even using physical measurement of quantum mechanical uncertainty to generate truly random sequences does not guarantee against sub-sequences of random numbers repeating and thus generating duplicate secret keys.
  • a further known approach to generating truly random numbers relies on chaos theory.
  • chaotically generated numbers are created by repeated experimental trials using a chaotic system with quantized outcomes, such as coin tossing or rolling dice.
  • outcomes vary greatly and non-linearly according to minute variations of initial experimental conditions. Therefore small sources of experimental error that are inevitably present in the physical world are magnified, thereby making it impractical to correlate system outputs, or numbers, with available measurements of system inputs, such as initial conditions.
  • Generating large volumes of chaotic experimental results has in the past, however, required special purpose hardware, such as for example a nonlinear oscillator, which is not readily available. Furthermore, there is no guarantee against unintentionally repeating generated secret key values.
  • LFSR linear feedback shift register
  • a sixty four (64) bit maximal length LFSR running at a clocked frequency of 1 MHZ could be sampled every few seconds to approximate a random number stream.
  • the random number stream will not be repeated for 585,000 years.
  • this LFSR approach is still deterministic. As such, all future and past states are predictable when the present state of the shift register is known. For example, purchase and reverse-engineering of a single manufactured unit to determine its secret key value would allow intelligent guessing of the values of other units manufactured in the same or proximate batches.
  • the primary advantage of the present invention is to overcome the limitations of the prior art.
  • Another advantage of the present invention is to provide a method and system for generating a number stream that, using the most advanced cryptanalytic and statistical methods available, is indistinguishable from a truly random number stream.
  • Another advantage of the present invention is to provide a method and system for generating random numbers which is non-deterministic.
  • Another advantage of the present invention is to provide a method and system for guaranteeing that no particular sub-sequence of random numbers or derivative value is used twice while at the same time eliminating vulnerabilities normally associated with keeping records of values generated.
  • a further advantage of the present invention is to provide a method and system for generating random numbers which is immune to attack and compromise, even from the manufacturer of the random numbers.
  • Yet another advantage of the present invention is to provide a method and system for generating random numbers which utilizes the apparently random nature of chaotic systems generally.
  • a method of generating secret identification numbers from a random digital data stream comprises the step of initially selecting a first and a second group of bytes from the random digital data stream, wherein the first and second groups of bytes have a first and second numerical value. Subsequently, a first maximal length LFSR feedback term is looked up from a list in response to said first numerical value.
  • the method additionally comprises the step of generating a cyclic redundancy code feedback term in response to filtering out predetermined values from a third group of bytes selected from the random digital data stream.
  • the method comprises the step of forming the secret identification number from the first maximal length LFSR feedback term, the cyclic redundancy code feedback term, and a fourth group of bytes from the random digital data stream.
  • a method for generating a plurality of random numbers.
  • the method comprises the initial step of generating chaotic noise.
  • the chaotic noise is sampled and converted to digital data such that a random number is generated responsive to the sampled value.
  • a refinement of the method further processes the digital data by reordering, compressing, and hashing a plurality of samples in order to create a plurality of random numbers.
  • a further refinement of the method retains digests of generated values in order to provide absolute guarantees that value sequences of a predetermined length are never duplicated.
  • a system of generating a plurality of random numbers comprises a chaotic noise generator for generating chaotic noise, and a recording device for sampling the chaotic noise such that a plurality of samples are created.
  • a digitizer is incorporated for converting each sample of the plurality into digital data such that random numbers are generated responsive to the sample values.
  • a processing element is used to process the data in order to provide optimally random values.
  • a table containing digests of previously generated values is provided in order to filter out potential duplicate value sub-sequences.
  • FIG. 1 illustrates a block diagram of the preferred embodiment the present invention
  • FIG. 2 illustrates a high-level overview flow chart of the preferred embodiment the present invention
  • FIG. 3 illustrates a more detailed flow chart of the first several steps of the preferred embodiment of the present invention.
  • FIG. 4 illustrates a more detailed flow chart of the remaining steps of the preferred embodiment of the present invention.
  • FIG. 1 a block diagram of the preferred embodiment of the present invention is illustrated depicting a system 5 for generating a plurality for random numbers.
  • random numbers refers to "apparently” random numbers.
  • system 5 generates a random sequence of secret identification numbers, hereinafter referred to as IDs.
  • IDs are associated with a fob of a remote keyless entry system. To improve and ensure the security of such an entry system, cryptography is incorporated to substantially restrict the opportunity to compromise any random ID generated by system 5.
  • System 5 comprises a chaotic noise source 10 for generating chaotic noise to realize the aim of generating random IDs.
  • chaotic noise source 10 comprises an electromechanical generator for generating turbulent air flow. Turbulent air flow exhibits characteristics that may be classified as randomly occurring in nature, as opposed to those elements having a pseudo randomness resulting from simulated chaos created by deterministic mathematics.
  • the turbulent air flow output of the chaotic noise generator 10 is generated by a small, high-air-volume, generically "noisy" fan because it provides turbulent air flow and thus creates noise that is inherently chaotic. It should be apparent that a spectrally pure noise source, such as a pure sinusoidal tone, is highly undesirable.
  • System 5 further comprises a recording device 15 for capturing the chaotic noise according to the unique spatial perspective of the recording device 15.
  • Recording device 15 records the chaotic noise output generated by chaotic noise source 10, as well as the ambient noise and any other extraneous sounds, such as fan motor noise, uniquely present at its particular spatial coordinates.
  • recording device 15 comprises a microphone positioned in reasonably proximate distance to the chaotic noise source 10 for recording the air flow around the microphone. It should be apparent to one of ordinary skill in the art that the relevant amplitudes of the sounds and noises recorded by recording device 15 when combined with self-noise from turbulent air flow over and around recording device 15, are unique, and as such, may not be reproduced as the coordinates of the device 15 are inhabited by only one spatial element.
  • sampler and digitizer 25 performs two functions. First, sampler and digitizer 25 samples the sound recorded by recording device 15 at an interval responsive to the computing speed of the microprocessor 35. In the preferred embodiment, the interval varies due to timing variations inherent in software execution but is always longer than the period of the fundamental frequency of dominant noise elements in the chaotic noise source 10. An example of such a scenario is where the sampling interval is slower than the time required for one rotation of the fan generating the turbulent chaotic noise.
  • Sampler and digitizer 25 generates a plurality of samples responsive to the sampled chaotic noise. Each sample is then digitized by an analog to digital converter, such that each sample is converted into a digital data set, which in one embodiment comprises 8 bits. In the preferred embodiment of the present invention, both functions of sampler and digitizer 25 are realized by a personal computer (“PC") sound card, such as for example the Sound Blaster® SBPro sound card.
  • PC personal computer
  • system 5 additionally comprises a microprocessor or microcontroller 35, and a memory 30.
  • Microprocessor 35 performs a series of algorithmic functions stored in memory 30 for obscuring the generated random numbers, and for ensuring the randomness of the random numbers generated. As a result of performing these algorithmic functions, a random number output is generated.
  • FIG. 2 An overview of the algorithmic functions performed is provided in FIG. 2.
  • FIG. 3 a detailed flow chart for generating a stream of apparently random numbers according to the preferred embodiment of the present invention is illustrated. It should be noted that the crux of the manufacturing process of FIG. 3 is to illustrate an inexpensive method for creating a stream or sequence of random numbers. The present invention concentrates on the application of generating apparently random numbers for "secret key" creation, also with the understanding that the discussion applies equally to generating any stream of apparently random numbers, such as that used by one-time pad/Vernam cipher encryption techniques or for Monte Carlo computer simulations.
  • microprocessor 35 The first function performed by microprocessor 35 is the algorithmic step of shuffling each data set. Upon receiving a digital data set of each converted sample, microprocessor 35 positions the digital data set into a data array 32.
  • array 32 is realized by a disk drive. However, array 32 may be realized as a portion of memory 30 so as to cover an application that leaves it in RAM. Nonetheless, rather than simply place samples in adjacent array locations, an access stride with wraparound is used to place sequential samples into array 32.
  • an 8 Kbyte array 32 is used for data samples.
  • a stride of 89 is used for storing elements-in other words, each element is stored 89 array locations past the previous element, modulo 8192. 89 was picked as a prime number approximately equal to the square root of 8192. Selecting a stride relatively prime to the array size guarantees that the strided access will touch every location within the array before repeating.
  • the dominant harmonics of the chaotic noise source 10 be distinct from the frequency at which the address for filling array 32 wraps around.
  • microprocessor 35 performs the algorithmic step of compressing each data set in order to "distill" the chaotic noise content.
  • the portion of the theoretical information content, or entropy, in the data stream is generally less than the number of raw data bits associated with each data bit set.
  • the information content is "squeezed” into a smaller space by transforming the raw data stream into a data stream that is closer in size to the theoretical minimum based on information entropy.
  • the average entropy of each bit after compression is higher than the entropy per bit before compression. Because a higher amount of entropy per bit better approximates true randomness, this compression step hampers crypt analysts attempting to perform statistical analysis on the sampled data.
  • each digital data set of 8 Kbytes has been shuffled prior to executing the compression step.
  • each number in the resultant compressed data set is better approximation to apparently random numbers than the raw samples.
  • Various compression techniques are known to one of ordinary skill in the art, such as PKZIP compression software and UNIX compression software, though Huffman encoding is preferred for this application due to its simplicity.
  • Huffman encoding entails a byte by byte compression technique wherein the number of occurrences in the 8 Kbyte data input set of byte values from 0 to 255 is tallied. Each byte value is assigned a bit string, with shorter strings assigned to more frequent byte values. In the event all 256 values of the 8 bit input occur with equal probability, the data is unaffected. However, as is much more likely the case, in the event that the probability distribution of inputs is nonuniform, the Huffman encoding process substitutes a sequence of varying length bit streams for the array of byte values.
  • Huffman encoding is the preferred compression technique. It should be noted that in the general case Huffman encoding or any other off the shelf compression technology will not provide perfect compression for all possible input data sets--i.e., will not result in an entropy of one bit of theoretical information content per bit of resultant values--but will in most practical cases substantially compress the data.
  • a third algorithmic step performed by microprocessor 35 is one way encrypting the data set. Because compression will in general not give perfectly random results, a further step is needed to foil potential attacks by crypt analysts. To insure against compromise by prediction techniques, each compressed sample is one way encrypted. The step of one way encryption is performed for two essential reasons. First, encrypting the input bits insures the randomness of the resultant numbers generated by system 5. Second, performing a one way encryption step frustrates attempts to sample the random data stream for extrapolating other generated values based on attempts to model fan noise.
  • the one way encryption technique of choice is MD-5.
  • MD-5 is a one way hash function with no cryptographic key requirements.
  • MD-5 is inherently irreversible because it reduces a 64 byte input array to a 16 byte output array, making brute force attacks based on guessing inputs impractical--any given output could have been generated by 4 ⁇ 10 115 separate inputs.
  • MD-5 works on 64 byte input blocks permits mixing of sampled data from many non-sequential samples from the strided filling of the input array 32. As such, recovery of the original data stream is made impossible, even by the original encryptor.
  • MD-5 comprises a uniformly distributed probability of output bit values when given inputs with essentially any set of varying input values. It should be apparent, however, that the MD-5 approach may replaced by various other encryption methods in view of the instant disclosure, including MD-2 encryption, MD-4 encryption, SHA encryption, SNEFRU encryption, or even simply Exclusive OR-ing a plurality of input byte values to form each output byte value as well as other techniques apparent to one of ordinary skill in the art in view of the present invention.
  • an additional algorithmic step is performed by microprocessor 35.
  • a portion of each compressed sample preferably, or in the alternative a portion of each data set are input to a logical exclusive OR (“XOR") gate 38 simultaneously with an independently varying, guaranteed non-repeating value, preferably the date and time of day.
  • the output of the XOR is then one way encrypted algorithmic step by microprocessor 35. In so doing, some variation is instituted in the input of the one way encryption algorithm in the event an unintentionally repetitive data input exists.
  • a one way encrypted random number output is generated by computer 20, and more particularly microprocessor 35.
  • This output is comprises a stream of random byte values 64.
  • Each random byte value comprises a uniform probability of distribution with respect to a predetermined range.
  • FIG. 4 a flow chart of a method for converting the random byte values 64 into ID values is illustrated.
  • a stream of random byte values generated, several additional steps may be performed to realize a secret identification value. This is of particular significance where a secret number is required to uniquely identify a particular object, such as a keyless entry fob in the preferred embodiment, or a cellular phone for example.
  • the first step performed on the stream of random byte values involves a determination as to whether a secret identification number is needed. This is particularly of note in the preferred embodiment where fob transmitters are manufactured as part of a remote control keyless entry systems.
  • the fob programmer examines the present need for a secret identification number for downloading during production. In the event a secret identification number is not needed, the random byte stream is discarded while new values are continuously generated. Discarding bytes when the programmer is idle further complicates cryptanalysis by making the number of discarded bytes responsive to the varying interval between fob programming events.
  • the random byte values generated are used as a basis for creating the number. Because the actual numbers used within the secret ID must satisfy certain predetermined properties, the raw random byte values are not used as the secret ID value itself. Rather, the secret ID is created in response to the random byte values as described herein. As such, the secret IDs are themselves randomly generated--i.e., any particular secret ID cannot be predicted even given complete information about all other secret IDs generated.
  • the values that comprise the generated secret ID fall within three categories: linear feedback shift register (“LFSR”), cyclic redundancy code (“CRC”), and other values.
  • the LFSR values are selected to correspond with maximal length feedback polynomials. These are feedback terms that, when used in an LFSR, produce sequences that cycle through all possible values except zero before repeating. Selection of a 20 bit and a 19 bit feedback term, as detailed in U.S. Pat. No. 5,363,448, commonly assigned with the present invention is accomplished by using the random byte stream to randomly select an entry in a file with precomputed maximal length LFSR feedback terms.
  • the CRC feedback value for the secret ID is selected to correspond to a feedback polynomial that has a mixture of one and zero bits.
  • the preferred criteria is that random bytes are employed for the feedback terms, but bytes having fewer than two "one" bits or fewer than two "zero" bits are discarded.
  • each byte of the 39 bit CRC feedback polynomials is guaranteed to have no more than 6 bits of the same value.
  • the top polynomial bit is forced to ⁇ 1 ⁇ while the bit above that is set to ⁇ 0 ⁇ in view of the fact that the 39 bit polynomial is contained in a 40 bit set of bytes.
  • there are (238 5 )/4! or 190,908,292,792 possible values for the CRC feedback term wherein the 5 represents the number of bytes with 238 possible values each, and the four corresponds with the number of constant values of the top two bits.
  • the other secret identification values are selected by simply using the random byte stream values.
  • initial LFSR seed values a non-zero random value is required, rejecting all zeros.
  • LFSR maximal length linear feedback shift register
  • a cyclic redundancy checking (“CRC”) device subsequently screens feedback values using a 39 bit CRC feedback configuration such that each byte has at a least two logical 0 bits and two logical 1 bits. The remainder of the process involves selecting other data from the random byte stream as initial values. As a result, the output generated is a candidate 128 bit secret identification number. Prior to acceptance, it must be demonstrated to be unique with respect to all previously generated secret identification values.
  • duplicate secret ID values are suppressed without keeping precise records of secret ID values previously generated.
  • Duplicate ID values would cause problems in that they would result in issuing two fobs with identical cryptographic keys.
  • each ID value generated In order to provide a guarantee of uniqueness, each ID value generated must be compared against all previously generated values. However, keeping a list of previously generated values represents a security vulnerability in that such a list is subject to theft or other compromise.
  • the further embodiment of the present invention keeps a digest or condensed version of generated IDs in order to guarantee uniqueness without compromising security.
  • Detection and elimination of accidentally duplicated results in the output of computer 20 is performed by means of a comparator 40 for comparing each output with all previous outputs. While in the preferred embodiment these outputs are secret IDs, it will be apparent to one of ordinary skill in the art that the following techniques could be applied to any data set comprising a plurality of bits that must be kept secure, yet be guaranteed unique.
  • comparator 40 comprises a memory 42 for storing a digest of each secret ID generated. Further, in the preferred embodiment, duplicates are simply ignored. However, in an a alternate embodiment, a discarding device or duplicate data dump 44 is incorporated for discarding duplicates in the plurality of encrypted random numbers.
  • the comparator 40 and memory 42 operate as follows.
  • a secure digest of the candidate secret identification number is computed.
  • this digest comprises a 32 bit number that is deterministically computed from the 128 bit identification number in such a way as to ensure knowledge of the 32 bit digest does not reveal any useful information about the original secret identification number.
  • Each secret identification number corresponds to one and only one digest value. Therefore, ensuring that no two secret ID numbers having identical digest values are ever issued guarantees that no two identical secret ID numbers are issued. And as a very large number of distinct secret identification numbers formulate the same digest value, it is thus difficult to infer which secret identification number caused any particular digest value to be generated.
  • the secret identification digest may be realized by performing a cryptographically secure hash function. While the MD-5 encryption method is the preferable choice, MD-2, MD-4, SHA, SNEFRU encryption processes, as well as other techniques apparent to one of ordinary skill in the art in view of the present invention may also be employed.
  • the 16 byte identification value is padded with zeros to form a 64 byte input.
  • MD-5 then computes a 128-bit result that is treated as four 32 bit words which are XORed together to form a 32 bit resultant digest value. This resultant digest value is uniformly distributed over the range of a 32 bit values.
  • bitmapped table of previously generated digest values is checked for duplicates. It should be noted that the probability of an actual duplicate is vanishingly small. With no "twiddle factor"--defined as the value of bit pattern 26 in U.S. Pat. No.
  • 5,398,284--the possible number of combinations equal the product of the number (256) of ID byte values, the count number (255) of LFSR initializer values, the count number (2048) of LFSR feedback values, the identification number (8,355,840) of LFSR initializer values, the identification number (356,960) of LFSR feedback values, and the number (190,908,292,792) of CRC feedback values, or 7.61 ⁇ 10 31 possible valid identification numbers.
  • an approximation to the expected number of identification numbers for which a single duplicate will be generated is approximately (2V) 1/2 , where V is the total number of possible of identification numbers.
  • V is the total number of possible of identification numbers.
  • an identification number is generated once per second, one duplicate will be generated every 390 million years.
  • a duplicate checking function is performed. By checking for duplicates, a "collision" with previous digest values may be detected and discarded to insure against the possibility that two secret identification numbers are generated. This is realized by first comparing the digest value with a list of all previously generated digest values. Subsequently, new secret identification numbers having duplicate digest values are discarded. As such, identification numbers generating a previously encountered digest value having a bitmapped table value of 1 are discarded.
  • an accepted identification number is input with a new digest value having a bitmap table value of 0.
  • This unique resultant identification number then causes the bitmap table for the new digest value to be set to 1, indicating that the new identification number has been issued. After doing so, the programmer may transfer the secret identification number to the object requiring a secret number.
  • a resultant secret identification number may be programmed into a fob transmitter in a remote keyless entry vehicular system.
  • a base receiver of the remote keyless entry vehicular system may be programmed with the secret identification number.

Abstract

The present invention teaches a method of generating a secret identification number from a random digital data stream. The method comprises the step of initially selecting a first and a second group of bytes from the random digital data stream, wherein the first and second groups of bytes have a first and second numerical value. Subsequently, a first maximal length LFSR feedback term is looked up from a list in response to said first numerical value, while a second maximal length LFSR feedback term is looked up from the list in response to said second numerical value. The method additionally comprises the step of generating a cyclic redundancy code feedback term in response to executing a cyclic redundancy code check on a third group of bytes selected from the random digital data stream. Moreover, the method comprises the step of forming the secret identification number from the first and second maximal length LFSR feedback terms, the cyclic redundancy code feedback term, and a fourth group of bytes from the random digital data stream.

Description

RELATED APPLICATIONS
This application is a continuation in part of an application (Ser. No. 08/532,337) filed on Sep. 22, 1995, commonly assigned with the present invention, now U.S. Pat. No. 5,696,828.
FIELD OF THE INVENTION
The present invention relates to cryptography, and more particularly to a method of generating secret identification numbers.
BACKGROUND OF THE INVENTION
Pseudo-random number generators are well known in the cryptographic sciences. Cryptography is defined as the art and science of preventing eavesdroppers from understanding the meaning of intercepted messages. In such security minded applications, pseudo-random as well as truly random number generators may be used to support the encryption and decryption of information. These number generators are primarily employed to generate "secret keys" for use in cryptographic encoding and decoding of information.
Within the application of a number generator for creating secret keys, a set of secret numbers is used as a cryptographic key for encoding and/or decoding messages. It is vitally important that this key not be known by unauthorized parties, nor discernible via cryptanalysis based on knowledge of messages. Thus, it is desirable to generate a sequence of apparently random numbers in order to manufacture a plurality of secret keys. An "apparently random" number is definable as a number within a sequence or progression of successive numbers having a value which is neither practically reconstructible nor may the set of possible values of that particular number be substantially narrowed, even when given (1) copies of the generator algorithms; (2) non-invasive access to the equipment while generating the numbers; and (3) a complete list of all other numbers in the sequence.
An inexpensive manufacturing process for secret keys poses special requirements on generating apparently random numbers. In particular, only widely available off-the-shelf equipment may be used in order to minimize procurement, maintenance, and repair costs. Further, the sequence of numbers used to create the secret keys must not be reproducible, even by the manufacturer while in full possession of all equipment and algorithms used in the process. Moreover, there must be a guarantee of no duplicate secret keys ever being generated and, at the same time, no record of the actual key values may be retained by the manufacturer.
Traditionally, pseudo random number generators have been the means of choice in low security applications. Pseudo-random number generators produce a sequence of apparently random numbers utilizing a deterministic algorithm, and assume that any potential unauthorized party has neither access to nor desire to discover the generating algorithm.
Pseudo-random numbers serve as an approximation to truly random numbers for a limited set of purposes. Traditional pseudo-random number generators are implemented using linear feedback shift registers or linear congruential generators using either hardware or software. Given the algorithm and current state, such as the contents of a hardware register or values of computer software variables, the output of a pseudo-random number generator may be exactly replicated. As this state information may be inferred from a one or more values within the number sequence, traditional pseudo-random number generators have substantial limitations.
Cryptographically secure pseudo-random number generators are special pseudo-random number generators designed to resist attempts to determine the current state of the generated random number stream through analysis. These systems typically assume that unauthorized parties have complete access to the algorithm, though not to the current state values. Such generators are, however, still deterministic. As such, in the event the current state is breached by cryptanalysis or other method, all numbers created by the generator in the future--and, in many designs, the past--may be deduced. Typically, in these systems, it is assumed that the legitimate owner of the generator may be trusted not to reveal or exploit knowledge of the current generator state. However, a defecting employee or industrial espionage may compromise a cryptographically secure generator. Thus, these generators also have substantial disadvantages.
Alternatively, a "truly random" sequence of numbers may be defined as one in which there is a theoretical basis for stating that the next number in the sequence cannot be predicted using either a mathematical or scientific method given an arbitrarily long history of the sequence behavior. In particular, a truly random number provide absolutely no pattern, correlation, or dependency among the remaining numbers in a sequence of numbers other than chance patterns. Generation of truly random sequences typically requires physical measurement of quantum mechanical uncertainty, such as, for example, radioactive decay. While truly random numbers may be employed for use as apparently random numbers, relevant measurement equipment is presently not commerically available for such purposes. It should be noted that even using physical measurement of quantum mechanical uncertainty to generate truly random sequences does not guarantee against sub-sequences of random numbers repeating and thus generating duplicate secret keys.
A further known approach to generating truly random numbers relies on chaos theory. Here, chaotically generated numbers are created by repeated experimental trials using a chaotic system with quantized outcomes, such as coin tossing or rolling dice. In a chaotic system, outcomes vary greatly and non-linearly according to minute variations of initial experimental conditions. Therefore small sources of experimental error that are inevitably present in the physical world are magnified, thereby making it impractical to correlate system outputs, or numbers, with available measurements of system inputs, such as initial conditions. Generating large volumes of chaotic experimental results has in the past, however, required special purpose hardware, such as for example a nonlinear oscillator, which is not readily available. Furthermore, there is no guarantee against unintentionally repeating generated secret key values.
Using deterministic mathematical algorithms that compute simulations of chaotic systems has been proposed as a scheme for generating apparently random numbers. Because such simulations are computed using exactly specified numbers representing initial conditions, the source of apparent randomness due to minute variation of initial conditions is lost when performing simulations instead of physical experiments. These approaches are deterministic and therefore vulnerable and also subject to attack and compromise if the particular chaotic formula being used becomes known--such as for example by examining the relevant patent--or deduced by cryptanalysis. Similarly, pseudo-random number generators are based on algorithmic recursion formulas are subject to compromise.
Strategies employed in pseudo-random number generator designs have often relied upon specialized digital hardware. One such method uses a linear feedback shift register ("LFSR") for obtaining an n-bit pseudo random number by serially shifting out bits from the shift register or shift register chain during a substantially long period outside the purview of potential eavesdroppers. For example, a sixty four (64) bit maximal length LFSR running at a clocked frequency of 1 MHZ could be sampled every few seconds to approximate a random number stream. In such an example, the random number stream will not be repeated for 585,000 years. However, this LFSR approach is still deterministic. As such, all future and past states are predictable when the present state of the shift register is known. For example, purchase and reverse-engineering of a single manufactured unit to determine its secret key value would allow intelligent guessing of the values of other units manufactured in the same or proximate batches.
As a result of the hereinabove shortcomings and in view of the growth of cryptographic applications, a demand exists for a random number generator which is not deterministic, implementable with commonly available equipment, and which will not generate duplicate secret keys. A need further exists for such a random number generator from which results cannot be duplicated, even by the designer or secret key manufacturer.
DISCLOSURE OF THE INVENTION
The primary advantage of the present invention is to overcome the limitations of the prior art.
Another advantage of the present invention is to provide a method and system for generating a number stream that, using the most advanced cryptanalytic and statistical methods available, is indistinguishable from a truly random number stream.
Another advantage of the present invention is to provide a method and system for generating random numbers which is non-deterministic.
Another advantage of the present invention is to provide a method and system for guaranteeing that no particular sub-sequence of random numbers or derivative value is used twice while at the same time eliminating vulnerabilities normally associated with keeping records of values generated.
A further advantage of the present invention is to provide a method and system for generating random numbers which is immune to attack and compromise, even from the manufacturer of the random numbers.
Yet another advantage of the present invention is to provide a method and system for generating random numbers which utilizes the apparently random nature of chaotic systems generally.
In order to achieve the advantages of the present invention, a method of generating secret identification numbers from a random digital data stream is disclosed. The method comprises the step of initially selecting a first and a second group of bytes from the random digital data stream, wherein the first and second groups of bytes have a first and second numerical value. Subsequently, a first maximal length LFSR feedback term is looked up from a list in response to said first numerical value. The method additionally comprises the step of generating a cyclic redundancy code feedback term in response to filtering out predetermined values from a third group of bytes selected from the random digital data stream. Moreover, the method comprises the step of forming the secret identification number from the first maximal length LFSR feedback term, the cyclic redundancy code feedback term, and a fourth group of bytes from the random digital data stream.
Moreover, a method is disclosed for generating a plurality of random numbers. The method comprises the initial step of generating chaotic noise. Subsequently, the chaotic noise is sampled and converted to digital data such that a random number is generated responsive to the sampled value. A refinement of the method further processes the digital data by reordering, compressing, and hashing a plurality of samples in order to create a plurality of random numbers. A further refinement of the method retains digests of generated values in order to provide absolute guarantees that value sequences of a predetermined length are never duplicated.
Additionally, a system of generating a plurality of random numbers is also disclosed. The system comprises a chaotic noise generator for generating chaotic noise, and a recording device for sampling the chaotic noise such that a plurality of samples are created. Moreover, a digitizer is incorporated for converting each sample of the plurality into digital data such that random numbers are generated responsive to the sample values. A processing element is used to process the data in order to provide optimally random values. Additionally, a table containing digests of previously generated values is provided in order to filter out potential duplicate value sub-sequences.
These and other advantages and objects will become apparent to those skilled in the art from the following detailed description read in conjunction with the appended claims and the drawings attached hereto.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be better understood from reading the following description of non-limitative embodiments, with reference to the attached drawings, wherein below:
FIG. 1 illustrates a block diagram of the preferred embodiment the present invention;
FIG. 2 illustrates a high-level overview flow chart of the preferred embodiment the present invention;
FIG. 3 illustrates a more detailed flow chart of the first several steps of the preferred embodiment of the present invention; and
FIG. 4 illustrates a more detailed flow chart of the remaining steps of the preferred embodiment of the present invention.
It should be emphasized that the drawings of the instant application are not to scale but are merely schematic representations and are not intended to portray the specific parameters or the structural details of the invention, which can be determined by one of skill in the art by examination of the information herein.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1, a block diagram of the preferred embodiment of the present invention is illustrated depicting a system 5 for generating a plurality for random numbers. It should be noted that for the purposes of the present disclosure the phrase "random numbers" refers to "apparently" random numbers. Moreover, as will become evident upon understanding the present disclosure, and the preferred embodiment particularly, system 5 generates a random sequence of secret identification numbers, hereinafter referred to as IDs. In the preferred embodiment, each ID is associated with a fob of a remote keyless entry system. To improve and ensure the security of such an entry system, cryptography is incorporated to substantially restrict the opportunity to compromise any random ID generated by system 5.
System 5 comprises a chaotic noise source 10 for generating chaotic noise to realize the aim of generating random IDs. In one embodiment of the present invention, chaotic noise source 10 comprises an electromechanical generator for generating turbulent air flow. Turbulent air flow exhibits characteristics that may be classified as randomly occurring in nature, as opposed to those elements having a pseudo randomness resulting from simulated chaos created by deterministic mathematics. In the preferred embodiment of the present invention, the turbulent air flow output of the chaotic noise generator 10 is generated by a small, high-air-volume, generically "noisy" fan because it provides turbulent air flow and thus creates noise that is inherently chaotic. It should be apparent that a spectrally pure noise source, such as a pure sinusoidal tone, is highly undesirable.
System 5 further comprises a recording device 15 for capturing the chaotic noise according to the unique spatial perspective of the recording device 15. Recording device 15 records the chaotic noise output generated by chaotic noise source 10, as well as the ambient noise and any other extraneous sounds, such as fan motor noise, uniquely present at its particular spatial coordinates. In the preferred embodiment, recording device 15 comprises a microphone positioned in reasonably proximate distance to the chaotic noise source 10 for recording the air flow around the microphone. It should be apparent to one of ordinary skill in the art that the relevant amplitudes of the sounds and noises recorded by recording device 15 when combined with self-noise from turbulent air flow over and around recording device 15, are unique, and as such, may not be reproduced as the coordinates of the device 15 are inhabited by only one spatial element.
Once the chaotic noise generated by source 10 is recorded by device 15, the resultant recorded sound is fed into a computer 20, and more particularly sampler and digitizer 25. Sampler and digitizer 25 performs two functions. First, sampler and digitizer 25 samples the sound recorded by recording device 15 at an interval responsive to the computing speed of the microprocessor 35. In the preferred embodiment, the interval varies due to timing variations inherent in software execution but is always longer than the period of the fundamental frequency of dominant noise elements in the chaotic noise source 10. An example of such a scenario is where the sampling interval is slower than the time required for one rotation of the fan generating the turbulent chaotic noise.
Sampler and digitizer 25 generates a plurality of samples responsive to the sampled chaotic noise. Each sample is then digitized by an analog to digital converter, such that each sample is converted into a digital data set, which in one embodiment comprises 8 bits. In the preferred embodiment of the present invention, both functions of sampler and digitizer 25 are realized by a personal computer ("PC") sound card, such as for example the Sound Blaster® SBPro sound card.
Moreover, system 5 additionally comprises a microprocessor or microcontroller 35, and a memory 30. Microprocessor 35 performs a series of algorithmic functions stored in memory 30 for obscuring the generated random numbers, and for ensuring the randomness of the random numbers generated. As a result of performing these algorithmic functions, a random number output is generated. An overview of the algorithmic functions performed is provided in FIG. 2.
Referring to FIG. 3, a detailed flow chart for generating a stream of apparently random numbers according to the preferred embodiment of the present invention is illustrated. It should be noted that the crux of the manufacturing process of FIG. 3 is to illustrate an inexpensive method for creating a stream or sequence of random numbers. The present invention concentrates on the application of generating apparently random numbers for "secret key" creation, also with the understanding that the discussion applies equally to generating any stream of apparently random numbers, such as that used by one-time pad/Vernam cipher encryption techniques or for Monte Carlo computer simulations.
The first function performed by microprocessor 35 is the algorithmic step of shuffling each data set. Upon receiving a digital data set of each converted sample, microprocessor 35 positions the digital data set into a data array 32. In the preferred embodiment, array 32 is realized by a disk drive. However, array 32 may be realized as a portion of memory 30 so as to cover an application that leaves it in RAM. Nonetheless, rather than simply place samples in adjacent array locations, an access stride with wraparound is used to place sequential samples into array 32.
It is important to note the reasoning behind not putting sequential samples in adjacent array locations is as follows. If, for example, a sinusoidal input signal is sampled much more quickly than the frequency of the sinusoid, sequential samples will have similar and readily predictable values because the input signal changes relatively slowly compared to the sampling rate. While it is desirable to sample slowly enough that this does not happen, in a practical commercial system the demand for high data acquisition rates may require fast enough sampling that this problem must be resolved in another way. In the preferred embodiment, fast sampling is permitted, but the data from sequential samples is dispersed in a data array in order. This dispersion helps obscure data correlations between successive samples by spreading the information out. It also facilitates mixing of data samples from widely different times in later steps, because the mixing is performed on blocks of adjacent samples.
In the preferred embodiment, an 8 Kbyte array 32 is used for data samples. A stride of 89 is used for storing elements--in other words, each element is stored 89 array locations past the previous element, modulo 8192. 89 was picked as a prime number approximately equal to the square root of 8192. Selecting a stride relatively prime to the array size guarantees that the strided access will touch every location within the array before repeating.
It is also preferred that the dominant harmonics of the chaotic noise source 10 be distinct from the frequency at which the address for filling array 32 wraps around. In the preferred embodiment with a stride of 89, this means that the sampling rate should be such that complete sinusoids of any strong harmonic do not fit or almost fit in a multiple of 92 samples-8192 array elements divided by a stride of 89 equals approximately 92 strided accesses before wraparound occurs. If this preferred characteristic is not provided, then it could result in adjacent samples in the array having similar values sampled from similar places on a generally periodic, although chaotically varying waveform.
Additionally, microprocessor 35 performs the algorithmic step of compressing each data set in order to "distill" the chaotic noise content. The portion of the theoretical information content, or entropy, in the data stream is generally less than the number of raw data bits associated with each data bit set. By compressing the data bits associated with each data bit set, the information content is "squeezed" into a smaller space by transforming the raw data stream into a data stream that is closer in size to the theoretical minimum based on information entropy. The average entropy of each bit after compression is higher than the entropy per bit before compression. Because a higher amount of entropy per bit better approximates true randomness, this compression step hampers crypt analysts attempting to perform statistical analysis on the sampled data.
In the preferred embodiment, each digital data set of 8 Kbytes has been shuffled prior to executing the compression step. By performing compression on each digital data set, each number in the resultant compressed data set is better approximation to apparently random numbers than the raw samples. Various compression techniques are known to one of ordinary skill in the art, such as PKZIP compression software and UNIX compression software, though Huffman encoding is preferred for this application due to its simplicity.
Huffman encoding entails a byte by byte compression technique wherein the number of occurrences in the 8 Kbyte data input set of byte values from 0 to 255 is tallied. Each byte value is assigned a bit string, with shorter strings assigned to more frequent byte values. In the event all 256 values of the 8 bit input occur with equal probability, the data is unaffected. However, as is much more likely the case, in the event that the probability distribution of inputs is nonuniform, the Huffman encoding process substitutes a sequence of varying length bit streams for the array of byte values. It should be apparent to one of ordinary skill in the art that as the lengths of the bit strings vary in relation with the input byte probability distribution, numerous output byte values exist irrespective of the repetition of the sequence of input byte values due to undesirable correlations. As such, Huffman encoding is the preferred compression technique. It should be noted that in the general case Huffman encoding or any other off the shelf compression technology will not provide perfect compression for all possible input data sets--i.e., will not result in an entropy of one bit of theoretical information content per bit of resultant values--but will in most practical cases substantially compress the data.
A third algorithmic step performed by microprocessor 35 is one way encrypting the data set. Because compression will in general not give perfectly random results, a further step is needed to foil potential attacks by crypt analysts. To insure against compromise by prediction techniques, each compressed sample is one way encrypted. The step of one way encryption is performed for two essential reasons. First, encrypting the input bits insures the randomness of the resultant numbers generated by system 5. Second, performing a one way encryption step frustrates attempts to sample the random data stream for extrapolating other generated values based on attempts to model fan noise.
In the preferred embodiment, the one way encryption technique of choice is MD-5. This selection is based on several factors, including the fact that MD-5 is a one way hash function with no cryptographic key requirements. MD-5 is inherently irreversible because it reduces a 64 byte input array to a 16 byte output array, making brute force attacks based on guessing inputs impractical--any given output could have been generated by 4×10115 separate inputs. Additionally, the fact that MD-5 works on 64 byte input blocks permits mixing of sampled data from many non-sequential samples from the strided filling of the input array 32. As such, recovery of the original data stream is made impossible, even by the original encryptor. Moreover, MD-5 comprises a uniformly distributed probability of output bit values when given inputs with essentially any set of varying input values. It should be apparent, however, that the MD-5 approach may replaced by various other encryption methods in view of the instant disclosure, including MD-2 encryption, MD-4 encryption, SHA encryption, SNEFRU encryption, or even simply Exclusive OR-ing a plurality of input byte values to form each output byte value as well as other techniques apparent to one of ordinary skill in the art in view of the present invention.
To further ensure the randomness of the numbers generated by system 5, in an alternate embodiment of the present invention, an additional algorithmic step is performed by microprocessor 35. Here, a portion of each compressed sample preferably, or in the alternative a portion of each data set are input to a logical exclusive OR ("XOR") gate 38 simultaneously with an independently varying, guaranteed non-repeating value, preferably the date and time of day. The output of the XOR is then one way encrypted algorithmic step by microprocessor 35. In so doing, some variation is instituted in the input of the one way encryption algorithm in the event an unintentionally repetitive data input exists. As a point of illustration, it should be apparent to one of ordinary skill in the art that simply running the time of day or a counter output through an MD-5 encryption scheme would be vulnerable to attack by someone who knows the process and guesses the time of day while looking for a matching output. However, Exclusive OR-ing the time of day with approximately random values effectively obscures the information and makes guessing the input to the encryption algorithm impracticable.
As a result of the hereinabove algorithmic steps, a one way encrypted random number output is generated by computer 20, and more particularly microprocessor 35. This output is comprises a stream of random byte values 64. Each random byte value comprises a uniform probability of distribution with respect to a predetermined range.
Referring to FIG. 4, a flow chart of a method for converting the random byte values 64 into ID values is illustrated. With a stream of random byte values generated, several additional steps may be performed to realize a secret identification value. This is of particular significance where a secret number is required to uniquely identify a particular object, such as a keyless entry fob in the preferred embodiment, or a cellular phone for example.
The first step performed on the stream of random byte values involves a determination as to whether a secret identification number is needed. This is particularly of note in the preferred embodiment where fob transmitters are manufactured as part of a remote control keyless entry systems. Here, the fob programmer examines the present need for a secret identification number for downloading during production. In the event a secret identification number is not needed, the random byte stream is discarded while new values are continuously generated. Discarding bytes when the programmer is idle further complicates cryptanalysis by making the number of discarded bytes responsive to the varying interval between fob programming events.
However, when a secret identification number is required, the random byte values generated are used as a basis for creating the number. Because the actual numbers used within the secret ID must satisfy certain predetermined properties, the raw random byte values are not used as the secret ID value itself. Rather, the secret ID is created in response to the random byte values as described herein. As such, the secret IDs are themselves randomly generated--i.e., any particular secret ID cannot be predicted even given complete information about all other secret IDs generated. The values that comprise the generated secret ID fall within three categories: linear feedback shift register ("LFSR"), cyclic redundancy code ("CRC"), and other values.
The LFSR values are selected to correspond with maximal length feedback polynomials. These are feedback terms that, when used in an LFSR, produce sequences that cycle through all possible values except zero before repeating. Selection of a 20 bit and a 19 bit feedback term, as detailed in U.S. Pat. No. 5,363,448, commonly assigned with the present invention is accomplished by using the random byte stream to randomly select an entry in a file with precomputed maximal length LFSR feedback terms.
The CRC feedback value for the secret ID is selected to correspond to a feedback polynomial that has a mixture of one and zero bits. The preferred criteria is that random bytes are employed for the feedback terms, but bytes having fewer than two "one" bits or fewer than two "zero" bits are discarded. Thus, each byte of the 39 bit CRC feedback polynomials is guaranteed to have no more than 6 bits of the same value. Of course, the top polynomial bit is forced to `1` while the bit above that is set to `0` in view of the fact that the 39 bit polynomial is contained in a 40 bit set of bytes. Given that some byte values are discarded, there are (2385)/4! or 190,908,292,792 possible values for the CRC feedback term, wherein the 5 represents the number of bytes with 238 possible values each, and the four corresponds with the number of constant values of the top two bits.
As for the third category, the other secret identification values are selected by simply using the random byte stream values. In the case of initial LFSR seed values, a non-zero random value is required, rejecting all zeros.
Thus, the feedback term of a maximal length linear feedback shift register ("LFSR") is randomly selected from a pre-computed list in a memory device. This results in a 20 bit LFSR feedback and 19 bit LFSR feedback arrangement, although other sized LFSRs could be readily accommodated.
Moreover, a cyclic redundancy checking ("CRC") device subsequently screens feedback values using a 39 bit CRC feedback configuration such that each byte has at a least two logical 0 bits and two logical 1 bits. The remainder of the process involves selecting other data from the random byte stream as initial values. As a result, the output generated is a candidate 128 bit secret identification number. Prior to acceptance, it must be demonstrated to be unique with respect to all previously generated secret identification values.
In still a further embodiment of the present invention, duplicate secret ID values are suppressed without keeping precise records of secret ID values previously generated. Duplicate ID values would cause problems in that they would result in issuing two fobs with identical cryptographic keys. In order to provide a guarantee of uniqueness, each ID value generated must be compared against all previously generated values. However, keeping a list of previously generated values represents a security vulnerability in that such a list is subject to theft or other compromise. Thus, the further embodiment of the present invention keeps a digest or condensed version of generated IDs in order to guarantee uniqueness without compromising security.
Detection and elimination of accidentally duplicated results in the output of computer 20 is performed by means of a comparator 40 for comparing each output with all previous outputs. While in the preferred embodiment these outputs are secret IDs, it will be apparent to one of ordinary skill in the art that the following techniques could be applied to any data set comprising a plurality of bits that must be kept secure, yet be guaranteed unique.
To effectively perform this function of guaranteeing uniqueness, comparator 40 comprises a memory 42 for storing a digest of each secret ID generated. Further, in the preferred embodiment, duplicates are simply ignored. However, in an a alternate embodiment, a discarding device or duplicate data dump 44 is incorporated for discarding duplicates in the plurality of encrypted random numbers.
The comparator 40 and memory 42 operate as follows. As the first step of maintaining the uniqueness of all secret identification numbers, a secure digest of the candidate secret identification number is computed. In the preferred embodiment, this digest comprises a 32 bit number that is deterministically computed from the 128 bit identification number in such a way as to ensure knowledge of the 32 bit digest does not reveal any useful information about the original secret identification number. Each secret identification number corresponds to one and only one digest value. Therefore, ensuring that no two secret ID numbers having identical digest values are ever issued guarantees that no two identical secret ID numbers are issued. And as a very large number of distinct secret identification numbers formulate the same digest value, it is thus difficult to infer which secret identification number caused any particular digest value to be generated.
The secret identification digest may be realized by performing a cryptographically secure hash function. While the MD-5 encryption method is the preferable choice, MD-2, MD-4, SHA, SNEFRU encryption processes, as well as other techniques apparent to one of ordinary skill in the art in view of the present invention may also be employed. The 16 byte identification value is padded with zeros to form a 64 byte input. MD-5 then computes a 128-bit result that is treated as four 32 bit words which are XORed together to form a 32 bit resultant digest value. This resultant digest value is uniformly distributed over the range of a 32 bit values.
As result of computing a secret identification digest, according to the preferred embodiment, a bitmapped table of previously generated digest values is checked for duplicates. It should be noted that the probability of an actual duplicate is vanishingly small. With no "twiddle factor"--defined as the value of bit pattern 26 in U.S. Pat. No. 5,398,284--the possible number of combinations equal the product of the number (256) of ID byte values, the count number (255) of LFSR initializer values, the count number (2048) of LFSR feedback values, the identification number (8,355,840) of LFSR initializer values, the identification number (356,960) of LFSR feedback values, and the number (190,908,292,792) of CRC feedback values, or 7.61×1031 possible valid identification numbers.
For randomly generating values, an approximation to the expected number of identification numbers for which a single duplicate will be generated is approximately (2V)1/2, where V is the total number of possible of identification numbers. As 7.61×1031 possible valid identification numbers exist, one duplicate is expected to be generated for every (2×(7.61×1031))1/2 =1.23×1016 secret identification numbers manufactured. Thus, where an identification number is generated once per second, one duplicate will be generated every 390 million years.
However, human errors, hardware failures, software bugs, and mechanical failures must also be considered. Thus, a duplicate checking function is performed. By checking for duplicates, a "collision" with previous digest values may be detected and discarded to insure against the possibility that two secret identification numbers are generated. This is realized by first comparing the digest value with a list of all previously generated digest values. Subsequently, new secret identification numbers having duplicate digest values are discarded. As such, identification numbers generating a previously encountered digest value having a bitmapped table value of 1 are discarded.
With potential duplicates discarded, an accepted identification number is input with a new digest value having a bitmap table value of 0. This unique resultant identification number then causes the bitmap table for the new digest value to be set to 1, indicating that the new identification number has been issued. After doing so, the programmer may transfer the secret identification number to the object requiring a secret number.
Using the above process, a resultant secret identification number may be programmed into a fob transmitter in a remote keyless entry vehicular system. Once residing within the fob transmitter, a base receiver of the remote keyless entry vehicular system may be programmed with the secret identification number. By this arrangement, the secret identification number is transmitted by means of the computer only a single time to insure against compromise as is well known in the art.
While the particular invention has been described with reference to illustrative embodiments, this description is not meant to be construed in a limiting sense. It is understood that although the present invention has been described in a preferred embodiment, various modifications of the illustrative embodiments, as well as additional embodiments of the invention, will be apparent to persons skilled in the art upon reference to this description without departing from the spirit of the invention, as recited in the claims appended hereto. Thus, while detailed for use in remote keyless entry systems for automobiles and other vehicles, it should also be apparent to one of ordinary skill in the art that the present invention is also applicable to others remote systems requiring security, generally, as well as RFID tags, garage door openers, cellular phones and remote computer access systems, more specifically. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.
All of the U.S. Patents cited herein are hereby incorporated by reference as if set forth in their entirety.

Claims (30)

We claim:
1. A method of generating a secret identification number from a random digital data stream, the method comprising the steps of:
selecting a first group of bytes from the random digital data stream, said first group of bytes having a first numerical value;
looking up a first maximal length LFSR feedback term from a list in response to said first numerical value;
generating a cyclic redundancy code feedback term in response to filtering out predetermined values from a third group of bytes selected from said random digital data stream; and
forming the secret identification number from said first maximal length LFSR feedback term, said cyclic redundancy code feedback term, and a fourth group of bytes from said random digital data stream.
2. The method of generating a secret identification number from a random digital data stream of claim 1, wherein said step of generating a cyclic redundancy code feedback term comprises the steps of:
examining whether said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits; and
generating a replacement feedback term for said cyclic redundancy code feedback term if said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits.
3. The method of generating a secret identification number from a random digital data stream of claim 1, further comprising the steps of:
selecting a second group of bytes from the random digital data stream, said second group of bytes having a second numerical value; and
looking up a second maximal length LFSR feedback term from a list in response to said second numerical value such that said secret identification number is formed from said first and second maximal length LFSR feedback terma, said cyclic redundancy code feedback term, and a fourth group of bytes from said random digital data stream.
4. The method of generating a secret identification number from a random digital data stream of claim 3, further comprising the steps of:
repeating the steps of randomly selecting a first and a second group of bytes, looking up a first maximal length LFSR feedback term, looking up a second maximal length LFSR feedback term, generating a cyclic redundancy code feedback term, N times to create N secret identification numbers;
one way encrypting each of said N secret identification numbers;
computing a secure digest for each one way encrypted secret identification number of said N secret identification numbers;
comparing each one way encrypted secret identification number of said N secret identification numbers with each other one way encrypted secret identification number of said N secret identification numbers within said digest; and
discarding each one way encrypted secret identification number of said multiplicity within said digest when two identical compressed one way encrypted secret identification number are discovered.
5. A method for generating a multiplicity of random numbers, the method comprising the steps of:
generating chaotic noise;
sampling said chaotic noise such that a plurality of samples are created;
converting said plurality of samples into a random digital data stream; and
forming the multiplicity of random numbers from said random digital data stream.
6. The method for generating a multiplicity of random numbers of claim 5, wherein said step of forming the multiplicity of random numbers comprises:
shuffling said plurality of converted samples to obscure correlations between the multiplicity of random numbers.
7. The method for generating a multiplicity of random numbers of claim 5, wherein said step of forming the multiplicity of random numbers comprises:
compressing said plurality of converted samples such that each random number of the multiplicity has an equal probability of being generated.
8. The method for generating a multiplicity of random numbers of claim 5, wherein said step of forming the multiplicity of random numbers comprises:
one way encrypting said plurality of converted samples to prevent sampling the random digital data stream for extrapolating other generated values based on modeling said generated chaotic noise.
9. The method for generating a multiplicity of random numbers of claim 8, further comprising the step of:
examining said one way encrypted plurality of converted samples for duplicate converted samples; and
discarding said duplicate one way encrypted converted samples.
10. The method for generating a multiplicity of random numbers of claim 8, further comprising the step of:
exclusively ORing an independent perspective marker with said compressed plurality of converted samples to insure the randomness of the multiplicity of random numbers.
11. The method for generating a multiplicity of random numbers of claim 5, wherein said step of generating chaotic noise comprises the step of:
generating turbulent air flow.
12. The method for generating a multiplicity of random numbers of claim 11, wherein said step of generating turbulent air flow comprises the step of:
operating a fan for generating said turbulent air flow.
13. The method for generating a multiplicity of random numbers of claim 12, wherein said step of sampling is performed at a lower frequency than said fan operates.
14. The method for generating a multiplicity of random numbers of claim 5, wherein said further comprising the steps of:
selecting a first group of bytes from said random digital data stream, said first group of bytes having a first numerical value, respectively;
looking up a first maximal length LFSR feedback term from a list in response to said first numerical value;
generating a cyclic redudancy code feedback term in response to filtering out predetermined values from a third group of bytes selected from said random digital data stream; and
forming a secret identification number from said first maximal length LFSR feedback term, said cyclic redudancy code feedback term, and a fourth group of bytes from said random digital data stream.
15. The method for generating a multiplicity of random numbers of claim 14, wherein said step of generating a cyclic redudancy code feedback term comprises the step:
examing whether said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits; and
generating a replacement feedback term for said cyclic redundancy code feedback term if said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits.
16. The method for generating a multiplicity of random numbers of claim 14, further comprising the steps of:
selecting a second group of bytes from the random digital data stream, said second group of bytes having a second numerical value; and
looking up a second maximal length LFSR feedback term from a list in response to said second numerical value such that said secret identification number is formed from said first and second maximal length LFSR feedback terma, said cyclic redundancy code feedback term, and a fourth group of bytes from said random digital data stream.
17. The method for generating a multiplicity of random numbers of claim 16, further comprising the steps of:
repeating the steps of randomly selecting a first and a second group of bytes, looking up a first maximal length LFSR feedback term, looking up a second maximal length LFSR feedback term, generating a cyclic redudancy code feedback term, N times to create N secret identification numbers;
one way encrypting each of said N secret identification numbers;
computing a secure digest of each one way encrypted secret identification number of said N secret identification numbers;
comparing each one way encrypted secret identification number of said N secret identification numbers within said digest; and
discarding each one way encrypted secret identification number of said multiplicity within said digest when two identical compressed one way encrypted secret identification number are discovered.
18. A process for generating a multipicity of secure random numbers, the process comprising:
generating chaotic noise from turbulent air flow;
sampling said chaotic noise such that a plurality of samples are created;
converting said plurality of samples into a random digital data stream;
shuffling said plurality of converted samples to obscure correlations between the multiplicity of random numbers;
compressing said shuffled plurality of converted samples such that each random number of the mulitplicity has an equal probability of being generated; and
one way encrypting said compressed plurality of shuffled and converted samples such that the plurality of secure random numbers are created.
19. The process for generating a multiplicity of secure random numbers of claim 18, wherein said step of shuffling said digital data set comprises the step of:
positioning each converted sample of said plurality into a data array using a stride to reduce sampling correlations resulting from said sampling of said chaotic noise.
20. The process for generating a multiplicity of secure random numbers of claim 19, wherein said array comprises a width, said stride comprises a size, said width and said size being a prime number.
21. The process for generating a multiplicity of secure random numbers of claim 18, wherein said step of compressing said shuffled plurality of converted samples comprises the step of:
Huffman encoding said shuffled plurality of converted samples; or
PKZIP compressing said shuffled plurality of converted samples; or
UNIX compressing said shuffled plurality of converted samples.
22. The process for generating a multiplicity of secure random numbers of claim 18, wherein said step of one way encrypting said compressed plurality of shuffled and converted samples comprises the step of:
MD-2 encrypting said compressed plurality of shuffled and converted samples; or
MD-4 encrypting said compressed plurality of shuffled and converted samples; or
MD-5 encrypting said compressed plurality of shuffled and converted samples; or
SHA encrypting said compressed plurality of shuffled and converted samples; or
SNEFRU encrypting said compressed plurality of shuffled and converted samples.
23. The process for generating a multiplicity of secure random numbers of claim 18, further comprising the step of:
examining each encrypted sample of said plurality for a duplicate encrypted sample; and
discarding said duplicate encrypted sample to insure the uniqueness of each random number of the plurality.
24. The process for generating a multiplicity of secure random numbers of claim 18, further comprising the step of:
exclusively ORing an independent perspective marker with said compressed plurality of shuffled and converted samples to insure the randomness of the multiplicity of random numbers.
25. The process for generating a multiplicity of secure random numbers of claim 24, wherein said independent perspective marker comprises a time of day stamp.
26. The process for generating a multiplicity of secure random numbers of claim 18, wherein said step of generating chaotic noise from turbulent air flow comprises the step of:
operating a fan for generating said turbulent air flow.
27. The process for generating a multiplicity of secure random numbers of claim 24, wherein said step of sampling is performed at a lower frequency than said fan operates.
28. The process for generating a multiplicity of secure random numbers of claim 18, further comprising the steps of:
randomly selecting a first and a second group of bytes from said random digital data stream, said first and second groups of bytes having a first and a second numerical value, respectively;
looking up a first maximal length LFSR feedback term from a list according to said first numerical value;
looking up a second maximal length LFSR feedback term from said list according to said second numerical value;
generating a cyclic redudancy code feedback term in response to executing a cyclic redudancy code check on a third group of bytes selected from said random digital data stream; and
forming a secret identification number from said first and second maximal length LFSR feedback terms, said cyclic redudancy code feedback term, and a fourth group of bytes from said random digital data stream.
29. The process for generating a multiplicity of secure random numbers of claim 28, wherein said step of generating a cyclic redudancy code feedback term comprises the steps of:
examing whether said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits; and
generating a replacement feedback term for said cyclic redundancy code feedback term if said cyclic redundancy code feedback term comprises less than two "0" bits or "1" bits.
30. The process for generating a multiplicity of secure random numbers of claim 28, further comprising the steps of:
repeating the steps of randomly selecting a first and a second group of bytes, looking up a first maximal length LFSR feedback term, looking up a second maximal length LFSR feedback term, generating a cyclic redudancy code feedback term, N times to create N secret identification numbers;
one way encrypting each of said N secret identification numbers;
computing a secure digest of each one way encrypted secret identification number of said N secret identification numbers;
comparing each one way encrypted secret identification number of said N secret identification numbers within said digest; and
discarding each one way encrypted secret identification number of said multiplicity within said digest when two identical compressed one way encrypted secret identification number are discovered.
US08/635,145 1995-09-22 1996-04-19 Method of generating secret identification numbers Expired - Lifetime US5757923A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US08/635,145 US5757923A (en) 1995-09-22 1996-04-19 Method of generating secret identification numbers
PCT/US1996/015211 WO1997011423A2 (en) 1995-09-22 1996-09-20 A method of generating secret identification numbers
JP9512961A JP2000505214A (en) 1995-09-22 1996-09-20 How to generate a confidential number
EP96935911A EP0852033A2 (en) 1995-09-22 1996-09-20 A method of generating secret identification numbers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/532,337 US5696828A (en) 1995-09-22 1995-09-22 Random number generating system and process based on chaos
US08/635,145 US5757923A (en) 1995-09-22 1996-04-19 Method of generating secret identification numbers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/532,337 Continuation-In-Part US5696828A (en) 1995-09-22 1995-09-22 Random number generating system and process based on chaos

Publications (1)

Publication Number Publication Date
US5757923A true US5757923A (en) 1998-05-26

Family

ID=27063817

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/635,145 Expired - Lifetime US5757923A (en) 1995-09-22 1996-04-19 Method of generating secret identification numbers

Country Status (4)

Country Link
US (1) US5757923A (en)
EP (1) EP0852033A2 (en)
JP (1) JP2000505214A (en)
WO (1) WO1997011423A2 (en)

Cited By (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
WO2000009363A1 (en) 1998-08-10 2000-02-24 Lear Corporation Firewall for vehicle communication bus
WO2001008115A1 (en) * 1999-07-23 2001-02-01 Aeroflex Utmc Microelectronic Systems Inc. Keyless entry cellular phone
US6208982B1 (en) * 1996-11-18 2001-03-27 Lockheed Martin Energy Research Corporation Method and apparatus for solving complex and computationally intensive inverse problems in real-time
US20010029580A1 (en) * 1996-07-02 2001-10-11 Moskowitz Scott A. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US20020034295A1 (en) * 1996-05-20 2002-03-21 U.S. Philips Corp. Cryptographic method and apparatus for non-linearly merging a data block and a key
EP1223506A1 (en) * 2001-01-16 2002-07-17 Telefonaktiebolaget L M Ericsson (Publ) Random number generator using compression
WO2002056170A1 (en) * 2001-01-16 2002-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Random number generator using compression
US20020159590A1 (en) * 2001-03-12 2002-10-31 Jun Ikeda Random number generator which can generate a random number based on an uniform distribution
US20030016823A1 (en) * 2001-07-05 2003-01-23 Shine Chung Method and apparatus of using irrational numbers in random number generators for cryptography
US20030142821A1 (en) * 2002-01-02 2003-07-31 Ross David Marshall Cryptographic one time pad technique
US20030149863A1 (en) * 2001-11-20 2003-08-07 Ip-First, Llc. Microprocessor with random number generator and instruction for storing random data
US20030200439A1 (en) * 2002-04-17 2003-10-23 Moskowitz Scott A. Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US20030219143A1 (en) * 1996-07-02 2003-11-27 Moskowitz Scott A. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US20040019619A1 (en) * 2002-07-29 2004-01-29 Buer Mark L. System and method for generating initial vectors
US20040066279A1 (en) * 2002-10-02 2004-04-08 Hughes Michael A. RFID system and method including tag ID compression
US20040078402A1 (en) * 2000-10-30 2004-04-22 Butler Richard M. Generation of cryptographically strong random numbers using MISRS
US20040086119A1 (en) * 1998-03-24 2004-05-06 Moskowitz Scott A. Method for combining transfer functions with predetermined key creation
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators
US20040103131A1 (en) * 2002-11-21 2004-05-27 Ip-First, Llc. Random number generator bit string filter
US20040107229A1 (en) * 2002-11-29 2004-06-03 Thales Digital random generator based on an arithmetic compressor
US20040198222A1 (en) * 2002-10-02 2004-10-07 Emre Ertin Method of simultaneously reading multiple radio frequency tags, RF tags, and RF reader
US20040243540A1 (en) * 2000-09-07 2004-12-02 Moskowitz Scott A. Method and device for monitoring and analyzing signals
US20040267846A1 (en) * 2003-03-14 2004-12-30 Laszlo Hars Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
US6842106B2 (en) 2002-10-04 2005-01-11 Battelle Memorial Institute Challenged-based tag authentication model
US20050135615A1 (en) * 1996-12-20 2005-06-23 Moskowitz Scott A. Z-transform implementation of digital watermarks
US20050135621A1 (en) * 2003-12-17 2005-06-23 International Business Machines Corporation System and method for determining the nth state of linear feedback shift registers
US20050177727A1 (en) * 1995-06-07 2005-08-11 Moskowitz Scott A. Steganographic method and device
US20050259642A1 (en) * 2004-05-18 2005-11-24 Quanta Computer Inc Blade server for auto-assigning communication addresses
US6993542B1 (en) * 2001-03-12 2006-01-31 Cisco Technology, Inc. Efficient random number generation for communication systems
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US7019618B2 (en) 2002-10-02 2006-03-28 Battelle Memorial Institute Wireless communications systems, radio frequency identification devices, wireless communications methods, and radio frequency identification device communications methods
WO2006046240A2 (en) * 2004-10-26 2006-05-04 Discretix Technologies Ltd. System, method and device of generating a random value
US20060095977A1 (en) * 2004-08-25 2006-05-04 Samsung Electronics Co., Ltd. Software protecting method and apparatus using the same
US20060101269A1 (en) * 1996-07-02 2006-05-11 Wistaria Trading, Inc. Method and system for digital watermarking
US20060140403A1 (en) * 1998-04-02 2006-06-29 Moskowitz Scott A Multiple transform utilization and application for secure digital watermarking
US20060224647A1 (en) * 2005-03-30 2006-10-05 Impinj, Inc. RFID tag using updatable seed values for generating a random number
US7136991B2 (en) 2001-11-20 2006-11-14 Henry G Glenn Microprocessor including random number generator supporting operating system-independent multitasking operation
US7139785B2 (en) 2003-02-11 2006-11-21 Ip-First, Llc Apparatus and method for reducing sequential bit correlation in a random number generator
US20070011458A1 (en) * 1996-07-02 2007-01-11 Scott A. Moskowitz Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7170997B2 (en) 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
US20070028113A1 (en) * 1999-12-07 2007-02-01 Moskowitz Scott A Systems, methods and devices for trusted transactions
US20070064940A1 (en) * 1999-03-24 2007-03-22 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US20070110240A1 (en) * 1999-12-07 2007-05-17 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US20070164863A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation System and method to track inventory using RFID tags
US20070189540A1 (en) * 2005-04-25 2007-08-16 Lauri Tarkkala Improved broadcast key-derivation
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US20080136697A1 (en) * 2006-12-08 2008-06-12 International Business Machines Corporation Method and system for random number generator with random sampling
US20080198832A1 (en) * 2007-02-15 2008-08-21 Harris Corporation Low Level Sequence as an Anti-Tamper MEchanism
US20080263119A1 (en) * 2007-04-19 2008-10-23 Harris Corporation Digital Generation of a Chaotic Numerical Sequence
US20080294710A1 (en) * 2007-05-22 2008-11-27 Harris Corporation Extending a Repetition Period of a Random Sequence
US20080294956A1 (en) * 2007-05-22 2008-11-27 Harris Corporation Encryption Via Induced Unweighted Errors
US20080307022A1 (en) * 2007-06-07 2008-12-11 Harris Corporation Mixed Radix Conversion with a Priori Defined Statistical Artifacts
US20080304666A1 (en) * 2007-06-07 2008-12-11 Harris Corporation Spread Spectrum Communications System and Method Utilizing Chaotic Sequence
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
US20090034727A1 (en) * 2007-08-01 2009-02-05 Harris Corporation Chaotic Spread Spectrum Communications System Receiver
US20090044080A1 (en) * 2007-05-31 2009-02-12 Harris Corporation Closed Galois Field Combination
US20090110197A1 (en) * 2007-10-30 2009-04-30 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
US20090196420A1 (en) * 2008-02-05 2009-08-06 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US20090202067A1 (en) * 2008-02-07 2009-08-13 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US20090245327A1 (en) * 2008-03-26 2009-10-01 Harris Corporation Selective noise cancellation of a spread spectrum signal
US20090279688A1 (en) * 2008-05-06 2009-11-12 Harris Corporation Closed galois field cryptographic system
US20090296860A1 (en) * 2008-06-02 2009-12-03 Harris Corporation Adaptive correlation
US7634522B1 (en) * 2004-11-30 2009-12-15 Novell, Inc. Random number generation
US20090310650A1 (en) * 2008-06-12 2009-12-17 Harris Corporation Featureless coherent chaotic amplitude modulation
US20090327387A1 (en) * 2008-05-29 2009-12-31 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US20100054228A1 (en) * 2008-08-29 2010-03-04 Harris Corporation Multi-tier ad-hoc network communications
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US20100165828A1 (en) * 2008-12-29 2010-07-01 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US20100166041A1 (en) * 2008-12-29 2010-07-01 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US20100226497A1 (en) * 2009-03-03 2010-09-09 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US20100310072A1 (en) * 2009-06-08 2010-12-09 Harris Corporation Symbol duration dithering for secured chaotic communications
US20100309957A1 (en) * 2009-06-08 2010-12-09 Harris Corporation Continuous time chaos dithering
US20100316090A1 (en) * 2009-06-10 2010-12-16 Harris Corporation Discrete time chaos dithering
US20100332575A1 (en) * 2009-06-29 2010-12-30 Ido Kanter High-Speed Random Number Generator
US20110002360A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Permission-based secure multiple access communication systems
US20110002463A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Permission-based multiple access communications systems
US20110002364A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US20110002460A1 (en) * 2009-07-01 2011-01-06 Harris Corporation High-speed cryptographic system using chaotic sequences
US20110002366A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US20110002362A1 (en) * 2009-07-01 2011-01-06 Harris Corporation symbol estimation for chaotic spread spectrum signal
US20110004792A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Bit error rate reduction in chaotic communications
US20110019719A1 (en) * 2009-07-22 2011-01-27 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US20110019817A1 (en) * 2009-07-22 2011-01-27 Harris Corporation Permission-based tdma chaotic communication systems
US20110106340A1 (en) * 2000-05-09 2011-05-05 Vasco Vollmer Method of accessing a device in a communication network in a motor vehicle via an external device and gateway
US7962540B2 (en) 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US7978847B1 (en) * 1999-09-24 2011-07-12 Lawrence Livermore National Security, Llc System using data compression and hashing adapted for use for multimedia encryption
US8015224B1 (en) * 2006-12-27 2011-09-06 Marvell International Ltd. Entropy source for random number generation
US20110291808A1 (en) * 2008-09-19 2011-12-01 Nxp B.V. Safe initilization procedure for a communication system
US20120089656A1 (en) * 2009-05-22 2012-04-12 Kabushiki Kaisha Toshiba Random number generator circuit and cryptographic circuit
US8165065B2 (en) 2008-10-09 2012-04-24 Harris Corporation Ad-hoc network acquisition using chaotic sequence spread waveform
US8271795B2 (en) 2000-09-20 2012-09-18 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US20120303646A1 (en) * 2011-05-27 2012-11-29 Vocollect, Inc. System and method for generating and updating location check digits
US8345725B2 (en) 2010-03-11 2013-01-01 Harris Corporation Hidden Markov Model detection for spread spectrum waveforms
US8856540B1 (en) * 2010-12-29 2014-10-07 Amazon Technologies, Inc. Customized ID generation
US8918642B2 (en) 2009-06-10 2014-12-23 Cisco Technology Inc. Protection of secret value using hardware instability
US9158501B2 (en) 2012-12-17 2015-10-13 Vonage Network Llc Method and apparatus for generating random numbers based on packetized media data
US10567363B1 (en) * 2016-03-03 2020-02-18 Shape Security, Inc. Deterministic reproduction of system state using seeded pseudo-random number generators
US10708043B2 (en) 2013-03-07 2020-07-07 David Mayer Hutchinson One pad communications
US11018857B2 (en) * 2015-07-16 2021-05-25 Abb Schweiz Ag Encryption scheme using multiple parties

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3558488B2 (en) * 1997-05-20 2004-08-25 エニー株式会社 Cryptographic communication system
JP2980576B2 (en) * 1997-09-12 1999-11-22 株式会社東芝 Physical random number generating apparatus and method, and physical random number recording medium
FR2824153B1 (en) * 2001-04-27 2003-08-15 Trialog PROCESS FOR PRODUCING A SEQUENCE OF RANDOM NUMBERS AND DEVICE IMPLEMENTING THE METHOD
FR2888350A1 (en) 2005-07-05 2007-01-12 St Microelectronics Sa Digital or analog noise source`s e.g. non deterministic number generator, entropy determining method for manufactured product, involves applying compression function to set of words for obtaining another set of words
CN102662625A (en) * 2012-04-06 2012-09-12 国网电力科学研究院 True random number generator and realization method thereof
AT517983B1 (en) * 2015-11-18 2018-11-15 Siemens Ag Oesterreich Protection of a computer system against side channel attacks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4424414A (en) * 1978-05-01 1984-01-03 Board Of Trustees Of The Leland Stanford Junior University Exponentiation cryptographic apparatus and method
US4853884A (en) * 1987-09-11 1989-08-01 Motorola, Inc. Random number generator with digital feedback
US5048086A (en) * 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
US5363448A (en) * 1993-06-30 1994-11-08 United Technologies Automotive, Inc. Pseudorandom number generation and cryptographic authentication
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process
US5434806A (en) * 1992-05-12 1995-07-18 Telefonaktiebolaget Lm Ericsson Apparatus and method for random number generation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2113879B (en) * 1982-01-25 1985-09-11 Racal Res Ltd Improvements in and relating to number generation
US4810975A (en) * 1987-08-10 1989-03-07 Dallas Semiconductor Corp. Random number generator using sampled output of variable frequency oscillator
JP3145720B2 (en) * 1991-01-21 2001-03-12 エヌイーシーネットワーク・センサ株式会社 Random number generator using non-linear circuit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4424414A (en) * 1978-05-01 1984-01-03 Board Of Trustees Of The Leland Stanford Junior University Exponentiation cryptographic apparatus and method
US4853884A (en) * 1987-09-11 1989-08-01 Motorola, Inc. Random number generator with digital feedback
US5048086A (en) * 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
US5434806A (en) * 1992-05-12 1995-07-18 Telefonaktiebolaget Lm Ericsson Apparatus and method for random number generation
US5363448A (en) * 1993-06-30 1994-11-08 United Technologies Automotive, Inc. Pseudorandom number generation and cryptographic authentication
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process

Cited By (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761712B2 (en) 1995-06-07 2010-07-20 Wistaria Trading, Inc. Steganographic method and device
US8238553B2 (en) 1995-06-07 2012-08-07 Wistaria Trading, Inc Steganographic method and device
US20050177727A1 (en) * 1995-06-07 2005-08-11 Moskowitz Scott A. Steganographic method and device
US7568100B1 (en) 1995-06-07 2009-07-28 Wistaria Trading, Inc. Steganographic method and device
US8467525B2 (en) 1995-06-07 2013-06-18 Wistaria Trading, Inc. Steganographic method and device
US8549305B2 (en) 1995-06-07 2013-10-01 Wistaria Trading, Inc. Steganographic method and device
US7870393B2 (en) 1995-06-07 2011-01-11 Wistaria Trading, Inc. Steganographic method and device
US8046841B2 (en) 1995-06-07 2011-10-25 Wistaria Trading, Inc. Steganographic method and device
US8265276B2 (en) 1996-01-17 2012-09-11 Moskowitz Scott A Method for combining transfer functions and predetermined key creation
US9021602B2 (en) 1996-01-17 2015-04-28 Scott A. Moskowitz Data protection method and device
US9104842B2 (en) 1996-01-17 2015-08-11 Scott A. Moskowitz Data protection method and device
US9171136B2 (en) 1996-01-17 2015-10-27 Wistaria Trading Ltd Data protection method and device
US9191206B2 (en) 1996-01-17 2015-11-17 Wistaria Trading Ltd Multiple transform utilization and application for secure digital watermarking
US9191205B2 (en) 1996-01-17 2015-11-17 Wistaria Trading Ltd Multiple transform utilization and application for secure digital watermarking
US20080016365A1 (en) * 1996-01-17 2008-01-17 Moskowitz Scott A Data protection method and device
US8930719B2 (en) 1996-01-17 2015-01-06 Scott A. Moskowitz Data protection method and device
US7079651B2 (en) * 1996-05-20 2006-07-18 Koninklijke Philips Electronics N.V. Cryptographic method and apparatus for non-linearly merging a data block and a key
US20020034295A1 (en) * 1996-05-20 2002-03-21 U.S. Philips Corp. Cryptographic method and apparatus for non-linearly merging a data block and a key
US7770017B2 (en) 1996-07-02 2010-08-03 Wistaria Trading, Inc. Method and system for digital watermarking
US20070113094A1 (en) * 1996-07-02 2007-05-17 Wistaria Trading, Inc. Method and system for digital watermarking
US9070151B2 (en) 1996-07-02 2015-06-30 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US8121343B2 (en) 1996-07-02 2012-02-21 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US8161286B2 (en) 1996-07-02 2012-04-17 Wistaria Trading, Inc. Method and system for digital watermarking
US6522767B1 (en) 1996-07-02 2003-02-18 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US8774216B2 (en) 1996-07-02 2014-07-08 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US7991188B2 (en) 1996-07-02 2011-08-02 Wisteria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7987371B2 (en) 1996-07-02 2011-07-26 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US20100002904A1 (en) * 1996-07-02 2010-01-07 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7647503B2 (en) 1996-07-02 2010-01-12 Wistaria Trading, Inc. Optimization methods for the insertion, projection, and detection of digital watermarks in digital data
US8175330B2 (en) 1996-07-02 2012-05-08 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US20090037740A1 (en) * 1996-07-02 2009-02-05 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US20030219143A1 (en) * 1996-07-02 2003-11-27 Moskowitz Scott A. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7647502B2 (en) 1996-07-02 2010-01-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7953981B2 (en) 1996-07-02 2011-05-31 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US9830600B2 (en) 1996-07-02 2017-11-28 Wistaria Trading Ltd Systems, methods and devices for trusted transactions
US7930545B2 (en) 1996-07-02 2011-04-19 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US9843445B2 (en) 1996-07-02 2017-12-12 Wistaria Trading Ltd System and methods for permitting open access to data objects and for securing data within the data objects
US7409073B2 (en) 1996-07-02 2008-08-05 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US20080151934A1 (en) * 1996-07-02 2008-06-26 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US7877609B2 (en) 1996-07-02 2011-01-25 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7362775B1 (en) 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US20060101269A1 (en) * 1996-07-02 2006-05-11 Wistaria Trading, Inc. Method and system for digital watermarking
US7343492B2 (en) 1996-07-02 2008-03-11 Wistaria Trading, Inc. Method and system for digital watermarking
US8281140B2 (en) 1996-07-02 2012-10-02 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7107451B2 (en) 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US8307213B2 (en) 1996-07-02 2012-11-06 Wistaria Trading, Inc. Method and system for digital watermarking
US20010029580A1 (en) * 1996-07-02 2001-10-11 Moskowitz Scott A. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US7664958B2 (en) 1996-07-02 2010-02-16 Wistaria Trading, Inc. Optimization methods for the insertion, protection and detection of digital watermarks in digital data
US20080022113A1 (en) * 1996-07-02 2008-01-24 Wistaria Trading, Inc. Optimization methods for the insertion, protection and detection of digital of digital watermarks in digital data
US20080022114A1 (en) * 1996-07-02 2008-01-24 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US20060285722A1 (en) * 1996-07-02 2006-12-21 Moskowitz Scott A Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US20070011458A1 (en) * 1996-07-02 2007-01-11 Scott A. Moskowitz Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US9258116B2 (en) 1996-07-02 2016-02-09 Wistaria Trading Ltd System and methods for permitting open access to data objects and for securing data within the data objects
US20100077220A1 (en) * 1996-07-02 2010-03-25 Moskowitz Scott A Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7844074B2 (en) 1996-07-02 2010-11-30 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7779261B2 (en) 1996-07-02 2010-08-17 Wistaria Trading, Inc. Method and system for digital watermarking
US7830915B2 (en) 1996-07-02 2010-11-09 Wistaria Trading, Inc. Methods and systems for managing and exchanging digital information packages with bandwidth securitization instruments
US7822197B2 (en) 1996-07-02 2010-10-26 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US6208982B1 (en) * 1996-11-18 2001-03-27 Lockheed Martin Energy Research Corporation Method and apparatus for solving complex and computationally intensive inverse problems in real-time
US7730317B2 (en) 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US20050135615A1 (en) * 1996-12-20 2005-06-23 Moskowitz Scott A. Z-transform implementation of digital watermarks
US8225099B2 (en) 1996-12-20 2012-07-17 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
US7152162B2 (en) 1996-12-20 2006-12-19 Wistaria Trading, Inc. Z-transform implementation of digital watermarks
US20040086119A1 (en) * 1998-03-24 2004-05-06 Moskowitz Scott A. Method for combining transfer functions with predetermined key creation
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
US8542831B2 (en) 1998-04-02 2013-09-24 Scott A. Moskowitz Multiple transform utilization and application for secure digital watermarking
US7738659B2 (en) 1998-04-02 2010-06-15 Moskowitz Scott A Multiple transform utilization and application for secure digital watermarking
US20060140403A1 (en) * 1998-04-02 2006-06-29 Moskowitz Scott A Multiple transform utilization and application for secure digital watermarking
US6314351B1 (en) 1998-08-10 2001-11-06 Lear Automotive Dearborn, Inc. Auto PC firewall
WO2000009363A1 (en) 1998-08-10 2000-02-24 Lear Corporation Firewall for vehicle communication bus
US8781121B2 (en) 1999-03-24 2014-07-15 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US20070064940A1 (en) * 1999-03-24 2007-03-22 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US8526611B2 (en) 1999-03-24 2013-09-03 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US8160249B2 (en) 1999-03-24 2012-04-17 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic system
US9270859B2 (en) 1999-03-24 2016-02-23 Wistaria Trading Ltd Utilizing data reduction in steganographic and cryptographic systems
US10461930B2 (en) 1999-03-24 2019-10-29 Wistaria Trading Ltd Utilizing data reduction in steganographic and cryptographic systems
WO2001008115A1 (en) * 1999-07-23 2001-02-01 Aeroflex Utmc Microelectronic Systems Inc. Keyless entry cellular phone
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
US8171561B2 (en) 1999-08-04 2012-05-01 Blue Spike, Inc. Secure personal content server
US8739295B2 (en) 1999-08-04 2014-05-27 Blue Spike, Inc. Secure personal content server
US9710669B2 (en) 1999-08-04 2017-07-18 Wistaria Trading Ltd Secure personal content server
US9934408B2 (en) 1999-08-04 2018-04-03 Wistaria Trading Ltd Secure personal content server
US8789201B2 (en) 1999-08-04 2014-07-22 Blue Spike, Inc. Secure personal content server
US7978847B1 (en) * 1999-09-24 2011-07-12 Lawrence Livermore National Security, Llc System using data compression and hashing adapted for use for multimedia encryption
US10644884B2 (en) 1999-12-07 2020-05-05 Wistaria Trading Ltd System and methods for permitting open access to data objects and for securing data within the data objects
US20070110240A1 (en) * 1999-12-07 2007-05-17 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US8767962B2 (en) 1999-12-07 2014-07-01 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US7813506B2 (en) 1999-12-07 2010-10-12 Blue Spike, Inc System and methods for permitting open access to data objects and for securing data within the data objects
US20090190754A1 (en) * 1999-12-07 2009-07-30 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US8265278B2 (en) 1999-12-07 2012-09-11 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US10110379B2 (en) 1999-12-07 2018-10-23 Wistaria Trading Ltd System and methods for permitting open access to data objects and for securing data within the data objects
US8798268B2 (en) 1999-12-07 2014-08-05 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US20070028113A1 (en) * 1999-12-07 2007-02-01 Moskowitz Scott A Systems, methods and devices for trusted transactions
US8538011B2 (en) 1999-12-07 2013-09-17 Blue Spike, Inc. Systems, methods and devices for trusted transactions
US20110106340A1 (en) * 2000-05-09 2011-05-05 Vasco Vollmer Method of accessing a device in a communication network in a motor vehicle via an external device and gateway
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US20040243540A1 (en) * 2000-09-07 2004-12-02 Moskowitz Scott A. Method and device for monitoring and analyzing signals
US8214175B2 (en) 2000-09-07 2012-07-03 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7949494B2 (en) 2000-09-07 2011-05-24 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US8712728B2 (en) 2000-09-07 2014-04-29 Blue Spike Llc Method and device for monitoring and analyzing signals
US7660700B2 (en) 2000-09-07 2010-02-09 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US8612765B2 (en) 2000-09-20 2013-12-17 Blue Spike, Llc Security based on subliminal and supraliminal channels for data objects
US8271795B2 (en) 2000-09-20 2012-09-18 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US7412468B2 (en) * 2000-10-30 2008-08-12 Hewlett-Packard Development Company, L.P. Generation of cryptographically strong random numbers using MISRS
US20040078402A1 (en) * 2000-10-30 2004-04-22 Butler Richard M. Generation of cryptographically strong random numbers using MISRS
US7170997B2 (en) 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
US20040076293A1 (en) * 2001-01-16 2004-04-22 Ben Smeets Random number generator using compression
EP1223506A1 (en) * 2001-01-16 2002-07-17 Telefonaktiebolaget L M Ericsson (Publ) Random number generator using compression
WO2002056170A1 (en) * 2001-01-16 2002-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Random number generator using compression
US6993542B1 (en) * 2001-03-12 2006-01-31 Cisco Technology, Inc. Efficient random number generation for communication systems
US20020159590A1 (en) * 2001-03-12 2002-10-31 Jun Ikeda Random number generator which can generate a random number based on an uniform distribution
US7266575B2 (en) * 2001-03-12 2007-09-04 Nec Electronics Corporation Random number generator which can generate a random number based on an uniform distribution
US20030016823A1 (en) * 2001-07-05 2003-01-23 Shine Chung Method and apparatus of using irrational numbers in random number generators for cryptography
US20070118581A1 (en) * 2001-11-20 2007-05-24 Ip-First, Llc Microprocessor with random number generator and instruction for storing random data
US7849120B2 (en) 2001-11-20 2010-12-07 Ip-First, Llc Microprocessor with random number generator and instruction for storing random data
US7136991B2 (en) 2001-11-20 2006-11-14 Henry G Glenn Microprocessor including random number generator supporting operating system-independent multitasking operation
US7712105B2 (en) 2001-11-20 2010-05-04 Ip-First, Llc. Microprocessor including random number generator supporting operating system-independent multitasking operation
US8296345B2 (en) 2001-11-20 2012-10-23 Ip-First, Llc Microprocessor with selectively available random number generator based on self-test result
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US7334009B2 (en) 2001-11-20 2008-02-19 Ip-First, Llc Microprocessor with random number generator and instruction for storing random data
US20070078920A1 (en) * 2001-11-20 2007-04-05 Ip-First, Llc Microprocessor with selectively available random number generator based on self-test result
US7219112B2 (en) 2001-11-20 2007-05-15 Ip-First, Llc Microprocessor with instruction translator for translating an instruction for storing random data bytes
US7818358B2 (en) 2001-11-20 2010-10-19 Ip-First, Llc Microprocessor with random number generator and instruction for storing random data
US20070110239A1 (en) * 2001-11-20 2007-05-17 Ip-First, Llc Microprocessor including random number generator supporting operating system-independent multitasking operation
US20070118582A1 (en) * 2001-11-20 2007-05-24 Ip-First, Llc Microprocessor with random number generator and instruction for storing random data
US20030149863A1 (en) * 2001-11-20 2003-08-07 Ip-First, Llc. Microprocessor with random number generator and instruction for storing random data
US20030142821A1 (en) * 2002-01-02 2003-07-31 Ross David Marshall Cryptographic one time pad technique
US10735437B2 (en) 2002-04-17 2020-08-04 Wistaria Trading Ltd Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US8706570B2 (en) 2002-04-17 2014-04-22 Scott A. Moskowitz Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
USRE44222E1 (en) 2002-04-17 2013-05-14 Scott Moskowitz Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US20030200439A1 (en) * 2002-04-17 2003-10-23 Moskowitz Scott A. Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US9639717B2 (en) 2002-04-17 2017-05-02 Wistaria Trading Ltd Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US8104079B2 (en) 2002-04-17 2012-01-24 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US8473746B2 (en) 2002-04-17 2013-06-25 Scott A. Moskowitz Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
USRE44307E1 (en) 2002-04-17 2013-06-18 Scott Moskowitz Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US8224705B2 (en) 2002-04-17 2012-07-17 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators
US7822797B2 (en) * 2002-07-29 2010-10-26 Broadcom Corporation System and method for generating initial vectors
US20040019619A1 (en) * 2002-07-29 2004-01-29 Buer Mark L. System and method for generating initial vectors
US7009526B2 (en) 2002-10-02 2006-03-07 Battelle Memorial Institute RFID system and method including tag ID compression
US20040066279A1 (en) * 2002-10-02 2004-04-08 Hughes Michael A. RFID system and method including tag ID compression
US20040198222A1 (en) * 2002-10-02 2004-10-07 Emre Ertin Method of simultaneously reading multiple radio frequency tags, RF tags, and RF reader
US7019618B2 (en) 2002-10-02 2006-03-28 Battelle Memorial Institute Wireless communications systems, radio frequency identification devices, wireless communications methods, and radio frequency identification device communications methods
US6995655B2 (en) 2002-10-02 2006-02-07 Battelle Memorial Institute Method of simultaneously reading multiple radio frequency tags, RF tags, and RF reader
US6842106B2 (en) 2002-10-04 2005-01-11 Battelle Memorial Institute Challenged-based tag authentication model
US20040098429A1 (en) * 2002-11-20 2004-05-20 Ip-First, Llc. Microprocessor with selectively available random number generator based on self-test result
US7165084B2 (en) 2002-11-20 2007-01-16 Ip-First, Llc. Microprocessor with selectivity available random number generator based on self-test result
US7174355B2 (en) 2002-11-20 2007-02-06 Ip-First, Llc. Random number generator with selectable dual random bit string engines
US20040103131A1 (en) * 2002-11-21 2004-05-27 Ip-First, Llc. Random number generator bit string filter
US7149764B2 (en) * 2002-11-21 2006-12-12 Ip-First, Llc Random number generator bit string filter
EP1439457A1 (en) * 2002-11-29 2004-07-21 Thales Digital randomness generator based on an arithmetic compressor
FR2847998A1 (en) * 2002-11-29 2004-06-04 Thales Sa DIGITAL ALEA GENERATOR BASED ON AN ARITHMETIC COMPRESSOR
US20040107229A1 (en) * 2002-11-29 2004-06-03 Thales Digital random generator based on an arithmetic compressor
US7293053B2 (en) 2002-11-29 2007-11-06 Thales Digital random generator based on an arithmetic compressor
US7139785B2 (en) 2003-02-11 2006-11-21 Ip-First, Llc Apparatus and method for reducing sequential bit correlation in a random number generator
US7302458B2 (en) * 2003-03-14 2007-11-27 Nxp B.V. Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
US20040267846A1 (en) * 2003-03-14 2004-12-30 Laszlo Hars Method and apparatus for choosing a combination of logic for generating random numbers using a difference signal
US20050135621A1 (en) * 2003-12-17 2005-06-23 International Business Machines Corporation System and method for determining the nth state of linear feedback shift registers
US7340496B2 (en) * 2003-12-17 2008-03-04 International Business Machines Corporation System and method for determining the Nth state of linear feedback shift registers
US20050259642A1 (en) * 2004-05-18 2005-11-24 Quanta Computer Inc Blade server for auto-assigning communication addresses
US20060095977A1 (en) * 2004-08-25 2006-05-04 Samsung Electronics Co., Ltd. Software protecting method and apparatus using the same
WO2006046240A2 (en) * 2004-10-26 2006-05-04 Discretix Technologies Ltd. System, method and device of generating a random value
WO2006046240A3 (en) * 2004-10-26 2009-05-07 Discretix Technologies Ltd System, method and device of generating a random value
US7634522B1 (en) * 2004-11-30 2009-12-15 Novell, Inc. Random number generation
US20060224647A1 (en) * 2005-03-30 2006-10-05 Impinj, Inc. RFID tag using updatable seed values for generating a random number
US20070189540A1 (en) * 2005-04-25 2007-08-16 Lauri Tarkkala Improved broadcast key-derivation
US8391478B2 (en) * 2005-04-25 2013-03-05 Nokia Corporation System and method for broadcast environment group key-derivation
US20080211673A1 (en) * 2006-01-17 2008-09-04 International Business Machines Corporation System and method to track inventory using rfid tags
US7719423B2 (en) 2006-01-17 2010-05-18 International Business Machines Corporation System and method to track inventory using RFID tags
US7474217B2 (en) 2006-01-17 2009-01-06 International Business Machines Corporation System and method to track inventory using RFID tags
US7348886B2 (en) 2006-01-17 2008-03-25 International Business Machines Corporation System and method to track inventory using RFID tags
US20080061982A1 (en) * 2006-01-17 2008-03-13 International Business Machines Corporaton System and method to track inventory using rfid tags
US20070164863A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation System and method to track inventory using RFID tags
US20080136697A1 (en) * 2006-12-08 2008-06-12 International Business Machines Corporation Method and system for random number generator with random sampling
US7904494B2 (en) * 2006-12-08 2011-03-08 International Business Machines Corporation Random number generator with random sampling
US8015224B1 (en) * 2006-12-27 2011-09-06 Marvell International Ltd. Entropy source for random number generation
US20080198832A1 (en) * 2007-02-15 2008-08-21 Harris Corporation Low Level Sequence as an Anti-Tamper MEchanism
US8312551B2 (en) 2007-02-15 2012-11-13 Harris Corporation Low level sequence as an anti-tamper Mechanism
US20080263119A1 (en) * 2007-04-19 2008-10-23 Harris Corporation Digital Generation of a Chaotic Numerical Sequence
US7937427B2 (en) * 2007-04-19 2011-05-03 Harris Corporation Digital generation of a chaotic numerical sequence
US20080294956A1 (en) * 2007-05-22 2008-11-27 Harris Corporation Encryption Via Induced Unweighted Errors
US7921145B2 (en) 2007-05-22 2011-04-05 Harris Corporation Extending a repetition period of a random sequence
US20080294710A1 (en) * 2007-05-22 2008-11-27 Harris Corporation Extending a Repetition Period of a Random Sequence
US8611530B2 (en) 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors
US7995757B2 (en) 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination
US20090044080A1 (en) * 2007-05-31 2009-02-12 Harris Corporation Closed Galois Field Combination
US7962540B2 (en) 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US7970809B2 (en) 2007-06-07 2011-06-28 Harris Corporation Mixed radix conversion with a priori defined statistical artifacts
US20080307022A1 (en) * 2007-06-07 2008-12-11 Harris Corporation Mixed Radix Conversion with a Priori Defined Statistical Artifacts
US7974413B2 (en) 2007-06-07 2011-07-05 Harris Corporation Spread spectrum communications system and method utilizing chaotic sequence
US20080304666A1 (en) * 2007-06-07 2008-12-11 Harris Corporation Spread Spectrum Communications System and Method Utilizing Chaotic Sequence
US20090034727A1 (en) * 2007-08-01 2009-02-05 Harris Corporation Chaotic Spread Spectrum Communications System Receiver
US8005221B2 (en) 2007-08-01 2011-08-23 Harris Corporation Chaotic spread spectrum communications system receiver
US7995749B2 (en) 2007-10-30 2011-08-09 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
US20090110197A1 (en) * 2007-10-30 2009-04-30 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
US20090196420A1 (en) * 2008-02-05 2009-08-06 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8180055B2 (en) 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US20090202067A1 (en) * 2008-02-07 2009-08-13 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US8363830B2 (en) 2008-02-07 2013-01-29 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US20090245327A1 (en) * 2008-03-26 2009-10-01 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8040937B2 (en) 2008-03-26 2011-10-18 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8139764B2 (en) 2008-05-06 2012-03-20 Harris Corporation Closed galois field cryptographic system
US20090279688A1 (en) * 2008-05-06 2009-11-12 Harris Corporation Closed galois field cryptographic system
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US20090327387A1 (en) * 2008-05-29 2009-12-31 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US8145692B2 (en) 2008-05-29 2012-03-27 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US20090296860A1 (en) * 2008-06-02 2009-12-03 Harris Corporation Adaptive correlation
US8064552B2 (en) 2008-06-02 2011-11-22 Harris Corporation Adaptive correlation
US20090310650A1 (en) * 2008-06-12 2009-12-17 Harris Corporation Featureless coherent chaotic amplitude modulation
US8068571B2 (en) 2008-06-12 2011-11-29 Harris Corporation Featureless coherent chaotic amplitude modulation
US8325702B2 (en) 2008-08-29 2012-12-04 Harris Corporation Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot
US20100054228A1 (en) * 2008-08-29 2010-03-04 Harris Corporation Multi-tier ad-hoc network communications
US9070001B2 (en) * 2008-09-19 2015-06-30 Nxp B.V. Safe initialization procedure for a communication system
US20110291808A1 (en) * 2008-09-19 2011-12-01 Nxp B.V. Safe initilization procedure for a communication system
US8165065B2 (en) 2008-10-09 2012-04-24 Harris Corporation Ad-hoc network acquisition using chaotic sequence spread waveform
US8406276B2 (en) 2008-12-29 2013-03-26 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US20100166041A1 (en) * 2008-12-29 2010-07-01 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US20100165828A1 (en) * 2008-12-29 2010-07-01 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US8351484B2 (en) 2008-12-29 2013-01-08 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US8457077B2 (en) 2009-03-03 2013-06-04 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US20100226497A1 (en) * 2009-03-03 2010-09-09 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8856199B2 (en) * 2009-05-22 2014-10-07 Kabushiki Kaisha Toshiba Random number generator circuit and cryptographic circuit
US20120089656A1 (en) * 2009-05-22 2012-04-12 Kabushiki Kaisha Toshiba Random number generator circuit and cryptographic circuit
US20100309957A1 (en) * 2009-06-08 2010-12-09 Harris Corporation Continuous time chaos dithering
US20100310072A1 (en) * 2009-06-08 2010-12-09 Harris Corporation Symbol duration dithering for secured chaotic communications
US8428102B2 (en) 2009-06-08 2013-04-23 Harris Corporation Continuous time chaos dithering
US8509284B2 (en) 2009-06-08 2013-08-13 Harris Corporation Symbol duration dithering for secured chaotic communications
US20100316090A1 (en) * 2009-06-10 2010-12-16 Harris Corporation Discrete time chaos dithering
US8918642B2 (en) 2009-06-10 2014-12-23 Cisco Technology Inc. Protection of secret value using hardware instability
US8428103B2 (en) 2009-06-10 2013-04-23 Harris Corporation Discrete time chaos dithering
US20100332575A1 (en) * 2009-06-29 2010-12-30 Ido Kanter High-Speed Random Number Generator
US20110002362A1 (en) * 2009-07-01 2011-01-06 Harris Corporation symbol estimation for chaotic spread spectrum signal
US8379689B2 (en) 2009-07-01 2013-02-19 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US20110004792A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Bit error rate reduction in chaotic communications
US20110002366A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US8340295B2 (en) 2009-07-01 2012-12-25 Harris Corporation High-speed cryptographic system using chaotic sequences
US20110002360A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Permission-based secure multiple access communication systems
US20110002463A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Permission-based multiple access communications systems
US20110002364A1 (en) * 2009-07-01 2011-01-06 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US20110002460A1 (en) * 2009-07-01 2011-01-06 Harris Corporation High-speed cryptographic system using chaotic sequences
US8363700B2 (en) 2009-07-01 2013-01-29 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US8428104B2 (en) 2009-07-01 2013-04-23 Harris Corporation Permission-based multiple access communications systems
US8406352B2 (en) 2009-07-01 2013-03-26 Harris Corporation Symbol estimation for chaotic spread spectrum signal
US8385385B2 (en) 2009-07-01 2013-02-26 Harris Corporation Permission-based secure multiple access communication systems
US8369376B2 (en) 2009-07-01 2013-02-05 Harris Corporation Bit error rate reduction in chaotic communications
US8369377B2 (en) 2009-07-22 2013-02-05 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US8848909B2 (en) 2009-07-22 2014-09-30 Harris Corporation Permission-based TDMA chaotic communication systems
US20110019817A1 (en) * 2009-07-22 2011-01-27 Harris Corporation Permission-based tdma chaotic communication systems
US20110019719A1 (en) * 2009-07-22 2011-01-27 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US8345725B2 (en) 2010-03-11 2013-01-01 Harris Corporation Hidden Markov Model detection for spread spectrum waveforms
US8856540B1 (en) * 2010-12-29 2014-10-07 Amazon Technologies, Inc. Customized ID generation
US9846727B2 (en) * 2011-05-27 2017-12-19 Vocollect, Inc. System and method for generating and updating location check digits
US8868519B2 (en) * 2011-05-27 2014-10-21 Vocollect, Inc. System and method for generating and updating location check digits
US20120303646A1 (en) * 2011-05-27 2012-11-29 Vocollect, Inc. System and method for generating and updating location check digits
US20150032709A1 (en) * 2011-05-27 2015-01-29 Vocollect, Inc. System and method for generating and updating location check digits
US9235615B2 (en) * 2011-05-27 2016-01-12 Vocollect, Inc. System and method for generating and updating location check digits
US20160117367A1 (en) * 2011-05-27 2016-04-28 Vocollect, Inc. System and method for generating and updating location check digits
US9158501B2 (en) 2012-12-17 2015-10-13 Vonage Network Llc Method and apparatus for generating random numbers based on packetized media data
US10708043B2 (en) 2013-03-07 2020-07-07 David Mayer Hutchinson One pad communications
US11018857B2 (en) * 2015-07-16 2021-05-25 Abb Schweiz Ag Encryption scheme using multiple parties
US10567363B1 (en) * 2016-03-03 2020-02-18 Shape Security, Inc. Deterministic reproduction of system state using seeded pseudo-random number generators

Also Published As

Publication number Publication date
JP2000505214A (en) 2000-04-25
WO1997011423A3 (en) 1997-05-22
EP0852033A2 (en) 1998-07-08
WO1997011423A2 (en) 1997-03-27

Similar Documents

Publication Publication Date Title
US5757923A (en) Method of generating secret identification numbers
US5696828A (en) Random number generating system and process based on chaos
Garcia-Bosque et al. Chaos-based bitwise dynamical pseudorandom number generator on FPGA
US8831216B2 (en) Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers
TWI498827B (en) Non-networked rfid-puf authentication
US9934400B2 (en) System and methods for encrypting data
US8315383B2 (en) Method and apparatus for random bit-string generation utilizing environment sensors
US5799088A (en) Non-deterministic public key encrypton system
US7206797B2 (en) Random number slip and swap generators
EP1821196B1 (en) Method and apparatus for seeding a cryptographic random number generator
US20100054466A1 (en) Method of generating arbitrary numbers given a seed
JPH10508955A (en) Information security system and method
US20140112469A1 (en) Novel encryption processes based upon irrational numbers and devices to accomplish the same
US5619575A (en) Pseudorandom composition-based cryptographic authentication process
JP2014075082A (en) Random number generator and random number generation method
EP1241564A2 (en) Random number generator which can generate a random number based on uniform distribution
AL-khatib et al. Acoustic lightweight pseudo random number generator based on cryptographically secure LFSR
Letham et al. A 128K EPROM using encryption of pseudorandom numbers to enable read access
Yu et al. On designing PUF-based TRNGs with known answer tests
US7424111B2 (en) System and method of applying parity bits to protect transmitting and receiving data
Akhila et al. Implementation of Modified Dual-Coupled Linear Congruential Generator in Data Encryption Standard Algorithm
Neacșu The Effectiveness of the Statistical Testing of Randomness in a Complete Cryptographic System
US20220113946A1 (en) Apparatus for generating random data and a method thereof
AU750408B2 (en) A method of combining a serial keystream output with binary information
Hussain A Modified Method for Generating Secure Accessibility Pseudorandom Bit Sequences

Legal Events

Date Code Title Description
AS Assignment

Owner name: UNITED TECHNOLOGIES AUTOMOTIVE, INC., MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOOPMAN, PHILIP J. JR.;REEL/FRAME:007974/0230

Effective date: 19960418

AS Assignment

Owner name: UT AUTOMOTIVE DEARBORN, INC., MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:UNITED TECHNOLOGIES AUTOMOTIVE, INC.;REEL/FRAME:008981/0094

Effective date: 19980212

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: LEAR AUTOMOTIVE DEARBORN, INC., MICHIGAN

Free format text: CHANGE OF NAME;ASSIGNOR:UT AUTOMOTIVE DEARBORN, INC.;REEL/FRAME:013182/0781

Effective date: 19990617

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS GENERAL ADMINISTRATI

Free format text: SECURITY AGREEMENT;ASSIGNOR:LEAR AUTOMOTIVE DEARBORN, INC.;REEL/FRAME:017823/0950

Effective date: 20060425

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:LEAR AUTOMOTIVE DEARBORN, INC.;REEL/FRAME:023519/0683

Effective date: 20091109

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:LEAR AUTOMOTIVE DEARBORN, INC.;REEL/FRAME:023519/0699

Effective date: 20091109

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: LEAR CORPORATION EEDS AND INTERIORS, MICHIGAN

Free format text: MERGER;ASSIGNOR:LEAR AUTOMOTIVE DEARBORN, INC.;REEL/FRAME:029732/0846

Effective date: 20111115

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS AGENT, ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNOR:LEAR CORPORATION EEDS AND INTERIORS;REEL/FRAME:029923/0618

Effective date: 20130130

AS Assignment

Owner name: LEAR AUTOMOTIVE DEARBORN, INC., MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:032712/0428

Effective date: 20100830

Owner name: LEAR AUTOMOTIVE DEARBORN, INC., MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:032712/0676

Effective date: 20100830

AS Assignment

Owner name: LEAR CORPORATION EEDS AND INTERIORS, MICHIGAN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS AGENT;REEL/FRAME:037701/0171

Effective date: 20160104