Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission
First Claim
1. An apparatus for maintaining the privacy of a digital message M conveyed by public transmission between a sender and a receiver, and adapted to serve as either a sending station or a receiving station when said sending station and said receiving station are interconnected by two-way public transmission means whose transmissions are subject to unauthorized reception, comprising:
- (a) means for generating a random integer of m binary digits;
(b) means for computing two integers E and D each between 1 and 2m -2 inclusive related such that their product ED equals 1 modulo 2m -1, having as an input said random integer; and
(c) means for exponentiating, having as inputs, an integer N representing E or D, and a non-zero element B of the finite field GF(2m) containing 2m elements, having m binary digits in normal basis representation, for exponentiating said element B so as to form the element BN of GF(2m) having m binary digits in normal basis representation.
3 Assignments
0 Petitions
Accused Products
Abstract
A private message of m bits is conveyed from its sender to its receiver by transmission of a public message of m bits, transmission of a public reply of m bits, and another transmission of a public message of m bits such that only the intended receiver can easily recover the private message from the three public messages. This private message now available to both the sender and intended receiver also allows all subsequent private messages between these two points to require only one public message for each private message while maintaining the property that only the intended receiver of each message can easily recover the private message for each public message.
103 Citations
26 Claims
-
1. An apparatus for maintaining the privacy of a digital message M conveyed by public transmission between a sender and a receiver, and adapted to serve as either a sending station or a receiving station when said sending station and said receiving station are interconnected by two-way public transmission means whose transmissions are subject to unauthorized reception, comprising:
-
(a) means for generating a random integer of m binary digits; (b) means for computing two integers E and D each between 1 and 2m -2 inclusive related such that their product ED equals 1 modulo 2m -1, having as an input said random integer; and (c) means for exponentiating, having as inputs, an integer N representing E or D, and a non-zero element B of the finite field GF(2m) containing 2m elements, having m binary digits in normal basis representation, for exponentiating said element B so as to form the element BN of GF(2m) having m binary digits in normal basis representation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. feedback shift register. 16. An exponentiator which produces the element BN of the finite field GF(2m) containing 2m elements in normal basis representation when presented with a non zero element B of GF(2m) of m binary digits, and with an integer N between 1 and 2m -2 inclusive of m binary digits to serve as the exponent, comprising:
-
(a) a first means for storing the m binary digits of said element B to be exponentiated in normal basis representation; (b) a first means for obtaining in sequence, the m-1 successive squares of B in normal basis representation; (c) a second means for storing the m binary digits of the integer N representing the exponent in radix-two form; (d) a second means for obtaining, in sequence, from lowest to highest order, the m binary digits of the integer N; (e) an accumulator for accumulating successive products whose initial contents are the element 1 of GF(2m) in normal basis representation and which is successively updated with new contents, and whose final contents are the element BN in normal basis representation; (f) a multiplier for GF(2m) for determining the product vector of m binary digits of two elements of GF(2m), each represented by a vector of m binary digits in normal basis representation, having as inputs the successive contents of said first means for storing and said accumulator, whereby after at most m successive multiplications, the element BN of GF(2m) will be determined; (g) means for successively updating the contents of said accumulator with said product; (h) means for feeding the contents of said accumulator to said multiplier; and (i) means for controlling said multiplier whereby said multiplier will be enabled if the low order binary digit of said second memory is a logical - View Dependent Claims (17, 18)
-
-
19. irreducible over the field GF(2) and has linearly independent roots. 19. An apparatus for computing a pair of integers E and D each having m binary digits and each between 1 and 2m -2 inclusive according to the equations E=HR modulo 2m -1 for a specified integer H and ED=1 modulo 2m -1, when presented with a random integer R of m binary digits between 1 and 2m -1 inclusive, comprising:
-
(a) a first means for storing 2 m m-bit words in 2 m storage locations j=0, 1, 2, 3 . . . 2 m-1, storage location j of which contains the integer H2.spsp.j modulo 2m -1 in radix-two form for j=0, 1, 2 . . . m-1, and H-2.spsp.j-m modulo 2m -1 in radix-two form for j=m, m+1 . . . 2 m-1, where H is an integer between 2 and 2m -2 inclusive; (b) a first means for obtaining, in sequence, each of said 2 m m-bit words; (c) a second means for storing said random integer R having m binary digits; (d) a second means for obtaining, in two identical sequences, from lowest to highest order, the m binary digits of said integer R; (e) an accumulator for accumulating successive products, whose initial contents are the m binary digits of the integer 1 in radix-two form and whose contents after the m binary digits of the integer R have once been obtained are the m binary digits of said integer E, and after the m binary digits of the integer R have twice been obtained are the m binary digits of said integer D; (f) a 1'"'"'s complment multiplier for determining the 1'"'"'s complement product of two integers of m binary digits having as a first input, the successive contents of said first means for storing, and as a second input, the successive contents of said accumulator, whereby after at most m multiplications, said integer E will have been determined, and after at most 2 m multiplications, said integer D will have been determined; (g) means for successively updating the contents of said accumulator with said 1'"'"'s complement product; (h) means for feeding the contents of said accumulator to said 1'"'"'s complement multiplier; (i) means for controlling said 1'"'"'s complement multiplier whereby said 1'"'"'s complement multiplier will be enabled if the low order binary digit of said second means for storing is a logical 1, and disabled if said low - View Dependent Claims (20)
-
-
21. multiplier. 21. An apparatus for computing an m-bit integer D from a randomly selected m-bit integer E, where both E and D are between 1 and 2m -2 inclusive, and are related such that ED equals 1 modulo 2m -1, comprising:
-
(a) an m-bit 1'"'"'s complement multiplier which performs 2 m-3 successive multiplications, having a first and second m-bit input and an m-bit output, resulting in 2 m-3 successive m-bit products; (b) a first accumulator whose initial contents are the m-bits of the random integer E in radix-two form and which is successively updated and the output of which connects to said first input of said m-bit 1'"'"'s complement multiplier; (c) a second accumulator whose initial contents are the m-bits of the random integer E, and which is successively updated, and whose final contents are the m bits of the integer D; (d) means for successively updating the contents of said first and second accumulators, whereby after the first multiplication said first product will be fed into said first accumulator, and thereafter, each successive product will be fed alternately into the first and second accumulators respectively; and (e) means for coupling said first and second accumulators to said second m-bit input of said m-bit 1'"'"'s complement multiplier whereby after the first multiplication, said first accumulator is coupled to said second m-bit input, and thereafer, said first and second accumulators - View Dependent Claims (22)
-
- 23. The method for maintaining the privacy of a digital message M conveyed by public transmission between a sender and a receiver wherein private transmission of said digital message M requires the actual transmission of a first public digital message Y1, a second public digital message Y2 and a third public digital message Y3 for each private digital message M over public transmission means, said private digital message M and said three public digital messages Y1, Y2 and Y3 each represented by a vector of m binary digits where m is an integer equal to or greater than 2, and each normal basis representations of an element of the finite field GF(2m) containing 2m elements other than the elements 0 and 1 of said finite field, said three public messages Y1, Y2 and Y3 being the elements of GF(2m) determined by the equations
- space="preserve" listing-type="equation">Y.sub.1 =M.sup.E.sbsp.1
space="preserve" listing-type="equation">Y.sub.2 =Y.sub.1.sup.E.sbsp.2
space="preserve" listing-type="equation">Y.sub.3 =Y.sub.2.sup.D.sbsp.1and said private message M being determined by M=Y3D.sbsp.2, where E1, D1, E2 and D2 are each integers of m binary digits between 1 and 2m -2 inclusive whose products E1 D1 =E2 D2 =1 modulo 2m -1, said first public message Y1 being transmitted from said sending station to said receiving station, said second public message Y2 being transmitted as the reply from said receiving station to said sending station, and said third public message Y3 being transmitted as the reply to said message Y2 from said sending station to said receiving station, said receiving station then calculating said private message M according to the equation M=Y3D.sbsp.2, comprising the steps of; (a) generating in random integer generating means at said sending station a first random integer of m binary digits; (b) computing in means for computing at said sending station a pair of integers E1 and D1 each between 1 and 2m -2 inclusive, and each of m binary digits such that their product E1 D1 equals 1 modulo 2m -1 when presented with said first random integer; (c) exponentiating in means for exponentiating at said sending station said private message M to the E1 power to obtain said public message Y1 ; (d) transmitting said message Y1 over said public transmission means to said receiving station; (e) generating in random integer generating means at said receiving station a second random integer of m binary digits; (f) computing in means for computing at said receiving station a pair of integers E2 and D2 each between 1 and 2m -2 inclusive and each of m binary digits such that their product E2 D2 equals 1 modulo 2m -1 when presented with said second random integer; (g) exponentiating in means for exponentiating at said receiving station said public message Y1 to the E2 power to obtain said public message Y2 ; (h) transmitting said message Y2 over said public transmission means to said sending station; (i) exponentiating in said means for exponentiating at said sending station said public message Y2 to the D1 power to obtain said public message Y3 ; (j) transmitting said public message Y3 over said public transmission means to said receiving station; and (k) exponentiating in said means for exponentiating at said receiving station said public message Y3 to the D2 power to obtain said - View Dependent Claims (24, 25, 26)
Specification