Skip to content

universal-hash: parallel block processing #289

@tarcieri

Description

@tarcieri

SIMD implementations of UHFs are able to process multiple input blocks in parallel. However UniversalHash::update only processes one-block-at-a-time.

There's some precedent for parallel block processing in the block-cipher crate, which has an associated ParBlocks type-level constant which signals how many blocks a given implementation can process in parallel:

https://docs.rs/block-cipher/0.8.0/block_cipher/trait.BlockCipher.html#associatedtype.ParBlocks

I believe @newpavlov wanted to make some changes to how that works, but regardless, universal-hash should have similar support for processing multiple blocks in parallel in SIMD contexts

/cc @str4d

Metadata

Metadata

Assignees

No one assigned

    Labels

    univeral-hashUniversal Hash Function (UHF) crate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions