Skip to content

Conversation

@thomasxm
Copy link

@thomasxm thomasxm commented Jan 10, 2026

Summary

Adds support for Ascon lightweight cryptography operations as standardised in NIST SP 800-232.

New Operations

  • Ascon Hash - 256-bit cryptographic hash (Ascon-Hash256)
  • Ascon MAC - 128-bit message authentication code
  • Ascon Encrypt - AEAD encryption (Ascon-AEAD128)
  • Ascon Decrypt - AEAD decryption with authentication

Technical Details

  • Uses js-ascon library (implements NIST SP 800-232)
  • Key/Nonce: 16 bytes (128 bits) for encrypt/decrypt
  • Tag: 128-bit authentication tag included in ciphertext
  • Test vectors from official NIST ACVP test suite

Files Changed

File Change
package.json Added js-ascon dependency
src/core/operations/AsconHash.mjs New
src/core/operations/AsconMAC.mjs New
src/core/operations/AsconEncrypt.mjs New
src/core/operations/AsconDecrypt.mjs New
src/core/vendor/ascon.mjs New (MAC implementation)
src/core/config/Categories.json Added to Hashing/Encryption menus
tests/operations/tests/Ascon.mjs New (lots test cases)

Testing

  • All tests pass (Official test vectors from ascon-c: https://github.com/ascon/ascon-c/blob/main/)
  • Verified against official NIST ACVP test vectors
  • Round-trip encryption/decryption tested
  • Error handling for invalid inputs tested

References

Screenshot 2026-01-10 at 16 47 53 Screenshot 2026-01-10 at 16 47 46

@CLAassistant
Copy link

CLAassistant commented Jan 10, 2026

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants