×

RSA Public-key data encryption system having large random prime number generating microprocessor or the like

  • US 4,351,982 A
  • Filed: 12/15/1980
  • Issued: 09/28/1982
  • Est. Priority Date: 12/15/1980
  • Status: Expired due to Term
First Claim
Patent Images

1. In a public-key data encryption/decryption system having a plurality of terminals, a terminal comprising:

  • a transmitter-receiver capable of receiving an encrypted message encrypted using a non-secret encryption key specific to the terminal;

    an encrypter/decrypter, coupled to the transmitter-receiver, adapted to decrypt the encrypted message using a secret decryption key;

    an encryption/decryption key generator coupled to the encrypter/decrypter and adapted to generate the non-secret and secret keys by use of a pair of large randomly selected prime numbers;

    a large random prime number generator, including a large-scale integrated circuit, coupled to the key generator and adapted to provide the key-generator with the pair of random large prime numbers having a desired length, the large-scale integrated circuit being constructed to perform the following operations in selecting each of the pair of large random prime numbers;

    starting with a P, which is a known prime number having a length which is relatively short in comparison to the desired length, forming a sequence of prime numbers in the form hP+1, wherein P is the current prime number in the sequence of prime numbers, by selecting at random an h and forming hP+1 and testing hP+1 for primality by determining first if the greatest common divisor (GCD) of (hP+1), (x) is one, wherein x is a composite number consisting of the product of all known prime numbers less than or equal to a selected known prime number, and if the GCD is equal or one, determining if both 2hP

    1 [mod (hp+1)] and 2h

    1 [mod (hP+1)], and, if GCD is not equal to one, incrementing h to form a new hP+1, and if GCD is equal to one, but either 2hP

    1 [mod (hP+1)] or 2h

    1 [mod (hP+1)], incrementing h to form a new hP+1, but if both 2hP |[mod (hP+1)] and 2h

    1 [mod (hP+1)], determining if the length of hP+1 is greater than or equal to the desired length, and if greater than or equal to the desired length then setting hP+1 as an output as a large random prime number to the encryption/decryption key generator, and if not greater than or equal to the desired length, then placing hP+1 in the sequence of prime numbers and repeating the above steps using hP+1 as the new P and commencing by selecting a new h as above set forth.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×