Frank Denis ea05223b63
std.crypto.auth: add AEGIS MAC (#13607)
* Update the AEGIS specification URL to the current draft

* std.crypto.auth: add AEGIS MAC

The Pelican-based authentication function of the AEGIS construction
can be used independently from authenticated encryption, as a faster
and more secure alternative to GHASH/POLYVAL/Poly1305.

We already expose GHASH, POLYVAL and Poly1305 for use outside AES-GCM
and ChaChaPoly, so there are no reasons not to expose the MAC from AEGIS
as well.

Like other 128-bit hash functions, finding a collision only requires
~2^64 attempts or inputs, which may still be acceptable for many
practical applications.

Benchmark (Apple M1):

    siphash128-1-3:       3222 MiB/s
             ghash:       8682 MiB/s
    aegis-128l mac:      12544 MiB/s

Benchmark (Zen 2):

    siphash128-1-3:       4732 MiB/s
             ghash:       5563 MiB/s
    aegis-128l mac:      19270 MiB/s
2022-11-22 18:16:04 +01:00
..
2022-11-15 23:23:27 +02:00
2022-11-18 19:22:42 +00:00
2022-10-30 01:09:31 -07:00
2022-10-06 21:22:20 +03:00
2022-11-19 22:48:32 +02:00
2022-11-04 00:09:27 +03:30
2022-11-13 17:36:56 +02:00
2022-08-23 21:11:02 -07:00
2022-01-07 00:06:06 -05:00
2022-09-11 23:18:43 -04:00
2022-11-12 09:40:40 +01:00
2022-11-07 02:46:19 +01:00
2022-11-04 00:09:27 +03:30
2022-11-04 00:09:27 +03:30
2022-04-15 17:01:01 -05:00
2022-11-18 19:22:42 +00:00