Equivalex (Equivalex v1.0.2) View Source

polymorphic constant time comparisons

Compare arbitrary structures, using constant time comparisons where possible. This might allow for checking of multiple strings in a "secure" (constant time) way, without leaking timing information.

Link to this section Summary

Functions

determine if two structures are the same

Link to this section Functions

Specs

equal?(term(), term()) :: boolean()

determine if two structures are the same

Comprisons are done bitwise on the destructured data.

The only short-circuits are for structures of differing sizes. Thus, information about whether a suspect string is of the correct length may be leaked.