Skip to content

Commit

Permalink
move xaes-256-gcm to its own crate
Browse files Browse the repository at this point in the history
  • Loading branch information
SergioBenitez committed Aug 9, 2024
1 parent 87797c2 commit c273c89
Show file tree
Hide file tree
Showing 11 changed files with 626 additions and 25 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/xeas-256-gcm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: xaes-256-gcm

on:
pull_request:
paths:
- ".github/workflows/xaes-256-gcm.yml"
- "xaes-256-gcm/**"
- "Cargo.*"
push:
branches: master

defaults:
run:
working-directory: xeas-256-gcm

env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Dwarnings"

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.65.0 # MSRV
- stable
target:
- armv7a-none-eabi
- thumbv7em-none-eabi
- wasm32-unknown-unknown
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
targets: ${{ matrix.target }}
- run: cargo build --no-default-features --release --target ${{ matrix.target }}

test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
# 32-bit Linux
- target: i686-unknown-linux-gnu
rust: 1.72.0 # MSRV
deps: sudo apt update && sudo apt install gcc-multilib
- target: i686-unknown-linux-gnu
rust: stable
deps: sudo apt update && sudo apt install gcc-multilib

# 64-bit Linux
- target: x86_64-unknown-linux-gnu
rust: 1.72.0 # MSRV
- target: x86_64-unknown-linux-gnu
rust: stable
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
targets: ${{ matrix.target }}
- run: ${{ matrix.deps }}
- run: cargo test --target ${{ matrix.target }} --release --no-default-features --lib
- run: cargo test --target ${{ matrix.target }} --release
- run: cargo test --target ${{ matrix.target }} --release --features stream,std,zeroize
- run: cargo test --target ${{ matrix.target }} --release --all-features
- run: cargo build --target ${{ matrix.target }} --benches
53 changes: 39 additions & 14 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 @@ -9,5 +9,6 @@ members = [
"deoxys",
"eax",
"ocb3",
"xaes-256-gcm",
]
resolver = "2"
6 changes: 0 additions & 6 deletions aes-gcm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,17 +108,11 @@
//! [`aead::Buffer`] for `arrayvec::ArrayVec` (re-exported from the [`aead`] crate as
//! [`aead::arrayvec::ArrayVec`]).
#[cfg(feature = "aes")]
mod xaes;

pub use aead::{self, AeadCore, AeadInPlace, Error, Key, KeyInit, KeySizeUser};

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

#[cfg(feature = "aes")]
pub use xaes::XaesGcm256;

