Skip to content
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

digest v0.10 and crypto-common v0.1 #819

Merged
merged 1 commit into from Dec 7, 2021
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/crypto-common.yml
Expand Up @@ -35,7 +35,7 @@ jobs:
target: ${{ matrix.target }}
override: true
profile: minimal
- run: cargo build --no-default-features --release --target ${{ matrix.target }}
- run: cargo build --target ${{ matrix.target }}
test:
runs-on: ubuntu-latest
strategy:
Expand All @@ -52,6 +52,5 @@ jobs:
profile: minimal
- run: cargo check --all-features
- run: cargo test
- run: cargo test --features core-api
- run: cargo test --features std
- run: cargo test --all-features
60 changes: 0 additions & 60 deletions .github/workflows/crypto-mac.yml

This file was deleted.

14 changes: 7 additions & 7 deletions .github/workflows/digest.yml
Expand Up @@ -35,7 +35,7 @@ jobs:
target: ${{ matrix.target }}
override: true
profile: minimal
- run: cargo build --no-default-features --release --target ${{ matrix.target }}
- run: cargo build --target ${{ matrix.target }}
test:
runs-on: ubuntu-latest
strategy:
Expand All @@ -51,9 +51,9 @@ jobs:
override: true
profile: minimal
- run: cargo check --all-features
- run: cargo test --release
- run: cargo test --features core-api --release
- run: cargo test --features dev --release
- run: cargo test --features alloc --release
- run: cargo test --features std --release
- run: cargo test --all-features --release
- run: cargo test --no-default-features
- run: cargo test
- run: cargo test --features dev
- run: cargo test --features alloc
- run: cargo test --features std
- run: cargo test --all-features
49 changes: 14 additions & 35 deletions Cargo.lock

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

