Rsa algorithm acceleration processors, methods, systems, and instructions
US-2016308676-A1 · Oct 20, 2016 · US
US10120650B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10120650-B2 |
| Application number | US-201514869227-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2015 |
| Priority date | Sep 30, 2014 |
| Publication date | Nov 6, 2018 |
| Grant date | Nov 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of calculating data includes acquiring a difference between first data that is input and second data that was previously stored; determining a method of generating third data corresponding to a result of a calculation of the first data based on the difference; and performing a calculation corresponding to the determined method using a calculator.
Opening claim text (preview).
What is claimed is: 1. A method of calculating data using a calculation unit that includes an adder, first and second selectors, and first and second calculators, the adder being configured to receive outputs of the first and second selectors, respectively, the first selector being configured to receive a first input and an output of the first calculator, the second selector being configured to receive a second input and an output of the second calculator, the method comprising: acquiring a difference between first data that is input and second data that was previously stored; selecting, based on the difference, a process from among a first process of generating third data and a second process of generating the third data; and performing the selected process, the third data corresponding to a result of performing a mathematical operation on the first data, the first process including, calculating, using the first calculator, an output of a first mathematical function using the first data as an input to the first mathematical function, selecting, using the first selector, the output of the first calculator and providing the output of the first calculator to the adder, selecting, using the second selector, the second input and providing the second input to the adder, and generating the third data by adding, using the adder, the output of the first calculator to the second input, the second process including, calculating, using the second calculator, the output of a first mathematical function using the difference as an input to the first mathematical function, selecting, using the first selector, the first input and providing the first input to the adder, selecting, using the second selector, an output of the second calculator and providing the output of the second calculator to the adder, and generating the third data by adding, using the adder, the first input to the output of the second calculator, a first number of calculations included in the second process being less than a second number of calculations included in the first process. 2. The method of claim 1 , wherein the selecting comprises: comparing the difference with a threshold value, and selecting from among the first process and the second process, based on a result of the comparing. 3. The method of claim 2 , wherein the selecting comprises: selecting the first process in response to the difference exceeding the threshold value; and selecting the second process in response to the difference being less than or equal to the threshold value. 4. The method of claim 1 , wherein the performing of the selected process comprises: generating the third data based on the difference or a coefficient determined based on the first data. 5. The method of claim 4 , wherein the determined coefficient is selected from coefficients stored in correspondence to the difference or the first data. 6. The method of claim 1 , wherein the first process further includes performing one or more of the first number of calculations based on an entirety of the first data, and the second process further includes adding a product of the difference and a coefficient determined based on the first data to a product of the second data and the coefficient. 7. The method of claim 1 , further comprising storing the difference and the first data. 8. The method of claim 1 , wherein the performing of the selected process comprises performing calculations using either all or only a part of a single calculator according to the selected process. 9. The method of claim 8 , wherein the single calculator is a multi-precision calculator configured to perform a multiplication of N bits and a multiplication of N/2 bits. 10. The method of claim 1 , wherein the performing of the selected process comprises: selecting a calculator from among different calculators according to the selected process, and performing the calculation using the selected calculator. 11. The method of claim 1 , wherein the first data and the second data correspond to numbers represented using a floating point process. 12. A non-transitory computer-readable storage medium storing instructions to cause computing hardware to perform the method of claim 1 . 13. An apparatus for calculating data, the apparatus comprising: a processor, the processor including, an acquisition circuit configured to acquire a difference between first data that is input and second data that was previously stored; a determination circuit configured to select, based on the difference, a process from among a first process of generating third data and a second process of generating the third data; and a calculation circuit configured to perform the selected process, the calculation circuit including an adder, first and second selectors, and first and second calculators, the adder being configured to receive outputs of the first and second selectors, respectively, the first selector being configured to receive a first input and an output of the first calculator, the second selector being configured to receive a second input and an output of the second calculator, the third data corresponding to a result of performing a mathematical operation on the first data, the calculation circuit being configured such that, performing the first process includes, calculating, using the first calculator, an output of a first mathematical function using the first data as an input to the first mathematical function, selecting, using the first selector, the output of the first calculator and providing the output of the first calculator to the adder, selecting, using the second selector, the second input and providing the second input to the adder, and generating the third data by adding, using the adder, the output of the first calculator to the second input, and performing the second process includes, calculating, using the second calculator, the output of a first mathematical function using the difference as an input to the first mathematical function, selecting, using the first selector, the first input and providing the first input to the adder, selecting, using the second selector, an output of the second calculator and providing the output of the second calculator to the adder, and generating the third data by adding, using the adder, the first input to the output of the second calculator, the calculation circuit being further configured such that a first number of calculations included in the second process is less than a second number of calculations included in the first process. 14. The apparatus of claim 13 , wherein the determination circuit is further configured to compare the difference with a threshold value, and perform the selecting from among the first process and the second process based on a result of the comparing. 15. The apparatus of claim 14 , wherein the calculation circuit is further configured to select the first process in response to the difference exceeding the threshold value, and select the second process in response to the difference being less than or equal to the threshold value. 16. The apparatus of claim 13 , wherein the calculation circuit is further configured to perform the selected process based on the difference or a coefficient determined based on the first data. 17. The apparatus of claim 16 , wherein the determined coefficient is selected from coefficients stored in correspondence to the difference or the first data. 18. The apparatus of claim 13 , wherein the first process further includes performing one or more of the fi
Reduction of table size {(G06F1/0314 takes precedence)} · CPC title
Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title
for evaluating functions by calculation {(G06F7/4824 takes precedence)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.