October 2019 Archives by subject
Starting: Tue Oct 1 11:26:23 UTC 2019
Ending: Wed Oct 23 20:44:57 UTC 2019
Messages: 35
- [Cryptech-Commits] [core/lib] branch master updated: Fixed clog2() replacement.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 01/05: Redesigned storage modules, added top-level module, added I/O storage space.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 01/05: Started working on the pipelined Montgomery modular multiplier. Currently can do the "square" part of the multiplication, i.e. compute the twice larger intermediate product AB = A * B.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 01/13: Refactored general worker module Added modular subtraction micro-operation
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 02/05: Further work on the Montgomery modular multiplier. Can now to the "triangular" part of multiplication, i.e. compute the "magic" reduction coefficient Q = LSB(AB) * N_COEFF.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 02/05: Reworked storage architecture (moved I/O memory to a separate module, since there's only one instance of input/output values, while storage manager has dual storage space for P and Q multipliers).
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 02/13: Added "MERGE_LH" micro-operation. To be able to do Garner's formula we need regular (not modular) multiplication. We're doing this by telling the modular multiplier to stop after the "square" step, which computes A*B. The problem is that the multiplier stores the lower part of the product in the internal bank L and the upper part in the internal bank H, but we need to be able to do operations on the product as a whole. MERGE_LH that combines the two halves of the product into one bank.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 03/05: Expanded micro-operation parameters (added dedicated control bit to force the B input of the modular multiplier to 1, this is necessary to bring numbers out of Montgomery domain).
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 03/05: Further work on the Montgomery modular multiplier. Added the third "rectangular" stage of the multiplication process, i.e. computation of how many copies of the modulus N to add to the intermediate product AB to zeroize the lower half: M = Q * N.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 03/13: Added the regular (not modular) addition operation required during the final step of the Garner's formula algorithm. Note, that the addition is "uneven" in the sense, that the first operand is full-size (as wide as the modulus), while the second one is only half the size. The adder internally banks the second input port during the second half of the addition.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 04/05: Added more micro-operations, also added "general worker" module. The worker is basically a block memory data mover, but it can also do some supporting operations required for the Garner's formula part of the exponentiation.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 04/05: Implemented the final stage of the Montgomery modular multiplication, i.e. addition of AB and M then reduction by right-shift.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 04/13: Entire CRT signature algorithm works by now.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 05/05: Added more micro-operations, entire Montgomery exponentiation ladder works now.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 05/05: Major rewrite (different core hierarchy, buses, wrappers, etc).
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 05/13: Redesigned the testbench. Core clock does not necessarily need to be twice faster than the bus clock now. It can be the same, or say four times faster.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 06/13: Added support for non-CRT mode. Further refactoring.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 07/13: Further work: - added core wrapper - fixed module resets across entire core (all the resets are now consistently active-low) - continued refactoring
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 08/13: Reworked testbench, clk_sys and clk_core can now have any ratio, not necessarily 1:2.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 09/13: Fixed all the testbenches to work with the latest RTL sources.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 10/13: Added simulation-only code to measure multiplier load.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 11/13: Fixed port width mismatch warning.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 12/13: Added readme file.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] 13/13: Added demo driver code for STM32.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated (0224778 -> 0f111bf)
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated (71f7025 -> 0224778)
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated (ec07464 -> fde62e3)
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated: Added missing copyright headers.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated: Moved to "modexpng_fpga_model" repo, this one was meant for Verilog.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng] branch master updated: Redesigned core architecture, unified bank structure. All storage blocks now have eight 4kbit entries and occupy one 36K BRAM tile.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng_fpga_model] 01/01: Moved here from "modexpng" repo.
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng_fpga_model] 01/02: - Switched to default key length of 512 for faster simulation - Added an option to dump vectors as C array initializers for easy import into the STM32 sample driver - Added an option to dump entire core memory to assist debugging in hardware - Reading from bank now returns a copy of its contents, not a link - Reworked how carry propagation works (no more in-place overwrites) - Implemented "caching" of bank contents to match how things actually work in hardware (eg. after switch [...]
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng_fpga_model] 02/02: Added readme file
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng_fpga_model] branch master created (now 00fd9de)
git at cryptech.is
- [Cryptech-Commits] [user/shatov/modexpng_fpga_model] branch master updated (00fd9de -> 6fddcde)
git at cryptech.is
Last message date:
Wed Oct 23 20:44:57 UTC 2019
Archived on: Wed Oct 23 20:45:02 UTC 2019
This archive was generated by
Pipermail 0.09 (Mailman edition).