bug 1244: add sv.lbz ffirst image
[libreriscv.git] / nlnet_2021_crypto_router.mdwn
index 0f18c361fcce0a71cfaff1780f4a3da4fdb82b01..bfa7f5f5f999c6863005a88ed7e9a365ab421807 100644 (file)
@@ -1,5 +1,8 @@
-# NL.net proposal
+# NL.net proposal 2021-02-052
 
+* [[nlnet_2021_crypto_router/discussion]]
+
+top-level bugreport: <https://bugs.libre-soc.org/show_bug.cgi?id=589>
 
 ## Project name
 
@@ -7,7 +10,7 @@ The Libre-SOC Gigabit Router
 
 ## Website / wiki 
 
-<https://libre-riscv.org/nlnet_2021_crypto_router>
+<https://libre-soc.org/nlnet_2021_crypto_router>
 
 Please be short and to the point in your answers; focus primarily on
 the what and how, not so much on the why. Add longer descriptions as
@@ -27,7 +30,7 @@ Even just the implementations of cryptographic and blockchain algorithms have to
 
 Simple-V Vectorisation has some extremely unusual data manipulation properties that negate the need for such heavy optimisation.  We would like to explore this in-depth, for example examining Galois Field arithmetic, the basis of Elliptic Curve, AES, Error-correction algorithms and more, at the fundamental mathematical level and providing Vector Matrix Multiply and other abstractions, the combination of which lead to auditors to be able to see extremely clearly and quickly what the relationship is between the math and the actual implementation in hardware.  The focus will be on investigation and implementation of cryptographic primitives for use in Blockchain, OpenSSL, on keeping the implementation simple and leveraging Formal Correctness Proofs to verify them.
 
-The target worked example will be not to simply put this into an FPGA but to put together a 130nm ASIC under the Google Skywater Open PDK ASIC Programme, as a proof-of-concept Gigabit Router chip capable of securely handling network traffic and, having the underlying cryptographic primitives in place, being the basis of peer networking and blockchain applications which can be trusted with thode tasks by its full HDL and source code being publicly available for independent review.
+The target worked example will be not to simply put this into an FPGA but to put together a 130nm ASIC under the Google Skywater Open PDK ASIC Programme, as a proof-of-concept Gigabit Router chip capable of securely handling network traffic and, having the underlying cryptographic primitives in place, being the basis of peer networking and blockchain applications which can be trusted with those tasks by its full HDL and source code being publicly available for independent review.
 
 Ultimately we want a demonstration ASIC of an independently-auditable hardware implementation which can be trusted by end-users.
 
@@ -35,11 +38,12 @@ Ultimately we want a demonstration ASIC of an independently-auditable hardware i
 # Have you been involved with projects or organisations relevant to this project before? And if so, can you tell us a bit about your contributions?
 
 NLnet is backing the Libre-SOC project with a number of PET Grants (ending this year).  So far we have, thanks to NLnet:
+
 * Implemented the integer OpenPOWER ISA in a libre-compatible Lattice FPGA (ECP5)
 * Provided Formal Correctness proofs for all OpenPOWER pipelines implemented so far
 * Implemented a parameteriseable IEEE754 HDL library including SQRT, RSQRT and CORDIC pipelines and run several hundred thousand unit tests.
 * Implemented a "data primitives" library called nmutil which provides the basis of reconfigurable pipelines suitable for Reservation Stations in OoO microarchitectures
-* Started a dynamically-reconfigureable SIMD arithmetic HDL class that transparently computes parallel results but has an API as if it were a singke Signal, to nmigen
+* Started a dynamically-reconfigureable SIMD arithmetic HDL class that transparently computes parallel results but has an API as if it were a single Signal, to nmigen
 
 These are all spin-off resulting from the overall NLnet funding to complete the creation of a hybrid 3D GPU and VPU.  
 
@@ -50,14 +54,14 @@ EUR $50,000.
 # Explain what the requested budget will be used for? 
 
 * Detailed review and documentation of the analysis of cryptographic hashing and encryption algorithms used in cryptonote and other blockchain technologies to ascertain the fundamental principles and mathematical primitives
-  - So far the list includes Rijndael (AES), SHA2, Graestl, Blake256, Chacga8, Keccac and more
+  - So far the list includes Rijndael (AES), SHA2, Graestl, Blake256, Chacga8, Keccak and more
   - From Asymmetric Cryptography comes RSA, DSA, Diffie-Helmann
     and Elliptic Curve
   - From these it is clear that the primitives involve Matrix Multiply
     operations and Galois Field arithmetic, as well as ternary bitmanipulation
     and Carry-capable Vector "long arithmetic".
 * Hardware implementation of the underlying instruction primitives and Vector-Matrix concepts needed to support the crypto-primitives used in blockchain algorithms
-* Proof of Concept software implementation of the hashing algorithms identified, showing how Vectorised Matrix manipulation atvthe ISA level can greatly simplify the readability and clarity of cryptography, for aydit purposes.
+* Proof of Concept software implementation of the hashing algorithms identified, showing how Vectorised Matrix manipulation at the ISA level can greatly simplify the readability and clarity of cryptography, for audit purposes.
 * Formal Correctness proofs of the underlying hardware instruction primitives
 * Implementation of RGMII and USB-ULPI in nmigen
 * Implementation in nmigen of a DMA Engine suitable for Ethernet Frame packet transfer