Commit Graph

281 Commits

Author SHA1 Message Date
mratsim 059439b2c3 fix little-endian parsing 2018-12-03 21:01:29 +01:00
mratsim 2856378427 [IO] dumping 2^63 works 2018-12-03 19:56:14 +01:00
mratsim df72a0896b initial implementation of bigInt dump 2018-12-02 22:18:17 +01:00
mratsim 43ac4972a0 Add constant-time raw bytes/integers parsing 2018-12-02 20:57:32 +01:00
mratsim b496f57c68 Replace HighLimb by MaxWord as well 2018-12-02 19:32:52 +01:00
mratsim 9b1dc4ca30 Replace Limb terminology by Word 2018-12-02 19:30:17 +01:00
mratsim 27e2d2d2bc Implement to Montgomery domain conversion 2018-12-02 19:28:42 +01:00
mratsim 22d8bc218d Implement scale accumulate 2018-12-02 19:08:21 +01:00
mratsim c226987ab0 Add extended precision multiplication 2018-12-02 18:14:32 +01:00
mratsim 057ce0cbf9 Implement fused multiply add modular multiplication for single limb "bigint". TODO fallback from assembly. 2018-12-02 16:32:38 +01:00
mratsim 408bc9b6f3 Introduce convention, all for loop should have an explicit static range 2018-12-02 13:01:54 +01:00
mratsim 71e5b576c4 Fix mod inverse 2^k nb of iterations 2018-12-02 12:59:46 +01:00
mratsim 67d038c650 Implement modular inverse mod 2^k for Montgomery multiplication 2018-12-02 03:45:13 +01:00
mratsim befbf30319 Add modular addition over Fp 2018-12-02 00:35:55 +01:00
mratsim 463b8a4fcb use `add` instead of `madd` even though it mutates 2018-12-01 23:28:35 +01:00
mratsim d09116d0a9 Add big int in-place addition and substraction 2018-12-01 23:26:03 +01:00
mratsim eb15fb33b5 Rebrand to Constantine. Bigints representation should stay opaque. Exporting just the word_types would make a super small library. 2018-12-01 20:12:05 +01:00
mratsim cae9f743d3 Add more tests for multiplexer 2018-12-01 18:03:52 +01:00
mratsim d545147b0b Use distinct range for Hardened booleans + first select test 2018-12-01 18:01:41 +01:00
mratsim 8d6e328397 Add boolean not and comparison tests 2018-12-01 17:32:08 +01:00
mratsim acd06e1174 Add unary minus test 2018-12-01 17:04:55 +01:00
mratsim 9815047234 Add shifts and operators test 2018-12-01 16:49:45 +01:00
mratsim b43e289780 Initial tests for bitwise operator 2018-12-01 16:32:21 +01:00
mratsim 1cc299e82e Add MSB, cmp to zero and init primitives 2018-12-01 15:54:29 +01:00
Jacek Sieka 1b0ffe25cf
appveyor: fix version check 2018-09-06 12:07:02 -06:00
Jacek Sieka 28c4b2cf98
readme: update license 2018-09-05 12:47:55 -06:00
Jacek Sieka 97ec36f447
ci: update
readme: fix badges, license
tests: fix
nimble: add description
2018-09-04 22:38:34 -06:00
Jacek Sieka 78d8a628e2
travis: use cached nim instead of docker 2018-09-02 21:02:08 -06:00
mratsim 12cc5dcad8 Fix primitive types, add bitwise, shift, add, sub and constant time comparison 2018-08-05 15:07:35 +02:00
mratsim 167ff16a61 Introduce types and add some boolean primitives 2018-07-24 17:53:01 +02:00
mratsim 34e72296d3 initial commit 2018-07-24 16:52:18 +02:00