aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Strömbergson <joachim@secworks.se>2015-03-13 10:25:32 +0100
committerJoachim Strömbergson <joachim@secworks.se>2015-03-13 10:25:32 +0100
commitfec98c9623f915b0e01cc7e7fa95a8cdfbf8cfb8 (patch)
tree54cd498a139afcb59d5c5ae8237c25cb75d9e601
Adding license and initial readme for the modexp core. Provides at least a high level intro to the core and current status.
-rw-r--r--LICENSE24
-rw-r--r--README.md49
2 files changed, 73 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a4b6802
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Author: Joachim Strömbergson
+Copyright (c) 2015, SUNET
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e6f44a9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,49 @@
+modexp
+======
+
+Modular exponentiation core for implementing public key algorithms such
+as RSA, DH, ElGamal etc.
+
+The core calculates the following functions:
+
+ C = M ** e mod N
+ M = C ** d mod N
+
+ d is the private key exponent.
+ M is a message with a length of n bits
+ e is the exponent with a length of at most 32 bits
+ N is the modulus with a length of n bits
+ n is can be 32 and up to and including 8192 bits in steps
+ of 32 bits.
+
+The core has a 32-bit memory like interface.
+
+The core is written in Verilog 2001 and suitable for implementation in
+FPGA and ASIC devices. No vendor specific macros are used in the code.
+
+
+## Implementation details ##
+
+The core is using Montgomery multiplication with 32-bit operands. The
+core is iterative and will not be the fastest core on the
+planet.
+
+The core will perform blinding to protect against side channel
+attacks.
+
+
+## FPGA-results ##
+
+No results yet.
+
+
+## Status ##
+
+***(2015-03-13)***
+
+A working, bit exact C model with test cases has been developed and is
+used to drive the HW development. There is also a Java functional model
+available as support for high level undertanding.
+
+Development of the Montgomery product module started. Top level modexp
+module with memories for all operands are being worked on.