Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PQC: Classic McEliece #3883

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Commits on Oct 18, 2024

  1. Utility functions for Classic McEliece

    - constant time conditional swap with mask
    - floor_log2
    
    Co-Authored-By: Amos Treiber <amos.treiber@rohde-schwarz.com>
    2 people authored and reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    2558f68 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1b70b4 View commit details
    Browse the repository at this point in the history
  3. Classic McEliece implementation

    This is an implementation of the Classic McEliece KEM according to the
    NIST Round 4 submission and the ISO draft 20230419.
    
    Co-Authored-By: Amos Treiber <amos.treiber@rohde-schwarz.com>
    2 people authored and reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    b3ad495 View commit details
    Browse the repository at this point in the history
  4. Review comments on bitvector<>

    Co-Authored-By: Jack Lloyd <jack@randombit.net>
    reneme and randombit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    6afafe6 View commit details
    Browse the repository at this point in the history
  5. add ct_reverse_bits<>

    Co-Authored-By: Fabian Albert <fabian.albert@rohde-schwarz.com>
    reneme and FAlbertDev committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    5ed7e6a View commit details
    Browse the repository at this point in the history
  6. add bitvector<>::subvector<uintX_t>()

    This allows extracting subvectors of the bitvector as unsigned
    integral bit masks.
    reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    c032a7a View commit details
    Browse the repository at this point in the history
  7. Refactor: use nwe Strong<> unwrapping helpers

    ... introduced in randombit#4170
    reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    8cdfd40 View commit details
    Browse the repository at this point in the history
  8. Use Valgrind for CMCE

    Use CT::poison/unpoison for CMCE. Simultaneously, fixes some
    constant-time issues in the CMCE implementation that may leak some
    information about the pivots (for the semi-systematic matrix form).
    
    Co-Authored-By: René Meusel <rene.meusel@rohde-schwarz.com>
    FAlbertDev and reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    82b27e8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f78f277 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    5948dd7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cfc5094 View commit details
    Browse the repository at this point in the history
  12. Fix clang17 side-channel

    FAlbertDev authored and reneme committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    15759b0 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    083e153 View commit details
    Browse the repository at this point in the history