Skip to content

Commit

Permalink
ocb3: import from offset-codebook-mode crate (#587)
Browse files Browse the repository at this point in the history
Import from https://github.com/sgmenda/offset-cookbook-mode

Includes modifications and consistency cleanups

---------

Co-authored-by: sanketh <me@snkth.com>
Co-authored-by: Tony Arcieri <bascule@gmail.com>
  • Loading branch information
3 people authored Mar 25, 2024
1 parent 57ac6eb commit c2fe6b3
Show file tree
Hide file tree
Showing 12 changed files with 1,191 additions and 18 deletions.
68 changes: 68 additions & 0 deletions .github/workflows/ocb3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: ocb3

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

defaults:
run:
working-directory: ocb3

env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Dwarnings"

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.60.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.60.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.60.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
- 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
49 changes: 31 additions & 18 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",
"mgm",
"ocb3",
]
resolver = "2"
10 changes: 10 additions & 0 deletions ocb3/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 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 (2023-XX-XX)

- Initial release
42 changes: 42 additions & 0 deletions ocb3/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[package]
name = "ocb3"
version = "0.1.0"
description = """
Pure Rust implementation of the OCB3
Authenticated Encryption with Associated Data (AEAD) Cipher
"""
authors = ["RustCrypto Developers"]
edition = "2021"
license = "Apache-2.0 OR MIT"
readme = "README.md"
documentation = "https://docs.rs/ocb3"
repository = "https://github.com/RustCrypto/AEADs"
keywords = ["aead", "encryption", "ocb", "ocb3"]
categories = ["cryptography", "no-std"]
rust-version = "1.60"

[dependencies]
aead = { version = "0.5", default-features = false }
cipher = "0.4"
ctr = "0.9"
subtle = { version = "2", default-features = false }
zeroize = { version = "1", optional = true, default-features = false }

[dev-dependencies]
aead = { version = "0.5", features = ["dev"], default-features = false }
aes = { version = "0.8", default-features = false }
hex-literal = "0.4"

[features]
default = ["alloc", "getrandom"]
std = ["aead/std", "alloc"]
alloc = ["aead/alloc"]
arrayvec = ["aead/arrayvec"]
getrandom = ["aead/getrandom", "rand_core"]
heapless = ["aead/heapless"]
rand_core = ["aead/rand_core"]
stream = ["aead/stream"]

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

0 comments on commit c2fe6b3

Please sign in to comment.