Skip to content

VRF crate #1794

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 88 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
5006104
initial vrf crate structure
carloskiki Mar 12, 2025
35f893f
init changelog, licenses & readme
carloskiki Mar 13, 2025
97422da
add: license notice in README
carloskiki Mar 13, 2025
9884a44
add: semver notice in README
carloskiki Mar 13, 2025
b4658fe
chore: rustfmt
carloskiki Mar 13, 2025
f01fe62
Merge remote-tracking branch 'rust-crypto/master'
carloskiki Apr 24, 2025
db64078
expose signature in vrf crate
carloskiki Apr 24, 2025
515c951
elliptic-curve: impl `Zeroize` for `NonIdentity` (#1832)
daxpedda Apr 27, 2025
aa0cc55
Update Cargo.lock (#1836)
dependabot[bot] Apr 28, 2025
1681db5
ci: bump crate-ci/typos from 1.31.1 to 1.31.2 (#1835)
dependabot[bot] Apr 28, 2025
f44963a
Add `NonIdentity::mul_by_generator()` (#1833)
daxpedda Apr 29, 2025
beac4d7
Add `CollisionResistance` trait (#1820)
daxpedda Apr 30, 2025
ddee7f8
elliptic-curve: remove `tap` hack (#1838)
tarcieri Apr 30, 2025
d676b98
elliptic-curve: use `crypto_bigint::Invert` trait (#1839)
tarcieri May 1, 2025
2ab0f99
Revert "Various fixes and improvements to hash2curve (#1813)"
tarcieri May 1, 2025
622b6c0
Revert "Revert "Various fixes and improvements to hash2curve (#1813)""
tarcieri May 1, 2025
ac54439
Revert "signature: replace `signature_derive` with blanket impls (#18…
tarcieri May 1, 2025
4dc547a
build(deps): bump crate-ci/typos from 1.31.2 to 1.32.0 (#1842)
dependabot[bot] May 6, 2025
d993dea
Update Cargo.lock (#1841)
dependabot[bot] May 6, 2025
439fc8c
signature: remove `derive` feature (#1843)
baloo May 6, 2025
74ee4ef
Update Cargo.lock (#1846)
dependabot[bot] May 12, 2025
73ffc40
chore(deps): bump `crypto-bigint` to `0.7.0-pre.3` (#1845)
baloo May 13, 2025
ae58a77
Implement `PartialEq + Eq` for `NonIdentity` and `NonZeroScalar` (#1834)
daxpedda May 14, 2025
26119c2
elliptic-curve: require `From<NonIdentity>` for `Projective/AffinePoi…
daxpedda May 17, 2025
4b37715
Use `Output = True` instead of `NonZero` (#1850)
daxpedda May 19, 2025
6c9bad3
Require `From<NonZeroScalar<C>>` for `Scalar<C>` (#1847)
daxpedda May 19, 2025
2dcad35
Add `type ExpandMsg` to `VoprfParameters` (#1814)
daxpedda May 19, 2025
2744cdb
Update Cargo.lock (#1851)
dependabot[bot] May 19, 2025
d131d74
Implement `Mul<&NonZeroScalar>` for `NonIdentity` (#1852)
daxpedda May 21, 2025
91d6acd
elliptic-curve: scalar `Mul` bounds (#1854)
tarcieri May 22, 2025
22ae23d
Implement `Mul<NonIdentity>` for `NonZeroScalar` (#1855)
daxpedda May 22, 2025
663b445
Require `TryInto<Non/Identity/ZeroScalar>` (#1853)
daxpedda May 22, 2025
a948995
Use pre-computation tables for `PublicKey::from_secret_scalar()` (#1856)
daxpedda May 23, 2025
3d8039a
Revert "digest: remove `AssociatedOid` blanket impls for wrappers (#1…
baloo May 25, 2025
d7807bf
digest: add buffering macros (#1799)
newpavlov May 26, 2025
915474f
Fix `clippy::uninlined_format_args` (#1858)
newpavlov May 26, 2025
abab6dc
elliptic-curve: apply digest API breaking changes (#1860)
tarcieri May 27, 2025
e93dda2
digest: alias core_api with a depreciation notice (#1861)
baloo May 27, 2025
1cae37d
Remove unnecessary re-allocation in `BatchInvert` (#1863)
daxpedda May 27, 2025
b01c581
Improve `BatchInvert` (#1864)
daxpedda May 28, 2025
857f6de
elliptic-curve: remove insecure `BatchInvert` API (#1865)
daxpedda May 28, 2025
4de33de
elliptic-curve: update `MapToCurve` to avoid `CofactorGroup` dependen…
andrewwhitehead May 28, 2025
e728ece
`ExpandMsg` improvements (#1862)
daxpedda May 28, 2025
9e54c34
crypto-common v0.2.0-rc.3 (#1867)
tarcieri May 28, 2025
2b44f2c
digest v0.11.0-rc.0 (#1868)
tarcieri May 29, 2025
75d7a1b
elliptic-curve: complete `digest` v0.11.0-rc.0 upgrade (#1870)
tarcieri May 29, 2025
d0b5358
elliptic-curve v0.14.0-rc.2 (#1871)
tarcieri May 29, 2025
74e5e12
signature v3.0.0-rc.0 (#1872)
tarcieri May 29, 2025
b8f03c5
aead v0.6.0-rc.1 (#1873)
tarcieri May 29, 2025
6babfcb
universal-hash v0.6.0-rc.1 (#1875)
tarcieri May 29, 2025
4e0c383
password-hash v0.6.0-rc.1 (#1876)
baloo May 29, 2025
f9ab27c
cipher v0.5.0-rc.0 (#1874)
tarcieri May 30, 2025
baf8d73
elliptic-curve v0.14.0-rc.3 (#1878)
tarcieri May 31, 2025
52a989f
aead: test fixups (#1881)
tarcieri Jun 2, 2025
cac73b0
aead: deprecated `AeadInPlace` trait (#1882)
tarcieri Jun 2, 2025
01886bc
kem: use Cargo Book ordering for Cargo.toml (#1883)
tarcieri Jun 2, 2025
de9be70
kem: move description to end of Cargo.toml
tarcieri Jun 2, 2025
57c9e79
Allow `BatchInvert` with zero elements (#1884)
daxpedda Jun 2, 2025
f73c1a2
`signature`: add `MultipartSigner` and `MultipartVerifier` (#1880)
daxpedda Jun 2, 2025
fe7d61f
build(deps): bump crate-ci/typos from 1.32.0 to 1.33.1 (#1885)
dependabot[bot] Jun 2, 2025
a2ce689
Update Cargo.lock (#1887)
dependabot[bot] Jun 3, 2025
62453c0
async-signature: replace code with deprecation notice (#1886)
tarcieri Jun 3, 2025
faf3f65
signature 3.0.0-rc.1 (#1888)
tarcieri Jun 3, 2025
c190381
elliptic-curve: expose `AffineCoordinates::y` (#1891)
tarcieri Jun 5, 2025
284a928
elliptic-curve v0.14.0-rc.4 (#1892)
tarcieri Jun 5, 2025
f8663d3
elliptic-curve: impl `BatchInvert` for `NonZeroScalar` (#1890)
daxpedda Jun 6, 2025
24b68fa
elliptic-curve: rename `SecretKey::new` => `::from_scalar` (#1893)
tarcieri Jun 6, 2025
9c9ea06
elliptic-curve: extract scalar macros from `primeorder` (#1894)
tarcieri Jun 6, 2025
a4d8074
elliptic-curve v0.14.0-rc.5 (#1895)
tarcieri Jun 7, 2025
f275a05
Document all items
carloskiki Jun 8, 2025
81757de
Update Cargo.lock (#1899)
dependabot[bot] Jun 9, 2025
8534db4
digest: add `CoreProxy::compose/decompose` methods (#1898)
newpavlov Jun 10, 2025
f24c2ae
elliptic-curve: impl `BatchNormalize` for `NonIdentity` (#1896)
daxpedda Jun 13, 2025
0eab8e2
hash2curve: move oversized DST requirements to runtime errors (#1901)
daxpedda Jun 13, 2025
5f5f6ab
elliptic-curve: re-export `group::Curve` as `CurveGroup` (#1902)
tarcieri Jun 13, 2025
93974c9
elliptic-curve: extract `NonIdentity`/`NonZeroScalar` casting methods…
tarcieri Jun 14, 2025
d4a01b1
elliptic-curve v0.14.0-rc.6 (#1904)
tarcieri Jun 14, 2025
df51df4
Use `elliptic_curve::CurveGroup` (#1905)
daxpedda Jun 14, 2025
efb7780
elliptic-curve: bump `crypto-bigint` to v0.7.0-pre.5 (#1906)
tarcieri Jun 16, 2025
2b8874d
elliptic-curve v0.14.0-rc.7 (#1908)
tarcieri Jun 16, 2025
946e0f4
Update Cargo.lock (#1909)
dependabot[bot] Jun 17, 2025
57aea51
cipher: add methods for writing keystream (#1907)
newpavlov Jun 17, 2025
fea157b
elliptic-curve: update SIGMA protocol reference link (#1910)
VolodymyrBg Jun 18, 2025
f517eff
elliptic-curve: `der` error handling fixups (#1912)
tarcieri Jun 22, 2025
39a27c2
Update Cargo.lock (#1913)
dependabot[bot] Jun 24, 2025
4e44724
remove blanket `SignerMut` impl (breaking change)
carloskiki Jun 24, 2025
c02cd5f
Merge branch 'master' of https://github.com/carloskiki/traits
carloskiki Jun 24, 2025
c6f73c3
chore: rustfmt
carloskiki Jun 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions .github/workflows/async-signature.yml

This file was deleted.

22 changes: 20 additions & 2 deletions .github/workflows/elliptic-curve.yml
Original file line number Diff line number Diff line change
@@ -45,16 +45,16 @@ jobs:
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features ecdh
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features hash2curve
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features jwk
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features oprf
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features pem
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features pkcs8
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features sec1
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features serde
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features voprf
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features alloc,arithmetic
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features alloc,arithmetic,pkcs8
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features alloc,serde
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features arithmetic,serde
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features alloc,digest,ecdh,hash2curve,jwk,pem,pkcs8,sec1,serde,voprf
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features alloc,digest,ecdh,hash2curve,jwk,oprf,pem,pkcs8,sec1,serde

minimal-versions:
# Temporarily disabled until elliptic-curve 0.13.0-pre.0 is published
@@ -88,3 +88,21 @@ jobs:
- run: cargo test --no-default-features
- run: cargo test
- run: cargo test --all-features

test-careful:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: cargo install cargo-careful
- run: cargo careful test --all-features

test-miri:
runs-on: ubuntu-latest
env:
MIRIFLAGS: "-Zmiri-symbolic-alignment-check -Zmiri-strict-provenance"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- run: rustup component add miri && cargo miri setup
- run: cargo miri test --all-features
4 changes: 1 addition & 3 deletions .github/workflows/signature.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@ on:
pull_request:
paths:
- "signature/**"
- "signature-derive/**"
- "Cargo.*"
push:
branches: master
@@ -37,7 +36,6 @@ jobs:
toolchain: ${{ matrix.rust }}
targets: ${{ matrix.target }}
- run: cargo build --target ${{ matrix.target }} --release --no-default-features
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features digest
- run: cargo build --target ${{ matrix.target }} --release --no-default-features --features rand_core

minimal-versions:
@@ -51,7 +49,7 @@ jobs:
strategy:
matrix:
rust:
- 1.85.0 # MSRV
- 1.85.0 # Minimum Rust version the tests pass on
- stable
steps:
- uses: actions/checkout@v4
4 changes: 2 additions & 2 deletions .github/workflows/workspace.yml
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ jobs:
- uses: RustCrypto/actions/cargo-cache@master
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.85.0
toolchain: 1.87.0
components: clippy
- run: cargo clippy --all --all-features --tests -- -D warnings

@@ -52,4 +52,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.31.1
- uses: crate-ci/typos@v1.33.1
Loading