Commit Graph

13 Commits

Author SHA1 Message Date
arnau
e8943659db Merge pull request #2 from CPerezz/master
Implement Kalinski Modular Inverse & Benchmarks.
2019-07-25 21:57:47 +02:00
kr0
a430ae3d04 Implement Benchmarks for modular inverse impl
- Added `Criterion` on dev-dependencies and a
benches config section on Cargo.toml

- Added `benchmarks` folder with `benches.rs` file.

This file contains the benchmarks implementation of
the two distinct modular_inverse implementations.

Results:
```
Modular Inverse/Kalinski Modular inverse
                        time:   [50.105 us 50.438 us 50.819 us]
                        change: [-44.740% -44.195% -43.664%] (p = 0.00 < 0.05)
                        Performance has improved.

Modular Inverse/Standard Mod Inv
                        time:   [82.301 us 82.430 us 82.580 us]
```

To run the benchmarks just run: `cargo bench`.
2019-07-19 11:06:38 +02:00
kr0
fe2367290c Enable benchmarkin comparison between mod_inv_impl.
Added `pub` visibility mark to `mod_inverse()`
fn to be able to benchmark it.
2019-07-19 11:05:20 +02:00
kr0
79f06be242 Finnish kalinski_modular_inverse tests.
All tests are passing and Kalinski Inverse
has been introduced on the code replacing
the last mod_inv implementation.
2019-07-19 10:16:46 +02:00
kr0
70d54af4f1 Use Lsh impl of BigInt.
Bitshift to the left instead of multiply by 2
since performs ffaster than mul.
2019-07-19 10:06:25 +02:00
kr0
bfbe547191 [WIP] Implement kalinski modular inverse and tests
Implemented Kalinski Modular inverse algorithm.
See: https://www.researchgate.net/publication/3387259_Improved_Montgomery_modular_inverse_algorithm

Also implemented test for big and small Bignums.

One test is giving results over the Montgomery Domain, so
a little bit of research has to be done.
2019-07-14 05:39:16 +02:00
arnaucube
11b4c8ed9f add Rust implementation, reorganize directories 2019-07-12 19:25:06 +02:00
arnaucube
9d84e20a5f add html and js to interact with the wasm lib, add server serving wasm lib mime type, wasm wrapper print shares result into document 2019-04-12 22:23:52 +02:00
arnaucube
bf57b82e7d add lagrange interpolation js to wasm wrapper and parser of the data struct 2019-04-12 21:22:13 +02:00
arnaucube
e988613b63 starting WASM wrapper 2019-04-12 15:53:01 +02:00
arnaucube
ce2ac4707e add lagrange interpolation to recover secret, add test 2019-04-12 10:44:55 +02:00
arnaucube
8a2a9c4399 add Create shares from secret with given parameters 2019-04-12 10:13:54 +02:00
arnau
19d5a82aee Initial commit 2019-04-12 10:10:17 +02:00