1 |
6 |
root |
<!--# include virtual="/ssi/ssi_start.shtml" -->
|
2 |
|
|
<b><font color="#bf0000" face="Helvetica, Arial" size="+2">Project Name: Modular Exponentiation core</font></b>
|
3 |
|
|
<p>
|
4 |
|
|
<b><font size=+1>Description</font></b>
|
5 |
|
|
<p class=MsoBodyText style='text-indent:.5in'>
|
6 |
|
|
Different encryption algorithms (such as RSA) require the
|
7 |
|
|
modular exponentiation calculation. Large word sizes are applied (word sizes
|
8 |
|
|
could reach 1024 or 2048 bits for more security). Many algorithms have been
|
9 |
|
|
used to implement a hardware block that can calculate modular exponentiation.
|
10 |
|
|
One of the best is Montgomery’s modular exponentiation algorithm. The
|
11 |
|
|
algorithm is particularly suitable for implementation on general-purpose
|
12 |
|
|
computers <i>(DSPs or microprocessor</i>s), that are capable of performing fast
|
13 |
|
|
arithmetic modulo a power of 2.
|
14 |
|
|
<p class=MsoBodyText style='text-indent:.5in'>
|
15 |
|
|
Our modular exponentiation core will be released in a parametrizable
|
16 |
|
|
form, where the user chooses the word processing size. The core is designed to
|
17 |
|
|
operate at high clock frequencies (on different technologies) for processing
|
18 |
|
|
large bit-rates. Large word size additions and subtractions delays are reduced
|
19 |
|
|
by carry save logic. For more information about modular exponentiation please
|
20 |
|
|
check <a href="htmlbook.shtml">here</a>
|
21 |
|
|
<p>
|
22 |
|
|
<b><font size=+1>Current Status</font></b>
|
23 |
|
|
<p class=MsoBodyText style='text-indent:.5in'>
|
24 |
|
|
We have implemented a 16-bit version of our core with applying carry save logic,
|
25 |
|
|
the algorithm was functionally verified before and after synthesis. The 16-bit
|
26 |
|
|
version occupied 8500 to 10000 gates using Xilinx XC4000E family FPGAs
|
27 |
|
|
(according to different synthesis options; time/area optimization). Timing
|
28 |
|
|
simulation showed the core operating at a maximum speed of 8 MHz (for 8500
|
29 |
|
|
gates) and 15.6 MHz (for 10000 gates). The core could be found at <a href=http://www.mentor.com/partners/hep/HDLcontest.htm>Mentor Graphics Student HDL Contest results (Third Prize)</a> and you can find some similar cores as well.
|
30 |
|
|
<p>
|
31 |
|
|
<b><font size=+1>References</font></b>
|
32 |
|
|
<p>
|
33 |
|
|
<ul><li><a href=htmlbook.shtml>Bookmarks</a></li></ul>
|
34 |
|
|
<p>
|
35 |
|
|
<b><font size=+1>Maintainers and Authors</font></b>
|
36 |
|
|
<ul>
|
37 |
|
|
<li>Sherif Taher Eid -
|
38 |
|
|
<a href="mailto:ste@opencores.org">ste@opencores.org</a></li>
|
39 |
|
|
<li>Samy Farouk Nada -
|
40 |
|
|
<a href="mailto:samyn@softhome.net">samyn@softhome.net</a></li>
|
41 |
|
|
</ul>
|
42 |
|
|
<p>
|
43 |
|
|
<br>
|
44 |
|
|
|
45 |
|
|
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
<!--# include virtual="/ssi/ssi_end.shtml" -->
|