Skip to content

Garbling table hash may be unsuitable #87

@AaronFeickert

Description

@AaronFeickert

The codebase uses what appears to be a nonstandard AES-based iterative hash function to commit to garbling tables for cut-and-choose operations.

This hash function takes the form H(i) = AES(H(i-1) ^ ciphertext(i)), and as such is not collision resistant in general. I think this admits a practical attack that breaks malicious security in the cut-and-choose context whereby the garbler uses malicious ciphertexts to produce table collisions that are not detectable by the evaluator until evaluation time, at which point it is too late.

There exist secure variants of AES-based iterative hash functions that are not susceptible to collisions in this manner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions