Claims
- A1. A method of encrypting data comprising:
performing a ring arithmetic function on numbers, including:
using a residue number multiplication process; converting to a first basis using a mixed radix system; and converting to a second basis using a mixed radix system.
- A2. The method of claim A1, wherein the ring arithmetic function includes multiplication.
- A3. The method of claim A1, wherein the ring arithmetic function includes addition.
- A4. The method of claim A1, wherein the ring arithmetic function includes subtraction.
- A5. The method of claim A1, wherein the data is encrypted using asymmetric encryption.
- A6. The method of claim A1, wherein the data is encrypted using symmetric encryption.
- A7. The method of claim A1, further comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-big; and wherein the modulus C is w-heavy.
- A8. The method of claim A7, wherein the modulus C is of the form 2 w −L; and
wherein L is a low Hamming weight odd integer less than 2(w−1)/2.
- A9. The method of claim A8, further comprising:
calculating the modulus C by a process including:
splitting P into 2 w-bit words H1 and L1; calculating S1=L1+(H1 2x2)+(H1 2x2)+ . . . +(H12xk)+H1; splitting S1 into two w-bit words H2 and L2; computing S2=L2+(H2 2x1)+(H2 2x2)+ . . . +(H2 2xk) +H2; computing S3=S2+(2x1+ . . . +2xk+1); determining the modulus C by comparing S3 to 2w, wherein the modulus C
=S2 if S3 <2w, and wherein the modulus C=S3 =2w if S3 ≧2w; and wherein the modulus C is a residue.
- A10. The method of claim A1, further comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-little; and wherein the modulus C is w-light.
- A11. The method of claim A10,
wherein the modulus C is of the form 2w+L; and wherein the modulus C has a Hamming weight close to 1.
- B1. A method of encrypting data comprising the steps of:
choosing a first basis (m1, m2, . . . mt); choosing a second basis (mt+1, mt+2, . . . m2t); calculating a product M=M1M2 . . . mt; calculating a product W=mt+1mt+2 . . . m2t; and calculating a product ABM−1 mod p, wherein the calculating a product ABM−1 mod p includes:
computing Q mod M in the first basis such that AB+Qp=RM for some integral value R; converting Q to the second basis, Q mod W; and computing R in the second basis, R mod W, wherein R=(AB +Qp)M−1 mod W and R mod p=ABM−1 mod p.
- B2. The method of claim B1, further comprising converting R to the first basis, R mod M.
- B3. The method of claim B2, further comprising:
a second iteration of the method of claim B2; and wherein R is used as input to the subsequent iteration.
- B4. The method of claim B1, wherein the data is encrypted using asymmetric encryption.
- B5. The method of claim B1, wherein the data is encrypted using symmetric encryption.
- C1. A method of encrypting data comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-big; and wherein the modulus C is w-heavy.
- C2. The method of claim C1,
wherein the modulus C is of the form 2w−L; and wherein L is a low Hamming weight odd integer less than 2(w−1)2.
- C3. The method of claim C2, further comprising:
calculating the modulus C by a process including:
splitting P into 2 w-bit words H1 and L1; calculating S1=L1+(H12x1)+(H12x2)+ . . . +(H1 2xk)+H1; splitting S1 into two w-bit words H2 and L2; computing S2=L2+(H2 2x1)+(H2 2x2)+ . . . +(H22xk)+H2; computing S3=S2+(2x1+ . . . +2xk+1); determining the modulus C by comparing S3 to 2w, wherein the modulus C
=S2 if S3<2w, and wherein the modulus C=S3−2w if S3>2w; and wherein the modulus C is a residue.
- D1. A method of encrypting data comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-little; and wherein the modulus C is w-light.
- D2. The method of claim D1,
wherein the modulus C is of the form 2w+L; and wherein the modulus C has a Hamming weight close to 1.
- E1. A method of hashing data comprising:
performing a ring arithmetic function on numbers, including:
using a residue number multiplication process; converting to a first basis using a mixed radix system; and converting to a second basis using a mixed radix system.
- E2. The method of claim E1, wherein the ring arithmetic function includes multiplication.
- E3. The method of claim E1, wherein the ring arithmetic function includes addition.
- E4. The method of claim E1, wherein the ring arithmetic function includes subtraction.
- E5. The method of claim E1, further comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-big; and wherein the modulus C is w-heavy.
- E6. The method of claim E5,
wherein the modulus C is of the form 2w−L; and wherein L is a low Hamming weight odd integer less than 2(w−1)/2.
- E7. The method of claim E6, further comprising
calculating the modulus C by a process including:
splitting P into 2 w-bit words H1 and L1; calculating S1=L1+(H1 2x2)+(H1 2x2) + . . . +(H1 2xk)+H1; splitting S1 into two w-bit words H2 and L2; computing S2=L2+(H2 2x1)+(H2 2x2)+ . . . +(H2 2xk)+H2; computing S3=S2+(2x1+ . . . +2xk+1); determining the modulus C by comparing S3 to 2w, wherein the modulus C
=S2 if S3 <2w, and wherein the modulus C=S3 −2w if S3>2w; and wherein the modulus C is a residue.
- E8. The method of claim E7, wherein the method of hashing data comprises a method of cryptographic hashing.
- E9. The method of claim E1, further comprising:
choosing a modulus C for modular calculations; wherein the modulus C is w-little; and wherein the modulus C is w-light.
- E10. The method of claim E9,
wherein the modulus C is of the form 2w+L; and wherein the modulus C has a Hamming weight close to 1.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of the following U.S. Provisional Applications, all of which are hereby incorporated by reference, and the content of which are not necessarily identical to the content of this application:
1COMMONLY OWNED AND PREVIOUSLY FILEDU.S. PROVISIONAL PATENT APPLICATIONSAtty. Dkt. #Ser. No.TitleFiling Date501143.00000560/288,015Method and Apparatus for ShotgunMay 2, 2001Multiplication and Exponentiation501143.00001060/300,957Method and Residue Calculation UsingJun. 26, 2001Casting Out501143.00001160/300,955Add-Drop Layer 3 Ethernet Ring SwitchJun. 26, 2001501431.00001460/326,266Application Specific Information ProcessingOct. 1, 2001System501143.00001560/326,252Efficient Use of DRAM-Based Devices ForOct. 1, 2001Small Discontiguous Memory Accesses501143.00001660/326,251Exponentiation EngineOct. 1, 2001501143.00001760/326,250Method for SquaringOct. 1, 2001
[0002] The current application shares some specification and figures with the following commonly owned and concurrently filed applications, all of which are hereby incorporated by reference:
2COMMONLY OWNED AND CONCURRENTLY FILEDU.S. NONPROVISIONAL PATENT APPLICATIONSAtty. Dkt. #Ser. No.TitleFiling Date501143.000019Not AssignedApplication-Specific Information-ProcessingNot AssignedMethod, System, and Apparatus
[0003] The benefit of 35 U.S.C. § 120 is claimed for all of the above referenced commonly owned applications. The contents of the applications referenced in the tables above are not necessarily identical to the contents of this application. The applications referenced in the tables above are referred to herein as the “Related Applications.”
[0004] All references cited hereafter are incorporated by reference to the maximum extent allowable by law. To the extent a reference may not be fully incorporated herein, it is incorporated by reference for background purposes and indicative of the knowledge of one of ordinary skill in the art.
Provisional Applications (7)
|
Number |
Date |
Country |
|
60288015 |
May 2001 |
US |
|
60300957 |
Jun 2001 |
US |
|
60300955 |
Jun 2001 |
US |
|
60326266 |
Oct 2001 |
US |
|
60326252 |
Oct 2001 |
US |
|
60326251 |
Oct 2001 |
US |
|
60326250 |
Oct 2001 |
US |