×

Public key cryptographic system and method

  • US 5,142,579 A
  • Filed: 01/29/1991
  • Issued: 08/25/1992
  • Est. Priority Date: 01/29/1991
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of communicating securely over an insecure communications channel including the steps of:

  • A. generating a private key at a receiver that consists of a multiplicity of transformation steps of a plain text variable vector of fixed, but arbitrary length, wherein all steps are under the control of a random number source and wherein all operations of addition, subtraction, and multiplication are performed modulo a prime number, P, and wherein each transformation step comprises;

    a. multiplying a linear matrix by an input vector to yeild an intermediate vector, wherein the linear matrix contains its non-zero elements only in a multiplicity of submatrices along its principal diagonal and each submatrix possesses an inverse;

    b. substituting the input vector in a multiplicity of substitution vectors in which a variable of the input vector may appear more than once or not at all and where each substitution vector location contains only variables of the input vector that lie in locations entirely above the submatrix of the linear matrix to which they correspond;

    c. multiplying the substitution vectors by each other and a first constant vector to yield a product vector;

    d. adding the intermediate vector to the product vector and to a second constant vector to yield a sum vector;

    e. permuting the sum vector with a permutation vector to yield an output vector in which each element of the sum vector appears once, but in a usually different position than in the sum vector;

    f. generating an inverse linear matrix as the inverse of the linear matrix;

    g. generating an inverse permutation as the inverse of the permutation vector;

    B. hiding the private key by generating a public key at the receiver that represents the private key as a set of non-linear polynomial equations modulo the prime P by symbolically solving the multiplicity of transformation steps in terms of the plain text variable vector and reducing the set of non-linear polynomial equations to simplest terms;

    C. transmitting the public key to a sender via an insecure key channel;

    D. encrypting a plain text vector at the sender according to the public key by substituting the plain text vector into the set of non-linear polynomial equations to produce a ciphertext;

    E. transmitting the ciphertext via an insecure communications channel to the receiver;

    F. decrypting the ciphertext at the receiver with the private key with a private key decryption process to produce the plain text thereby achieving secure communications;

    wherein the private key decryption process operates by reversing the multiplicity of transformation steps of the private key in a reverse order to which they were applied and wherein reversing a transformation step comprises;

    a. reversing the permutation of an input vector using the inverse permutation to create an inverse permutation vector;

    b. starting from the top of the inverse linear matrix and considering each submatrix in turn;

    c. subtracting from the inverse permutation vector the sum of the product of the first constant vector and the multiplicity of substitutions of an output vector and the second constant vector to create an intermediate subvector, wherein operations are restricted to the range of the current submatrix;

    d. multiplying the intermediate subvector by the submatrix of the inverse linear matrix to create a corresponding subvector of the output vector;

    e. repeating the steps F.c. and F.d. until all of the inverse linear matrix has been exhausted and the output vector contains the reversion of the transformation step.

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