Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
55 changes: 55 additions & 0 deletions .github/workflows/elliptic-curve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: elliptic-curve

on:
pull_request:
paths:
- "elliptic-curve/**"
- "Cargo.*"
push:
branches: master

defaults:
run:
working-directory: elliptic-curve

env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Dwarnings"

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.41.0 # MSRV
- stable
target:
- thumbv7em-none-eabi
- wasm32-unknown-unknown
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}
override: true
- run: cargo build --no-default-features --release --target ${{ matrix.target }}
test:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.41.0 # MSRV
- stable
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
- run: cargo check --all-features
- run: cargo test --no-default-features
- run: cargo test
- run: cargo test --all-features
24 changes: 24 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ members = [
"crypto-mac",
"cryptography",
"digest",
"elliptic-curve",
"signature",
"stream-cipher",
"universal-hash",
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Collection of traits which describe functionality of cryptographic primitives.
| [`block‑cipher`] | [Block cipher] | [![crates.io](https://img.shields.io/crates/v/block-cipher.svg)](https://crates.io/crates/block-cipher) | [![Documentation](https://docs.rs/block-cipher/badge.svg)](https://docs.rs/block-cipher) | ![build](https://github.com/RustCrypto/traits/workflows/block-cipher/badge.svg?branch=master&event=push) |
| [`crypto‑mac`] | [Message authentication code] | [![crates.io](https://img.shields.io/crates/v/crypto-mac.svg)](https://crates.io/crates/crypto-mac) | [![Documentation](https://docs.rs/crypto-mac/badge.svg)](https://docs.rs/crypto-mac) | ![build](https://github.com/RustCrypto/traits/workflows/crypto-mac/badge.svg?branch=master&event=push) |
| [`digest`] | [Cryptographic hash function] | [![crates.io](https://img.shields.io/crates/v/digest.svg)](https://crates.io/crates/digest) | [![Documentation](https://docs.rs/digest/badge.svg)](https://docs.rs/digest) | ![build](https://github.com/RustCrypto/traits/workflows/digest/badge.svg?branch=master&event=push) |
| [`elliptic-curve`] | [Elliptic curve cryptography] | [![crates.io](https://img.shields.io/crates/v/elliptic-curve.svg)](https://crates.io/crates/elliptic-curve) | [![Documentation](https://docs.rs/elliptic-curve/badge.svg)](https://docs.rs/elliptic-curve) | ![build](https://github.com/RustCrypto/traits/workflows/elliptic-curve/badge.svg?branch=master&event=push) |
| [`signature`] | [Digital signature] | [![crates.io](https://img.shields.io/crates/v/signature.svg)](https://crates.io/crates/signature) | [![Documentation](https://docs.rs/signature/badge.svg)](https://docs.rs/signature) | ![build](https://github.com/RustCrypto/traits/workflows/signature/badge.svg?branch=master&event=push) |
| [`stream‑cipher`] | [Stream cipher] | [![crates.io](https://img.shields.io/crates/v/stream-cipher.svg)](https://crates.io/crates/stream-cipher) | [![Documentation](https://docs.rs/stream-cipher/badge.svg)](https://docs.rs/stream-cipher) | ![build](https://github.com/RustCrypto/traits/workflows/stream-cipher/badge.svg?branch=master&event=push) |
| [`universal‑hash`] | [Universal hash function] | [![crates.io](https://img.shields.io/crates/v/universal-hash.svg)](https://crates.io/crates/universal-hash) | [![Documentation](https://docs.rs/universal-hash/badge.svg)](https://docs.rs/universal-hash) | ![build](https://github.com/RustCrypto/traits/workflows/universal-hash/badge.svg?branch=master&event=push) |
Expand Down Expand Up @@ -53,6 +54,7 @@ dual licensed as above, without any additional terms or conditions.
[`crypto‑mac`]: https://github.com/RustCrypto/traits/tree/master/crypto-mac
[`cryptography`]: https://github.com/RustCrypto/traits/tree/master/cryptography
[`digest`]: https://github.com/RustCrypto/traits/tree/master/digest
[`elliptic-curve`]: https://github.com/RustCrypto/traits/tree/master/elliptic-curve
[`signature`]: https://github.com/RustCrypto/traits/tree/master/signature
[`stream‑cipher`]: https://github.com/RustCrypto/traits/tree/master/stream-cipher
[`universal‑hash`]: https://github.com/RustCrypto/traits/tree/master/universal-hash
Expand All @@ -64,5 +66,6 @@ dual licensed as above, without any additional terms or conditions.
[Message authentication code]: https://en.wikipedia.org/wiki/Message_authentication_code
[Cryptographic hash function]: https://en.wikipedia.org/wiki/Cryptographic_hash_function
[Digital signature]: https://en.wikipedia.org/wiki/Digital_signature
[Elliptic curve cryptography]: https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
[Stream cipher]: https://en.wikipedia.org/wiki/Stream_cipher
[Universal hash function]: https://en.wikipedia.org/wiki/Universal_hashing
1 change: 1 addition & 0 deletions cryptography/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ edition = "2018"
aead = { version = "0.3", optional = true, path = "../aead" }
block-cipher = { version = "0.8", optional = true, path = "../block-cipher" }
digest = { version = "0.9", optional = true, path = "../digest" }
elliptic-curve = { version = "0.4", optional = true, path = "../elliptic-curve" }
mac = { version = "0.8", package = "crypto-mac", optional = true, path = "../crypto-mac" }
signature = { version = "1.1.0", optional = true, default-features = false, path = "../signature" }
stream-cipher = { version = "0.6", optional = true, path = "../stream-cipher" }
Expand Down
4 changes: 4 additions & 0 deletions cryptography/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
//! | [`aead`](https://docs.rs/aead) | `aead` | Authenticated Encryption with Associated Data (i.e. high-level symmetric encryption) |
//! | [`block_cipher`](https://docs.rs/block-cipher) | `block‑cipher` | Block-based cryptographic permutations (i.e. low-level symmetric encryption) |
//! | [`digest`](https://docs.rs/digest) | `digest` | Cryptographic hash functions |
//! | [`elliptic-curve`](https://docs.rs/elliptic-curve) | `elliptic-curve` | Elliptic curve cryptography |
//! | [`mac`](https://docs.rs/crypto-mac) | `mac` | Message Authentication Codes (i.e. symmetric message authentication) |
//! | [`signature`](https://docs.rs/signature) | `signature` | Digital signatures (i.e. public key-based message authentication) |
//! | [`stream_cipher`](https://docs.rs/stream-cipher) | `stream‑cipher` | Ciphers based on randomly generated keystreams (i.e. low-level symmetric encryption) |
Expand All @@ -48,6 +49,9 @@ pub use block_cipher;
#[cfg(feature = "digest")]
pub use digest;

#[cfg(feature = "elliptic-curve")]
pub use elliptic_curve;

#[cfg(feature = "mac")]
pub use mac;

Expand Down
36 changes: 36 additions & 0 deletions elliptic-curve/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.4.0 (2020-06-04)
### Changed
- Bump `generic-array` dependency from v0.12 to v0.14 ([#38])

[#38]: https://github.com/RustCrypto/elliptic-curves/pull/38

## 0.3.0 (2020-01-15)
### Added
- `Scalar` struct type ([#5])

### Changed
- Repository moved to <https://github.com/RustCrypto/elliptic-curves>

### Removed
- Curve definitions/arithmetic extracted out into per-curve crates ([#5])

[#5]: https://github.com/RustCrypto/elliptic-curves/pull/5

## 0.2.0 (2019-12-11)
### Added
- `secp256r1` (P-256) point compression and decompression ([RustCrypto/signatures#63], [RustCrypto/signatures#64])

### Changed
- Bump MSRV to 1.37 ([RustCrypto/signatures#63])

[RustCrypto/signatures#63]: https://github.com/RustCrypto/signatures/pull/63
[RustCrypto/signatures#64]: https://github.com/RustCrypto/signatures/pull/64

## 0.1.0 (2019-12-06)
- Initial release
46 changes: 46 additions & 0 deletions elliptic-curve/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[package]
name = "elliptic-curve"
description = """
General purpose Elliptic Curve Cryptography (ECC) support, including types
and traits for representing various elliptic curve forms, scalars, points,
and public/secret keys composed thereof.
"""
version = "0.4.0" # Also update html_root_url in lib.rs when bumping this
authors = ["RustCrypto Developers"]
license = "Apache-2.0 OR MIT"
documentation = "https://docs.rs/elliptic-curve"
repository = "https://github.com/RustCrypto/elliptic-curves/tree/master/elliptic-curve-crate"
readme = "README.md"
edition = "2018"
categories = ["cryptography", "no-std"]
keywords = ["crypto", "ecc", "elliptic", "weierstrass"]

[dependencies.generic-array]
version = "0.14"
default-features = false

[dependencies.rand_core]
version = "0.5"
optional = true
default-features = false

[dependencies.subtle]
version = "2.2.2"
default-features = false

[dependencies.zeroize]
version = "1"
optional = true
default-features = false

[dev-dependencies]
hex = "0.4"

[features]
default = []
weierstrass = []
std = []

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
Loading