Commit Graph

144 Commits

Author SHA1 Message Date
Andreas Fackler 2ca1d2ef7d Fix negative overflow, add interpolation test. (#52) 2018-10-16 14:48:09 +02:00
Marc Brinkmann 0d4c376808 Add `cargo audit` to CI. 2018-10-16 12:42:57 +02:00
Andreas Fackler 20de873356 Replace HexBytes with the hex_fmt crate. 2018-10-11 21:59:31 +02:00
Marc Brinkmann d133bb6d79
Mocktography (#49)
Added mocktography (feature `use-insecure-test-only-mock-crypto) and factored out CI execution script.
2018-10-11 18:25:15 +02:00
Andreas Fackler 90f63e34e9 Remove explicit Send+Sync impl for Error. 2018-10-11 15:04:05 +02:00
Andreas Fackler d9da30835f Reorder: public imports come last. 2018-10-11 12:21:46 +02:00
Vladimir Komendantskiy f1742a6170
Merge pull request #46 from poanetwork/afck-interpolate
Optimize polynomial interpolation in the curve.
2018-10-09 10:04:12 +01:00
Andreas Fackler 3d324bb8d7 Optimize polynomial interpolation in the curve.
Slightly reduce the number of multiplication and division operations in
the scalar field.
2018-10-09 08:51:52 +02:00
Andreas Fackler 214e5f81cf Remove try_ methods. 2018-10-08 17:37:23 +02:00
Andreas Fackler ad11ceaed6 Remove mlock.
It currently causes too many problems to be practical. We will re-enable
it once we have a dedicated allocator for locked memory.
2018-10-08 17:37:23 +02:00
Andreas Fackler 191cf0b741 Reexport pairing.
Since we are reexporting some of the pairing types, we should also
export pairing itself, to make all the matching traits available and
avoid version conflicts.
2018-10-08 15:56:58 +02:00
Andreas Fackler 0efdad4d69 Prepare for adding mock cryptography for testing.
* Add a feature flag (that doesn't do anything yet).
* Give `clear_fr` a stronger type to prevent mistakes and ensure the
  right amount of memory gets cleared.
* Re-export the engine and related types from `lib.rs`.
2018-10-08 15:56:58 +02:00
Marc Brinkmann d69590bedc Convert all uses of `Bls12` and friends to refer to root `lib.rs` instead of importing from pairing directly. 2018-10-08 15:56:58 +02:00
Andreas Fackler 84e8b69a24 Validate polynomial degrees: fix panics. 2018-10-08 13:19:11 +02:00
Andreas Fackler 0bb41bd990 Merge xor_vec and hash_bytes.
They are only used together, and the API of `xor_vec` is a bit dangerous
since it silently stops at the minimum of the two arguments' lengths.
2018-10-08 13:19:11 +02:00
Marc Brinkmann 3645668bff Add an API that allows specifying the RNG to be used for encryption. 2018-10-02 08:37:53 +02:00
Andreas Fackler c72bc9a2a7 Fix build failure if deadlinks is already installed. 2018-09-27 15:47:29 +02:00
Andreas Fackler bc04ea51e4 Fix formatting and warnings, re-enable other benches. 2018-09-27 10:27:51 +02:00
Fletcher Haynes 4b1e6eecb7 Add benchmark for combining signatures 2018-09-27 10:27:51 +02:00
Andreas Fackler b786d897e2 Run cargo-deadlinks in CI. 2018-09-26 08:44:02 -07:00
Andreas Fackler 42f4ace5a0 Update authors list. 2018-09-26 08:44:02 -07:00
Vladimir Komendantskiy e28b77d86d use Rust 1.29 2018-09-22 10:19:36 +02:00
Fletcher Haynes e0c488a214 Adds a few more benchmarks for poly operators. Changed benchmarks to use a seeded rng for reproducibility. 2018-09-19 08:52:00 +02:00
DrPeterVanNostrand 5f09f96345 Added type for clearing temporary values. 2018-09-14 13:34:35 -07:00
Andrew Gross b48a4b6812
Merge pull request #32 from poanetwork/ag_typos
Typo fixes, added Code of Conduct file
2018-09-12 20:44:44 -06:00
Andrew Gross b39cc1f909 Typo fixes, added Code of Conduct file 2018-09-12 11:28:23 -06:00
Vladimir Komendantskiy a2fa8a4b8f
Merge pull request #28 from poanetwork/try-prefixed-constructors
Added 'try_' constructors to secret types.
2018-09-04 19:19:15 +01:00
DrPeterVanNostrand f7d9c26b9a Added 'Testing' section to readme. 2018-09-04 08:37:45 -07:00
DrPeterVanNostrand 72d1c607f8 Added 'try_' constructors to secret types. 2018-09-04 15:10:20 +00:00
Andreas Fackler ded335f236
Simplify Poly multiplication, speed up interpolation. (#23)
* Simplify Poly multiplication, speed up interpolation.

Also add more `Mul` implementations.

* Postpone division: speed up interpolation some more.

* Speed up interpolation: re-use base polynomial.
2018-09-03 17:30:52 +02:00
Vladimir Komendantskiy 76ac2a5415
Merge pull request #22 from poanetwork/afck-fmt
Use Formatter debug helpers. Hide SecretKeyShares.
2018-09-03 11:16:32 +01:00
Andreas Fackler a03d258e9d Use Formatter debug helpers. Hide SecretKeyShares.
Output "..." in the `Debug` implementation of `SecretKeyShare`, to make
it consistent with `SecretKey`.
2018-09-03 11:47:18 +02:00
Marc Brinkmann a7cd6e0529 Update to Rust `beta` channel. 2018-08-31 15:53:50 +02:00
Andreas Fackler 02109b586e Benchmark polynomials of different degrees. 2018-08-30 14:35:23 +02:00
DrPeterVanNostrand d783f2756e Added benchmarks for polynomial multiplication and interpolation. 2018-08-30 09:47:05 +02:00
Andrew Gross 2f3b061b82
Merge pull request #15 from andogro/ag-README-edits
Minor README modifications, added environment variables section.
2018-08-29 19:26:41 -06:00
c0gent 43799fc0cf Travis: Enable cpu-specific optimizations. 2018-08-29 19:35:29 +02:00
Andrew Gross 9839566799 Minor README modifications, added environment variables section 2018-08-29 10:35:12 -06:00
DrPeterVanNostrand 824eef95ae Added basic public-key cryptography example. 2018-08-29 06:06:52 -07:00
DrPeterVanNostrand 29498c4d89 Added an example for threshold signing. 2018-08-27 16:33:07 +02:00
Igor Barinov fdfeeae821
Update README.md 2018-08-17 02:14:27 +03:00
c0gent ec037173b1 Change license, flesh out README a bit.
* The example should eventually be expanded upon.
* The language may need more refinement.
2018-08-15 16:42:22 -07:00
DrPeterVanNostrand 3e6df11c4b Added example for threshold encryption. 2018-08-13 09:08:53 -04:00
Igor Barinov d81953b55d
Create LICENSE
Add MIT License
2018-08-10 16:29:47 +03:00
Igor Barinov af4ef8e98a
Delete LICENSE
Remove GPL3
2018-08-10 16:28:49 +03:00
DrPeterVanNostrand 69ff326430 Added env-var 'MLOCK_SECRETS' to disable memory locks. 2018-08-09 10:07:31 -04:00
DrPeterVanNostrand 8f6dce18f2 Added mlocking for secret types. 2018-08-09 10:07:31 -04:00
Andreas Fackler 2d17d0e783 Replace ring with tiny-keccak. 2018-08-09 14:38:31 +02:00
Vladimir Komendantskiy 4c533e6873 changed Travis URL from .com to .org 2018-07-31 15:10:56 +01:00
Vladimir Komendantskiy 4fc709a0a3 added Travis build status on github home page 2018-07-31 15:06:55 +01:00