← Back to Patent Explorer
US5274707A Expired / Lapsed US ⏱️ 0.0 years remaining

Modular exponentiation and reduction device and method

Assignee: Individual
•
Filing: 1991-12-06
•
Granted: 1993-12-28
•
Expires: 2011-12-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A device for applying modular arithmetic exponentiation and reduction to an input message, and method. The device includes a partial array multiplier and an array subtracter, but requires no divider unless the modulus is changed. The intermediate results are only approximate but a correction technique makes the output signal exact.

Inventors

  • 👤 Roger Schlafly

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 22:05
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/60; G06F7/72; G06F7/723; H; H04; H04L; H04L9/00; H04L9/30; H04L9/3006; H04L9/302

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 91 words
In a public key cryptosystem of modular exponential type, a method for processing cryptographic variables comprising the steps of transforming said cryptographic variables into large integers, using one of said integers as the modulus, using an approximate inverse to said modulus, using the method of repeated squaring, shifting, and multiplying for computing an exponential, incomplete modular reducing at each stage to generate an approximate residue, using an array subtracter to generate a final residue from said modulus and said approximate residue, and transforming said final residue into an output cryptographic variable.
Claim 2
Dependent Claim 91 words
In a public key cryptosystem of modular exponential type, a method for processing cryptographic variables comprising the steps of transforming said cryptographic variables into large integers, using one of said integers as the modulus, using an approximate inverse to said modulus, using the method of repeated squaring, shifting, and multiplying for computing an exponential, incomplete modular reducing at each stage to generate an approximate residue, using an array subtracter to generate a final residue from said modulus and said approximate residue, and transforming said final residue into an output cryptographic variable.
Claim 3
Dependent Claim 19 words
The method of claim 1 wherein squaring is performed by a partial array multiplier and by doubling certain terms.
Claim 4
Dependent Claim 20 words
The method of claim 1 further comprising reducing the number of multiplications and modular reductions by using selected precomputed powers.
Claim 5
Dependent Claim 15 words
The method of claim 1 further comprising transforming said modulus into said approximate modulus inverse.
Claim 6
Dependent Claim 11 words
The method of claim 1 further comprising inverting using Newton's method.
Claim 7
Dependent Claim 16 words
The method of claim 1 further comprising generating digital signatures, authentications, or related public key signals.
Claim 8
Dependent Claim 105 words
In a public key cryptosystem of modular exponential type, a method for processing cryptographic variables comprising the steps of transforming said cryptographic variables into large integers, multiplying said large integers to yield an even larger integer, using another said large integer as a modulus, having a precomputed approximate modulus inverse to said modulus, performing an incomplete modular reduction on said larger integer by using a partial array multiplier to generate an approximate quotient from an input signal and said modulus inverse, and using a partial array multiplier and an array subtracter to generate an approximate residue from said modulus, said input, and said approximate quotient.
Claim 9
Dependent Claim 105 words
In a public key cryptosystem of modular exponential type, a method for processing cryptographic variables comprising the steps of transforming said cryptographic variables into large integers, multiplying said large integers to yield an even larger integer, using another said large integer as a modulus, having a precomputed approximate modulus inverse to said modulus, performing an incomplete modular reduction on said larger integer by using a partial array multiplier to generate an approximate quotient from an input signal and said modulus inverse, and using a partial array multiplier and an array subtracter to generate an approximate residue from said modulus, said input, and said approximate quotient.
Claim 10
Dependent Claim 22 words
The method of claim 7 wherein using an array subtracter to generate an exact residue from said modulus and said approximate residue.
Claim 11
Dependent Claim 14 words
The method of claim 7 wherein said method uses shifting to align intermediate quantities.
Claim 12
Dependent Claim 21 words
The method of claim 7 wherein said precomputed approximate modulus inverse has been truncated based on the favorable position of zeros.
Claim 13
Dependent Claim 17 words
The method of claim 7 wherein said method uses full array multiplying instead of partial array multiplying.
Claim 14
Dependent Claim 16 words
The method of claim 7 wherein using said modular reducing for public key encrypting and decrypting.
Claim 15
Dependent Claim 16 words
The method of claim 7 further comprising generating digital signatures, authentications, or related public key signals.
Claim 16
Dependent Claim 119 words
Apparatus for processing an ordinary digital signal comprising means for representing said digital signal inputs as large integers stored in register arrays, one or more register adder circuits, one or more register subtracter circuits, one or more register multiplier circuits, one or more partial array multipliers using said multiplier circuit(s) and said adder circuit(s), one or more array subtracters using said subtracter circuit(s), having a precomputed approximate modulus inverse, means for multiplying two of said large integers, means for incomplete modular reduction using said partial array multiplier and said array subtracter, means for modular exponentiation using said partial array multiplier, said incomplete modular reduction, and said array subtracter, and means for representing output large integer as a digital signal.
Claim 17
Dependent Claim 119 words
Apparatus for processing an ordinary digital signal comprising means for representing said digital signal inputs as large integers stored in register arrays, one or more register adder circuits, one or more register subtracter circuits, one or more register multiplier circuits, one or more partial array multipliers using said multiplier circuit(s) and said adder circuit(s), one or more array subtracters using said subtracter circuit(s), having a precomputed approximate modulus inverse, means for multiplying two of said large integers, means for incomplete modular reduction using said partial array multiplier and said array subtracter, means for modular exponentiation using said partial array multiplier, said incomplete modular reduction, and said array subtracter, and means for representing output large integer as a digital signal.
Claim 18
Dependent Claim 17 words
The apparatus of claim 14 wherein several of said register adders, subtracters, and multipliers act in parallel.
Claim 19
Dependent Claim 23 words
The apparatus of claim 14 further comprising the means to use selected precomputed powers to reduce the number of multiplications and modular reductions.
Claim 20
Dependent Claim 19 words
The apparatus of claim 14 further comprising the means to transform an input modulus into said approximate modulus inverse.
Claim 21
Dependent Claim 13 words
The apparatus of claim 14 implemented as a custom or semi-custom integrated circuit.
Claim 22
Dependent Claim 65 words
System for incomplete modular reduction of cryptographic variables, comprising a large integer as a modulus, a precomputed approximate modulus inverse to said modulus, a partial array multiplier to generate an approximate quotient from one of said cryptographic variables and said modulus inverse, and a partial array multiplier and an array subtracter to generate an approximate residue from said modulus, an input, and said approximate quotient.
Claim 23
Dependent Claim 65 words
System for incomplete modular reduction of cryptographic variables, comprising a large integer as a modulus, a precomputed approximate modulus inverse to said modulus, a partial array multiplier to generate an approximate quotient from one of said cryptographic variables and said modulus inverse, and a partial array multiplier and an array subtracter to generate an approximate residue from said modulus, an input, and said approximate quotient.
Claim 24
Dependent Claim 26 words
The system of claim 19 further comprising means to accept the modulus as an input, and means to transform said modulus into said approximate modulus inverse.
Claim 25
Dependent Claim 17 words
The system of claim 19 further comprising means to convert said approximate residue to an exact residue.
Claim 26
Dependent Claim 22 words
The system of claim 19 wherein said system is a modular reduction stage in a public key cryptosystem of modular exponential type.
Claim 27
Dependent Claim 20 words
The system of claim 19 wherein said system is used to generate digital signatures, authentications, or related public key signals.
Claim 28
Dependent Claim 56 words
A partial array multiplier, comprising registers for storing inputs, means for storing a carry bit, initially zero, means for multiplying two registers and putting the product in two output registers, means for adding said carry bit to the more significant of said output registers, and an adder which stores resultant carry in said carry bit storage.
Claim 29
Dependent Claim 56 words
A partial array multiplier, comprising registers for storing inputs, means for storing a carry bit, initially zero, means for multiplying two registers and putting the product in two output registers, means for adding said carry bit to the more significant of said output registers, and an adder which stores resultant carry in said carry bit storage.

References Cited (Backward Citations)

US4027147A Cited
US4594678A Cited
US4736423A Cited
US4870681A Cited
US4891781A Cited
US5121429A Cited
US5073870A Cited
US5166978A Cited
US5159632A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-12-27 1997-06-28 1997-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-12-27 2001-06-28 2001-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-12-27 2005-06-28 2005-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag