Distributed state random number generator and method for...

Cryptography – Key management – Having particular key generator

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C380S263000

Reexamination Certificate

active

06628786

ABSTRACT:

TECHNICAL FIELD
The present invention relates in general to a system and method for generating random numbers and, more particularly, to the generation of random numbers utilized in encrypting transmissions among and between computers and related devices in a network system.
BACKGROUND OF THE INVENTION
An ever increasing number of individuals and companies use computer networks, such as the Internet, to transmit and process a wide variety of information. In some cases, the information transmitted is confidential or proprietary and there exists the potential for abuse if the information is accessed by an unauthorized third party. For example, increasing numbers of companies are exploring the option of taking orders for goods and services over the Internet. Similarly, there is increasing interest in conducting financial transactions, such as personal banking, over the Internet.
However, since ordering a product or service, or conducting personal banking over the Internet, may require the transmission of information such as a credit card number or a bank account number, there is an increasing need for heightened security to protect the information. The problem is further compounded by the inherent openness of a system such as the Internet that permits access to the vast volume of electronic messages which flow from user to user throughout the system. Normally, an individual user's access is limited only to the extent that he or she has an account with a service provider, a valid password and account and/or mailbox identifiers. Passwords and identification numbers can, however, be acquired by third parties that, in turn, may disseminate the information to others. Further, in addition to data integrity and secrecy, authentication is an important factor. For example, bank account information should only be available to the owner of the account. Cryptographic authentication schemes and methods also make use of random numbers. Consequently, there is a growing need for reliable encryption of confidential and sensitive information.
To satisfy the need for transmission security, there have been a number of devices and algorithms developed for encoding information to be transmitted and decoding the information upon receipt. It is, of course, desirable to encrypt the information to be transmitted that makes it as difficult as possible to break the code or key used in the encryption process.
Typically, messages to be encrypted, referred to as plaintext, are encrypted using an encryption algorithm or cipher to produce ciphertext which is transmitted and subsequently decrypted by the receiver. In most cases the encryption algorithm is publicly known; in fact, by publicizing the algorithm, the cryptographer obtains the benefit of peer review by academic cryptologists attempting to break the cipher. Well known ciphers such as the Digital Encryption Standard (“DES”), the International Data Encryption Algorithm (“IDEA”) and RSA, known by the initials of the three discovers (Rivest, Shamir, Adleman), are widely used to encrypt electronic transmissions. Since most widely used ciphers are publicly known, it is a fundamental rule of cryptology that it must be assumed that the attacker knows the general method of encryption used to transform the plaintext to ciphertext. It must also be assumed that the attacker has the ability to intercept and accurately copy the ciphertext message.
The algorithms used for encrypting data tend to be complicated mathematical functions that require considerable effort and time to develop, test and implement. Consequently, it is impractical to invest the resources required to develop a new cipher each time the encryption method has been compromised or believed to be compromised. Thus, the secrecy of the encrypted message depends upon the key used to parameterize the algorithm. A key normally consists of a relatively short string of data that determines how an algorithm performs a specific encryption or decryption. In contrast to the general algorithm, which may be changed or modified only with the expenditure of significant resources, the key may be changed as often as required. One approach, known as public key cryptography, requires each user to have two keys: a public key used by the transmitting party to encrypt a message, and a private session key, used by the receiving party to decrypt the message. In many applications it is desirable to utilize a different, randomly chosen session key for each new connection. Session keys are used to minimize the amount of information protected by a selected key, thereby reducing the amount of information that an attacker could obtain by monitoring repeated transmissions and guessing any one session key. Session keys are also used to increase the speed of encryption.
The quality of the algorithm and the quality of the keys used by the algorithm are independent. If weak keys are selected, it does not follow that the algorithm is flawed or requires replacement. If, however, the encryption algorithm is weak, then the key selection does not ensure the security of the transmission. The converse is not true; i.e., if poor (no-random or partially random), keys are selected and the ciphertext is compromised, the breach is not a reflection upon the quality of the algorithm.
Usually, strong encryption methods require significant processing time due to the complexity of the algorithm. To increase the speed of encryption, a strong, secure algorithm such as RSA is initially used to negotiate a session key between two host computers. The session key is then used in a faster, but less secure, encryption algorithm such as DES to encrypt the communications between the two host machines. Since session keys change frequently and require the encryption of relatively little data, the risk presented by using a less secure algorithm is generally acceptable. However, the security of a cryptographic protocol utilizing a session key, or any other secret key, depends upon the unpredictability of the key. If an attacker can predict, or even reduce the number of possible keys that must be tested, the difficulty of breaking the key is greatly reduced; i.e. a predictable key is virtually worthless for the purpose of encrypting a transmission. Thus, random number generators are always used to generate session keys.
Random number generators are typically comprised of three components: 1) an internal state (value); 2) a randomizing function; and 3) an internal state update function. A binary bit stream consisting of zeros and ones may represent the internal state of the random number generator. Each time the random number generator is invoked, the randomizing function is performed on the internal state to produce a new random number and reinitialize the internal state using an internal state update function. The internal state provides input to the randomizing function, without which the random number generator would produce the same value repeatedly. The internal state update function allows the random number generator to create a sequence of random numbers by constantly changing the internal state with each iteration of the random number generator.
After the random number generator has been initialized or “seeded” with an internal state it can generate one or more random numbers. However, due to the inherent deterministic nature of computers, the randomness of the output of the generator is dependent upon the randomness of the data or information utilized to initialize the generator. If the values used to initialize the generator are predictable, the output values from the generator will also be predictable. If the output of the random number generator is predictable, its value as a cryptographic tool is minimized. Therefore, the internal state update function will ideally minimize the occurrence of repeated internal states. However, if the internal state is repeated, the random numbers generated will be repeated.
Generating truly random numbers for use as keys for encrypting electronic messages presents a number of difficulties. The only measure of the tr

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Distributed state random number generator and method for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Distributed state random number generator and method for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Distributed state random number generator and method for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3073918

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.