Commit Graph

53 Commits

Author SHA1 Message Date
def3809326 Fix rustfmt on Travis 2018-08-10 09:27:04 +02:00
4b71469f45 Formatting 2018-08-10 09:27:04 +02:00
8960ec02c3 Fix kcov on Travis 2018-08-10 09:27:04 +02:00
2dfc56ea7b Update dependencies 2018-08-10 09:27:04 +02:00
f392d426b1 Update Travis config 2018-05-15 18:36:25 +02:00
ec6bafc1f8 Apply Clippy's suggestions 2018-05-15 18:36:25 +02:00
4262483de9 Rustfmt 2018-05-15 18:35:32 +02:00
02fcb2f558 Fix typo in Travis badge URL 2018-04-08 21:46:02 +02:00
f2ae8d2a2f Verify length of signature before indexing
If a `LamportSignatureData` object with too few subvectors was passed to the old
code, it would panic when `offset` grew bigger than the number of subvectors.
Obviously, panicing is much better behaviour than what we'd get in other
languages (thanks Rust), but still not ideal.
2018-03-20 09:41:51 +01:00
e27418c384 Fix PartialEq for PrivateKey
- If `one_values: Vec<Vec<u8>>` is different in `len()` than `zero_values`, the
  code can either panic, or it's possible different `PrivateKey`s are evaluated
  as equal.  In both these examples, at least one key would be of invalid
  structure, but there's nothing about the `PrivateKey` struct that enforces
  valid structure in this sense. Perhaps this is an argument to create
  key-length-specific types*.
- Algorithm equality is now checked.

* E.g.,

```rust
pub struct PrivateKey512 {
    zero_values: [[u8; 512 / 8]; 512],
    one_values: [[u8; 512 / 8]; 512],
    // ...
}
```
2018-03-19 21:52:36 +01:00
86bc30fe56 Return None if len is wrong for alg in PublicKey::from_vec
The docstring says this is the intended behavior. The only way a `Vec<u8>`
shouldn't be simply parsed into a `PublicKey` is if it's length is not as
expected for the `algorithm` specified.
2018-03-19 21:13:08 +01:00
2dcc46205f Update crate description. 2017-09-24 23:08:18 +02:00
1a9ee3fd73 Start next development iteration 0.5.1-pre. 2017-09-24 22:55:48 +02:00
394b84f76e Bump version to 0.5.0. 2017-09-24 22:55:15 +02:00
af597c43b2 Update ring to v0.12.x. 2017-09-24 22:54:43 +02:00
4a4305965c Start next development iteration 0.4.2-pre. 2017-09-24 15:22:04 +02:00
feb7974099 Release version 0.4.1. 2017-09-24 15:21:22 +02:00
274c0f0ec7 Rename repository to lamport_sigs.rs. 2017-09-24 15:19:42 +02:00
769a9957d7 Start next development iteration 0.4.1-pre. 2017-09-24 14:52:10 +02:00
38db1eb6ea Bump version to 0.4.0. 2017-09-24 14:47:55 +02:00
f31faf6bb0 Add missing (Partial)Eq/Ord impls. 2017-09-24 14:47:12 +02:00
fde6b6dde6 Remove documentation from master branch. See gh-pages branch instead. 2017-09-24 14:46:55 +02:00
eb1614d3d1 Update cargo-release config. 2017-09-24 14:46:45 +02:00
8885edbf46 (cargo-release) start next development iteration 0.3.1-pre 2017-08-03 17:55:23 +02:00
ab82cc1b6a Bump to v0.3.0 2017-08-03 17:54:52 +02:00
30bedd90df Update ring to v0.11.0 2017-08-03 01:09:37 +02:00
bec24cd2d8 (cargo-release) start next development iteration 0.2.1-pre 2017-05-10 00:12:25 +02:00
bbaf324833 (cargo-release) version 0.2.0 2017-05-10 00:11:59 +02:00
850efe913a Bump version to 0.2.0-pre. 2017-05-10 00:11:32 +02:00
df4e26ee6d (cargo-release) version 0.1.3 2017-05-10 00:10:12 +02:00
21ac171a85 Update to *ring* 0.9.3.
*ring* 0.9.3 is the first version that prevents multiple versions of
*ring* from being linked together. Soon *ring* 0.9.3 will be the oldest
version of *ring* on crates.io. *ring* 0.6.* have already been yanked.
2017-05-10 00:08:59 +02:00
5727911763 Add more metadata to Cargo.toml. 2017-05-10 00:08:41 +02:00
6e32a4880c (cargo-release) start next development iteration 0.1.3-pre 2017-02-15 23:33:41 +01:00
f01098d7bd Bump version to 0.1.2. 2017-02-15 23:33:36 +01:00
4ab4bb86c0 Bump ring to ^0.6.0. 2017-02-15 23:23:08 +01:00
9f9fdb749f Remove unnecessary casts. 2016-12-20 15:00:02 +01:00
6549afdc63 Adding PartialEq, Hash and Eq to PublicKey. 2016-12-20 14:53:37 +01:00
89357c7908 Fix documentation link. 2016-12-01 19:11:47 +01:00
2084932607 Linting (#7) 2016-12-01 19:08:42 +01:00
4ddf030e15 Port to ring. (#6) 2016-11-29 21:37:59 +01:00
35049f97f2 Chaining iterators, no copy. 2016-11-24 16:44:50 +01:00
4e62f3798b Serialization & style fixes. (#5) 2016-11-24 10:52:55 +01:00
eacc4804aa Factoring out tests. (#4)
Travis-CI is experiencing issues. Merging manually.
2016-11-17 11:19:28 +01:00
00632722a3 Adding crate.io & README badges. (#3) 2016-11-14 14:22:40 +01:00
a8491b9cac Adding README. (#2)
Description of the scheme and design decisions to be expanded on.
2016-11-11 13:55:41 +01:00
57f6e5deb9 Setup CI. 2016-11-11 13:46:50 +01:00
c4b7f7ec88 Adding developer documentation. 2016-11-11 13:46:50 +01:00
00c232aa75 Remove re-export of crypto crate. 2016-11-11 13:46:50 +01:00
706cd337cd Documentation & verification API change. 2016-11-09 23:54:16 +01:00
083841777e Adding license. 2016-11-09 22:52:34 +01:00