1 change: 0 additions & 1 deletion Cargo.toml
Expand Up @@ -3,7 +3,6 @@ members = [
"aead",
"cipher",
"crypto-common",
"crypto-mac",
"digest",
"password-hash",
"signature",
Expand Down
69 changes: 35 additions & 34 deletions README.md
@@ -1,33 +1,32 @@
# RustCrypto: Traits [![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link]
# RustCrypto: Traits

[![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] ![Apache2/MIT licensed][license-image]

Collection of traits which describe functionality of cryptographic primitives.

## Crates

| Crate name | Algorithm | Crates.io | Docs | Build Status |
|---------------------|-------------------------------|-----------|-------|--------------|
| [`aead`] | [Authenticated encryption] | [![crates.io](https://img.shields.io/crates/v/aead.svg)](https://crates.io/crates/aead) | [![Documentation](https://docs.rs/aead/badge.svg)](https://docs.rs/aead) | ![build](https://github.com/RustCrypto/traits/workflows/aead/badge.svg?branch=master&event=push) |
| [`async‑signature`] | [Digital signature] | [![crates.io](https://img.shields.io/crates/v/async-signature.svg)](https://crates.io/crates/async-signature) | [![Documentation](https://docs.rs/async-signature/badge.svg)](https://docs.rs/async-signature) | ![build](https://github.com/RustCrypto/traits/workflows/async-signature/badge.svg?branch=master&event=push) |
| [`cipher`] | [Block] and [stream cipher] | [![crates.io](https://img.shields.io/crates/v/cipher.svg)](https://crates.io/crates/cipher) | [![Documentation](https://docs.rs/cipher/badge.svg)](https://docs.rs/cipher) | ![build](https://github.com/RustCrypto/traits/workflows/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) |
| [`password-hash`] | [Password hashing] | [![crates.io](https://img.shields.io/crates/v/password-hash.svg)](https://crates.io/crates/password-hash) | [![Documentation](https://docs.rs/password-hash/badge.svg)](https://docs.rs/password-hash) | ![build](https://github.com/RustCrypto/traits/workflows/password-hash/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) |
| [`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) |

### Additional crates
| Name | Algorithm | Crates.io | Docs | MSRV |
|---------------------|-----------|:---------:|:-----:|:----:|
| [`aead`] | [Authenticated encryption] | [![crates.io](https://img.shields.io/crates/v/aead.svg)](https://crates.io/crates/aead) | [![Documentation](https://docs.rs/aead/badge.svg)](https://docs.rs/aead) | ![MSRV 1.41][msrv-1.41] |
| [`async‑signature`] | [Digital signature] | [![crates.io](https://img.shields.io/crates/v/async-signature.svg)](https://crates.io/crates/async-signature) | [![Documentation](https://docs.rs/async-signature/badge.svg)](https://docs.rs/async-signature) | ![MSRV 1.41][msrv-1.41] |
| [`cipher`] | [Block] and [stream cipher] | [![crates.io](https://img.shields.io/crates/v/cipher.svg)](https://crates.io/crates/cipher) | [![Documentation](https://docs.rs/cipher/badge.svg)](https://docs.rs/cipher) | ![MSRV 1.41][msrv-1.41] |
| [`crypto‑common`] | Common cryptographic traits | [![crates.io](https://img.shields.io/crates/v/crypto-common.svg)](https://crates.io/crates/crypto-common) | [![Documentation](https://docs.rs/crypto-common/badge.svg)](https://docs.rs/crypto-common) | ![MSRV 1.41][msrv-1.41] |
| [`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) | ![MSRV 1.41][msrv-1.41] |
| [`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) | ![MSRV 1.56][msrv-1.56] |
| [`password-hash`] | [Password hashing] | [![crates.io](https://img.shields.io/crates/v/password-hash.svg)](https://crates.io/crates/password-hash) | [![Documentation](https://docs.rs/password-hash/badge.svg)](https://docs.rs/password-hash) | ![MSRV 1.47][msrv-1.47] |
| [`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) | ![MSRV 1.41][msrv-1.41] |
| [`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) | ![MSRV 1.41][msrv-1.41] |

| Crate name | Description | Crates.io | Docs | Build Status |
|------------|-------------------------|-----------|-------|--------------|
| [`crypto`] | Facade for trait crates | [![crates.io](https://img.shields.io/crates/v/crypto.svg)](https://crates.io/crates/crypto) | [![Documentation](https://docs.rs/crypto/badge.svg)](https://docs.rs/crypto) | ![build](https://github.com/RustCrypto/traits/workflows/crypto/badge.svg?branch=master&event=push)
### Additional Crates

### Minimum Supported Rust Version
| Crate name | Description | Crates.io | Docs | MSRV |
|------------|-------------------------|:---------:|:-----:|:----:|
| [`crypto`] | Facade for trait crates | [![crates.io](https://img.shields.io/crates/v/crypto.svg)](https://crates.io/crates/crypto) | [![Documentation](https://docs.rs/crypto/badge.svg)](https://docs.rs/crypto) | ![MSRV 1.56][msrv-1.56] |

All crates in this repository support **Rust 1.41** or higher unless otherwise noted.
### Minimum Supported Rust Version (MSRV) Policy

In future minimally supported version of Rust can be changed, but it will be done
with the minor version bump.
MSRV bumps are considered breaking changes and will be performed only with minor version bump.

## License

Expand All @@ -40,29 +39,31 @@ at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

[//]: # (badges)

[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
[chat-link]: https://rustcrypto.zulipchat.com/
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
[deps-image]: https://deps.rs/repo/github/RustCrypto/traits/status.svg
[deps-link]: https://deps.rs/repo/github/RustCrypto/traits
[msrv-1.41]: https://img.shields.io/badge/rustc-1.41.0+-blue.svg
[msrv-1.47]: https://img.shields.io/badge/rustc-1.47.0+-blue.svg
[msrv-1.56]: https://img.shields.io/badge/rustc-1.56.0+-blue.svg

[//]: # (crates)

[`aead`]: https://github.com/RustCrypto/traits/tree/master/aead
[`async‑signature`]: https://github.com/RustCrypto/traits/tree/master/signature/async
[`cipher`]: https://github.com/RustCrypto/traits/tree/master/cipher
[`crypto‑mac`]: https://github.com/RustCrypto/traits/tree/master/crypto-mac
[`crypto`]: https://github.com/RustCrypto/traits/tree/master/crypto
[`digest`]: https://github.com/RustCrypto/traits/tree/master/digest
[`elliptic‑curve`]: https://github.com/RustCrypto/traits/tree/master/elliptic-curve
[`password-hash`]: https://github.com/RustCrypto/traits/tree/master/password-hash
[`signature`]: https://github.com/RustCrypto/traits/tree/master/signature
[`universal‑hash`]: https://github.com/RustCrypto/traits/tree/master/universal-hash
[`aead`]: ./aead
[`async‑signature`]: ./signature/async
[`cipher`]: ./cipher
[`crypto‑common`]: ./crypto-common
[`crypto`]: ./crypto
[`digest`]: ./digest
[`elliptic‑curve`]: ./elliptic-curve
[`password-hash`]: ./password-hash
[`signature`]: ./signature
[`universal‑hash`]: ./universal-hash

[//]: # (algorithms)

Expand Down
6 changes: 1 addition & 5 deletions cipher/Cargo.toml
Expand Up @@ -13,17 +13,13 @@ categories = ["cryptography", "no-std"]

[dependencies]
generic-array = "0.14"
crypto-common = { version = "=0.1.0-pre", path = "../crypto-common" }
crypto-common = { version = "0.1", path = "../crypto-common" }

# optional dependencies
block-buffer = { version = "=0.10.0-pre.4", features = ["block-padding"], optional = true }
blobby = { version = "0.3", optional = true }
rand_core = { version = "0.6", optional = true }

[features]
default = ["mode_wrapper"]
std = ["crypto-common/std", "rand_core/std"]
mode_wrapper = ["block-buffer"]
dev = ["blobby"]

[package.metadata.docs.rs]
Expand Down
9 changes: 9 additions & 0 deletions crypto-common/CHANGELOG.md
@@ -0,0 +1,9 @@
# 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.1.0 (2021-12-07)
- Initial release
6 changes: 2 additions & 4 deletions crypto-common/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "crypto-common"
description = "Common cryptographic traits"
version = "0.1.0-pre"
version = "0.1.0"
authors = ["RustCrypto Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand All @@ -13,9 +13,7 @@ categories = ["cryptography", "no-std"]

[dependencies]
generic-array = "0.14"
block-buffer = { version = "0.10.0-pre.2", optional = true }
rand_core = { version = "0.6", optional = true }

[features]
block-padding = ["block-buffer/block-padding"]
core-api = ["block-buffer"]
std = []