Cryptographic system and method with fast decryption
First Claim
Patent Images
1. In a system for sending messages over a network between first and second computing units, a method comprising the following steps:
- (a) encrypting a message M into ciphertext C at the first computing unit, where the ciphertext C includes a value V and a value W, as follows;
(1) the value V is a function of a number x, V=xe, where e is an integer and x is as follows;
x=gR mod n, where;
(i) n is a number n=p1 p2 where p1 and p2 are prime numbers with p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers, and q1 and q2 are prime numbers;
(ii) R is a random number selected independent of the random numbers r1 and r2 ; and
(iii) g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1, r2, and R;
(2) the value W is a function of a value h(x) and the message M, the value h(x) being a result of a one-way function of the number x;
(b) sending the ciphertext C from the first computing unit to the second computing unit; and
(c) decrypting the ciphertext C at the second computing unit to reproduce the message M, where M is a function of the value W and the value h(x) and x is derived as x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n.
2 Assignments
0 Petitions
Accused Products
Abstract
A cryptography system improves the decryption speed in the RSA algorithm by taking advantage of certain subgroups of Zn *. The cryptography system employs a new family of trapdoor permutations based on exponentiation in subgroups of Zn *.
50 Citations
33 Claims
-
1. In a system for sending messages over a network between first and second computing units, a method comprising the following steps:
-
(a) encrypting a message M into ciphertext C at the first computing unit, where the ciphertext C includes a value V and a value W, as follows; (1) the value V is a function of a number x, V=xe, where e is an integer and x is as follows; x=gR mod n, where; (i) n is a number n=p1 p2 where p1 and p2 are prime numbers with p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers, and q1 and q2 are prime numbers; (ii) R is a random number selected independent of the random numbers r1 and r2 ; and (iii) g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1, r2, and R; (2) the value W is a function of a value h(x) and the message M, the value h(x) being a result of a one-way function of the number x; (b) sending the ciphertext C from the first computing unit to the second computing unit; and (c) decrypting the ciphertext C at the second computing unit to reproduce the message M, where M is a function of the value W and the value h(x) and x is derived as x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for encrypting a message M into ciphertext C wherein:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; and g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.3) mod n, where r3 is a random number selected independent of the random numbers r1, and r2 ; the computer-implemented method comprising the following steps; computing a number x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; transforming the number x according to a one-way function h to yield a value h(x); and encoding the message M according to a function of the value h(x). - View Dependent Claims (8, 9, 10)
-
-
11. A computer-implemented method for decrypting ciphertext C to reproduce a message M, wherein:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1 and r2 ; x is a number in the form of x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; e is an integer; and V is a value in the form of V=xe ; the computer-implemented method comprising the following steps; recovering the number x from the value V, where x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n; transforming the number x according to a one-way function h to yield a value h(x); and decoding the ciphertext C according to a function of the value h(x) to recapture the message M. - View Dependent Claims (12, 13)
-
-
14. In a system for sending messages over a network between first and second computing units, a method comprising the following steps:
-
(a) encrypting a message M into ciphertext C at the first computing unit, where the ciphertext C includes a value V and a value W, as follows; (1) the value V is a function of a number x, V=xe, where e is an integer selected from the first b odd primes, and x is as follows; x=gR mod n, where; (i) n is a number n=p1 p2 where p1 and p2 are prime numbers with p1 =r1 q1 +1 and p2 =r2 q2 +1, where q1 and q2 are prime numbers and r1 and r2 are random numbers that are not divisible by the first b odd primes; (ii) R is a random number selected independent of the random numbers r1 and r2 ; and (iii) g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1, r2, and R; (2) the value W is a function of a value h(x) and the message M, the value b(x) being a result of a one-way function of the number x; (b) sending the ciphertext C from the first computing unit to the second computing unit; and (c) decrypting the ciphertext C at the second computing unit to reproduce the message M, where M is a function of the value W and the value h(x) and x is derived as x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n.
-
-
15. A system for sending messages over a communications channel, comprising:
-
an encoder to transform a message M into ciphertext C and transmit the ciphertext C over the communications channel, where the ciphertext C includes a value V and a value W, as follows; (1) the value V is a function of a number x, V=xe, where e is an integer and x is as follows; x=gR mod n, where; (i) n is a number n p1 p2 where p1 and p2 are prime numbers with p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers, and q1 and q2 are prime numbers; (ii) R is a random number selected independent of the random numbers r1 and r2 ; and (iii) g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1, r2, and R; (2) the value W is a function of a value h(x) and the message M, the value h(x) being a result of a one-way function of the number x; and a decoder coupled to receive the ciphertext C and the value V from the communications channel and to transform the ciphertext C back to the message M, where M is a function of the value W and the value h(x) and x is derived as x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An encoder for a cryptographic system, where:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 30 1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; and g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1 and r2 ; the encoder comprising; means for computing a number x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; means for transforming the number x according to a one-way function h to yield a value h(x); and means for encoding a message M according to a function of the value h(x). - View Dependent Claims (22, 23)
-
-
24. A decoder for a cryptographic system, where:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1 and r2 ; x is a number in the form of x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; e is an integer; V is a value in the form of V=xe ; and W is a value derived from a function of a message M and a value h(x), where h(x) is a result of a one-way function h; the decoder comprising; means for receiving the values V and W; means for recovering the number x from the value V, where x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n; means for transforming the number x according to a one-way function h to yield the value h(x); and means for decoding the value W according to a function of the value h(x) to recapture the message M. - View Dependent Claims (25, 26)
-
-
27. A system for sending messages over a communications channel, comprising:
-
an encoder to transform a message M into ciphertext C and transmit the ciphertext C over the communications channel, where the ciphertext C includes a value V and a value W, as follows; (1) the value V is a function of a number x, V=xe, where e is an integer selected from the first b odd primes, and x is as follows; x=gR mod n, where; (i) n is a number n=p1 p2 where p1 and p2 are prime numbers with p1 =r1 q1 +1 and p2 =r2 q2 +1, where q1 and q2 are prime numbers and r1 and r2 are random numbers that are not divisible by the first b odd primes; (ii) R is a random number selected independent of the random numbers r1 and r2 ; and (iii) g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, mod n, where r3 is a random number selected independent of the random numbers r1, r2, and R; (2) the value W is a function of a value h(x) and the message M, the value h(x) being a result of a one-way function of the number x; a decoder coupled to receive the ciphertext C and the value V from the communications channel and to transform the ciphertext C back to the message M, where M is a function of the value W and the value h(x) and x is derived as x=V.sup.(1/e) mod q1 q2 mod n.
-
-
28. A computer-readable medium having computer-executable instructions causing a computer to encrypt a message M to a ciphertext C, where:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; and g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1 and r2 ; the computer-readable medium comprising; computer-executable instructions which cause a computer to compute a number x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; computer-executable instructions which cause a computer to transform the number x according to a one-way function h to yield a value h(x); and computer-executable instructions which cause a computer to encode a message M according to a function of the value h(x). - View Dependent Claims (29, 30)
-
-
31. A computer-readable medium having computer-executable instructions causing a computer to decrypt ciphertext C to recover a message M, where:
-
n is a number in the form n=p1 p2, where p1 and p2 are prime numbers; p1 =r1 q1 +1 and p2 =r2 q2 +1, where r1 and r2 are random numbers and q1 and q2 are prime numbers; g is a number in the form of g=r3.sup.(p.sbsp.1-1)(p.sbsp.2-1)/(q.sbsp.1 q.sbsp.2.sup.) mod n, where r3 is a random number selected independent of the random numbers r1 and r2 ; x is a number in the form of x=gR mod n, where R is a random number selected independent of the random numbers r1, r2, and r3 ; e is an integer; and V is a value in the form of V=xe ; the computer-readable medium comprising; computer-executable instructions which cause a computer to recover the number x from the value V, where x=V.sup.(1/e) mod q.sbsp.1q.sbsp.2 mod n; computer-executable instructions which cause a computer to transform the number x according to a one-way function h to yield h(x); and computer-executable instructions which cause a computer to decode the ciphertext C according to a function of h(x) to recapture the message M. - View Dependent Claims (32, 33)
-
Specification