Skip to content

Feat: Implement ASCON Lightweight Cryptographic Libraries #21

Draft
officialfrancismendoza wants to merge 12 commits into
bcgit:release/0.1.3alphafrom
officialfrancismendoza:feature/officialfrancismendoza/15-ASCON
Draft

Feat: Implement ASCON Lightweight Cryptographic Libraries #21
officialfrancismendoza wants to merge 12 commits into
bcgit:release/0.1.3alphafrom
officialfrancismendoza:feature/officialfrancismendoza/15-ASCON

Conversation

@officialfrancismendoza

@officialfrancismendoza officialfrancismendoza commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Description

Implementation of NIST SP 800-232 ASCON lightweight cryptography standards for constrained devices (#22), including:

  • Authenticated Encryption (aead128)
  • Hashing (hash256)
  • Extendable Output Functions (xof128)
  • Custom Extendable Output Functions (cxof128)

Note: due to the important considerations of embedded systems, this PR must follow, where applicable, utilization of non-heap memory structures (for example: [u8, CONST_SIZE] instead of vec) to respect their compute and RAM limitations.

Type of Change

  • Changes to core crate, affecting traits
  • A new ASCON crate with associated src files and testing suite

A full list of detailed changes are outlined in the crate's summary.md file.

Testing

  • cargo test -p bouncycastle-ascon to test ASCON crate and associated KAT test cases
  • cargo test --workspace
  • cargo mutants --package bouncycastle-ascon for mutant tests

Important TBDs for testing:

  • Implement Crucible testing
  • Implement Wycheproof tests

@officialfrancismendoza officialfrancismendoza added the enhancement New feature or request label Jun 16, 2026
@officialfrancismendoza
officialfrancismendoza marked this pull request as ready for review June 19, 2026 10:51
@ounsworth

Copy link
Copy Markdown
Contributor

@officialfrancismendoza I see this. On my todo list!

@hubot
hubot force-pushed the release/0.1.2alpha branch from 29dadd5 to 7120e4a Compare July 16, 2026 01:47
@officialfrancismendoza
officialfrancismendoza changed the base branch from release/0.1.2alpha to release/0.1.3alpha July 20, 2026 16:56
@officialfrancismendoza
officialfrancismendoza marked this pull request as draft July 20, 2026 16:56
@officialfrancismendoza
officialfrancismendoza force-pushed the feature/officialfrancismendoza/15-ASCON branch from 937be59 to 0f15f1f Compare July 20, 2026 17:36
…llible (guards absorb after squeeze), AEAD conformed to main SymmetricCipher and AEADCipher in release/0.1.2.alpha, use Suspendable for hash/XOF/CXOF and SuspendableKeyed for AEAD (bcgit#21)
…llible (guards absorb after squeeze), AEAD conformed to main SymmetricCipher and AEADCipher in release/0.1.2.alpha, use Suspendable for hash/XOF/CXOF and SuspendableKeyed for AEAD (bcgit#21)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants