[Bit manipulation (bitmanip)](/openpower/sv/bitmanip) for rationale, instruction
list and definition in pseudo-code.
+Relevant milestones:
+
+* [Bug 770](https://bugs.libre-soc.org/show_bug.cgi?id=771): 1. Discussion and Finalisation of Which Cryptographic Primitives to Implement
+* [Bug 776](https://bugs.libre-soc.org/show_bug.cgi?id=776): 7. Documentation of designs, code, processes, and other relevant things as needed
+
**2) Implementation and validation of the above instructions on the ISA simulator**
As with all large software projects the implementation is scattered within
`~/src/openpower-isa/src/openpower/decoder/isa` directory, and run
`python3 test_caller_bigint.py` and `python3 test_caller_bitmanip.py`.
+Relevant Milestone:
+
+* [Bug 771](https://bugs.libre-soc.org/show_bug.cgi?id=771): 2. Creation of Cryptographic-Primitive OpenPower ISA Pseudo-code
+
**3) Reference HDL implementation of some instructions**
(full implemention was not possible within limited 2021-02-051 budget [[nlnet_2021_crypto_router]])
To run the HDL tests, just [install the developer environment](/HDL_workflow/devscripts)
and directly run the test scripts referenced above.
+Relevant Milestones:
+
+* [Bug 772](https://bugs.libre-soc.org/show_bug.cgi?id=772): 3. Creation of the HDL Code for the Instructions and Associated Unit-Tests
+* [Bug 840](https://bugs.libre-soc.org/show_bug.cgi?id=840): 8. Formal proofs and unit tests for cryptoprimitives
+
**4) Additional specification of and simulation for concepts like a REMAP engine
and element width overrides**
`~/src/openpower-isa/src/openpower/decoder/isa` directory, and run
`SILENCELOG=1 python3 test_aaa_caller_svp64_powmod.py` (warning: long running).
-Further reading:
+Relevant Milestone:
-* [Bug 1044 - SVP64 implementation of pow(x,y,z)](https://bugs.libre-soc.org/show_bug.cgi?id=1044)
+* [Bug #1044](https://bugs.libre-soc.org/show_bug.cgi?id=1044): 9. Demo of modulo exponent biginteger
**6) Implementation of a cryptographic algorithm (chacha20) using the new
instructions and primitives**
This unit test may also be run directly
<https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_caller_svp64_chacha20.py;hb=HEAD>
-Further reading:
+Relevant Milestone:
-* [Bug 773 - High-Level Demos of Cryptographic and Other Relevant Algorithms](https://bugs.libre-soc.org/show_bug.cgi?id=773)
+* [Bug 773](https://bugs.libre-soc.org/show_bug.cgi?id=773): 4. High-Level Demos of Cryptographic and Other Relevant Algorithms
**7) Binutils support for assembling the above instructions**
an FPGA)
* [Code](https://git.libre-soc.org/?p=ls2.git;a=blob;f=src/ls2.py;h=48f6cca7e06ac16ec42e76c361945e3943dca4b2;hb=HEAD)
+Relevant Milestone:
+
+* [Bug 774](https://bugs.libre-soc.org/show_bug.cgi?id=774): 5. Equipment needed, such as FPGA boards and Ethernet PMODs
+
# Helpful information for Cryptorouter implementations:
Given the work above, the information below is useful for allowing anyone