use cipher::{
array::{Array, ArraySize},
consts::{U0, U16},
Expand Down
179 changes: 179 additions & 0 deletions xaes-256-gcm/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# 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.10.3 (2023-09-21)
### Security
- Avoid exposing plaintext on tag verification failure ([#551])

[#551]: https://github.com/RustCrypto/AEADs/pull/551

## 0.10.2 (2023-05-20)
### Added
- `rand_core` feature to all crates ([#467])
- Support for partial tag sizes ([#501])
- `ArrayVec` support ([#503])

[#467]: https://github.com/RustCrypto/AEADs/pull/467
[#501]: https://github.com/RustCrypto/AEADs/pull/501
[#503]: https://github.com/RustCrypto/AEADs/pull/503

## 0.10.1 (2022-07-31)
### Fixed
- rustdoc typos and formatting ([#461], [#462])

[#461]: https://github.com/RustCrypto/AEADs/pull/461
[#462]: https://github.com/RustCrypto/AEADs/pull/462

## 0.10.0 (2022-07-31)
### Added
- `getrandom` feature ([#446])

### Changed
- Bump `aes` dependency to v0.8 ([#430])
- Rust 2021 edition upgrade; MSRV 1.56+ ([#435])
- Bump `aead` dependency to v0.5 ([#444])
- Bump `ghash` dependency to v0.5 ([#454])

[#435]: https://github.com/RustCrypto/AEADs/pull/435
[#444]: https://github.com/RustCrypto/AEADs/pull/444
[#446]: https://github.com/RustCrypto/AEADs/pull/446
[#454]: https://github.com/RustCrypto/AEADs/pull/454

## 0.9.4 (2021-08-28)
### Changed
- Relax `subtle` and `zeroize` requirements ([#360])

[#360]: https://github.com/RustCrypto/AEADs/pull/360

## 0.9.3 (2021-07-20)
### Changed
- Pin `zeroize` dependency to v1.3 and `subtle` to v2.4 ([#349])

[#349]: https://github.com/RustCrypto/AEADs/pull/349

## 0.9.2 (2021-05-31)
### Added
- Nightly-only `armv8` feature ([#318])

[#318]: https://github.com/RustCrypto/AEADs/pull/318

## 0.9.1 (2021-05-04)
### Added
- `force-soft` feature ([#305])

[#305]: https://github.com/RustCrypto/AEADs/pull/305

## 0.9.0 (2021-04-29)
### Added
- Wycheproof test vectors ([#274])

### Changed
- Bump `aead` crate dependency to v0.4 ([#270])
- Bump `aes` crate dependency to v0.7; MSRV 1.49+ ([#283])
- Bump `ctr` crate dependency to v0.7 ([#283])
- Bump `ghash` crate dependency to v0.4 ([#284])

[#270]: https://github.com/RustCrypto/AEADs/pull/270
[#274]: https://github.com/RustCrypto/AEADs/pull/274
[#283]: https://github.com/RustCrypto/AEADs/pull/283
[#284]: https://github.com/RustCrypto/AEADs/pull/284

## 0.8.0 (2020-10-16)
### Changed
- Replace `block-cipher`/`stream-cipher` with `cipher` crate ([#229])
- Bump `aes` dependency to v0.6 ([#229])
- Use `ctr::Ctr32BE` ([#227])

[#229]: https://github.com/RustCrypto/AEADs/pull/229
[#227]: https://github.com/RustCrypto/AEADs/pull/227

## 0.7.0 (2020-09-17)
### Added
- Optional `std` feature; disabled by default ([#217])

### Changed
- Renamed generic parameters to `Aes` and `NonceSize` ([#166])
- Upgrade `aes` to v0.5; `block-cipher` to v0.8 ([#209])

[#217]: https://github.com/RustCrypto/AEADs/pull/217
[#209]: https://github.com/RustCrypto/AEADs/pull/209
[#166]: https://github.com/RustCrypto/AEADs/pull/166

## 0.6.0 (2020-06-06)
### Changed
- Bump `aead` crate dependency to v0.3.0; MSRV 1.41+ ([#140])

[#140]: https://github.com/RustCrypto/AEADs/pull/140

## 0.5.0 (2020-03-15)
### Added
- Support for non-96-bit nonces ([#126])

### Changed
- `AesGcm` type is now generic around nonce size ([#126])

[#126]: https://github.com/RustCrypto/AEADs/pull/126

## 0.4.2 (2020-03-09)
### Fixed
- Off-by-one error in `debug_assert` for `BlockCipher::ParBlocks` ([#104])

[#104]: https://github.com/RustCrypto/AEADs/pull/104

## 0.4.1 (2020-03-07) - YANKED, see [#104]
### Added
- Support instantiation from an existing cipher instance ([#101])

[#101]: https://github.com/RustCrypto/AEADs/pull/101

## 0.4.0 (2020-03-07) - YANKED, see [#104]
### Added
- `aes` cargo feature; 3rd-party AES crate support ([#96])

### Changed
- Make generic around `BlockCipher::ParBlocks` ([#97])

[#96]: https://github.com/RustCrypto/AEADs/pull/96
[#97]: https://github.com/RustCrypto/AEADs/pull/97

## 0.3.2 (2020-02-27)
### Fixed
- Wording in documentation about security audit ([#84])

[#84]: https://github.com/RustCrypto/AEADs/pull/84

## 0.3.1 (2020-02-26)
### Added
- Notes about NCC audit to documentation ([#80])

[#80]: https://github.com/RustCrypto/AEADs/pull/80

## 0.3.0 (2019-11-26)
### Added
- `heapless` feature ([#51])

[#51]: https://github.com/RustCrypto/AEADs/pull/51

## 0.2.1 (2019-11-26)
### Added
- Document in-place API ([#49])

[#49]: https://github.com/RustCrypto/AEADs/pull/49

## 0.2.0 (2019-11-26)
### Changed
- Upgrade `aead` crate to v0.2; `alloc` now optional ([#43])

[#43]: https://github.com/RustCrypto/AEADs/pull/43

## 0.1.1 (2019-11-14)
### Changed
- Upgrade `zeroize` to 1.0 ([#36])

[#36]: https://github.com/RustCrypto/AEADs/pull/36

## 0.1.0 (2019-10-06)
- Initial release
Loading

0 comments on commit c273c89

Please sign in to comment.