Skip to content

Conversation

@boorad
Copy link
Collaborator

@boorad boorad commented Jan 3, 2025

Add Ciphers functionality

see implementation-coverage.md for specific classes/functions

Instead of hard-coding a list of cipher algorithms like 0.x, the list is fetched from the installed version of OpenSSL (usually around 100). A few of them were problematic and are left for future tickets:

  • CTS
  • SIV
  • WRAP
  • SM4

For the C++ implementation, we depart a bit from Node and their use of conditionals. CCM and OCB cipher algorithms were different enough to warrant their own derived classes off of the HybridCipher class. They override the functions they need, and give warnings via thrown errors back to TS if things are out-of-order. I imagine we will add to these warnings, and possibly refine the tests to be clearer about order of function calls. Of course, library users could always read the Node / OpenSSL documentation 👀

@boorad boorad self-assigned this Jan 3, 2025
@boorad boorad marked this pull request as ready for review April 15, 2025 04:30
@boorad boorad requested review from renanmav April 15, 2025 04:34
Copy link
Contributor

@renanmav renanmav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@boorad can you enrich the PR description with more details?

Specifically the differences between cipher modes CCM and OCB. I ask that for future reference.

@boorad boorad requested a review from renanmav April 16, 2025 01:29
@boorad boorad merged commit 24d16d2 into main Apr 16, 2025
7 checks passed
@boorad boorad deleted the feat/add-ciphers branch April 16, 2025 13:24
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.

3 participants