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

POLYVAL universal hash function for AES-GCM(-SIV) #13

Merged
merged 4 commits into from
Aug 26, 2019
Merged

Commits on Aug 26, 2019

  1. Configuration menu
    Copy the full SHA
    29d4548 View commit details
    Browse the repository at this point in the history
  2. polyval: Initial implementation

    Implements POLYVAL using Shay Gueron's techniques for efficient field
    multiplications using PCLMULQDQ.
    
    More information on these techniques here:
    
    https://blog.quarkslab.com/reversing-a-finite-field-multiplication-optimization.html
    tarcieri committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    a30763c View commit details
    Browse the repository at this point in the history
  3. .travis.yml: Bump polyval MSRV to 1.32.0

    The POLYVAL tests are failing on Rust 1.27.0, but passing on newer
    versions, suggesting there may be something amiss with `core::arch`
    support for `pclmulqdq` on older Rust versions.
    
    This bumps it up to our ideal MSRV, as 1.32.0+ would allow us to replace
    the dependency on the `byteorder` crate with equivalent `core`
    functions.
    tarcieri committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    fe2a616 View commit details
    Browse the repository at this point in the history
  4. poly1305/polyval: Switch from MacResult to built-in Tag types

    Eliminates the dependency on `crypto-mac` by using a built-in `Tag` type
    which impl's `subtle::ConstantTimeEq`.
    
    Ideally this would probably get extracted into some other trait, e.g.
    `UniversalHash`, but for now just use concrete types per crate.
    tarcieri committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    89f6277 View commit details
    Browse the repository at this point in the history