mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
Remove parallel variants of AEGIS-MAC (#22146)
The construction is likely to change before standardization
This commit is contained in:
parent
6188cb8e50
commit
c9d6f8b505
@ -58,20 +58,9 @@ pub const auth = struct {
|
||||
pub const siphash = @import("crypto/siphash.zig");
|
||||
pub const aegis = struct {
|
||||
const variants = @import("crypto/aegis.zig");
|
||||
pub const Aegis128X4Mac = variants.Aegis128X4Mac;
|
||||
pub const Aegis128X2Mac = variants.Aegis128X2Mac;
|
||||
pub const Aegis128LMac = variants.Aegis128LMac;
|
||||
|
||||
pub const Aegis256X4Mac = variants.Aegis256X4Mac;
|
||||
pub const Aegis256X2Mac = variants.Aegis256X2Mac;
|
||||
pub const Aegis256Mac = variants.Aegis256Mac;
|
||||
|
||||
pub const Aegis128X4Mac_128 = variants.Aegis128X4Mac_128;
|
||||
pub const Aegis128X2Mac_128 = variants.Aegis128X2Mac_128;
|
||||
pub const Aegis128LMac_128 = variants.Aegis128LMac_128;
|
||||
|
||||
pub const Aegis256X4Mac_128 = variants.Aegis256X4Mac_128;
|
||||
pub const Aegis256X2Mac_128 = variants.Aegis256X2Mac_128;
|
||||
pub const Aegis256Mac_128 = variants.Aegis256Mac_128;
|
||||
};
|
||||
pub const cmac = @import("crypto/cmac.zig");
|
||||
|
||||
@ -562,28 +562,6 @@ pub const Aegis128X2Mac = AegisMac(Aegis128X2_256);
|
||||
/// - It has a large security margin against internal collisions.
|
||||
pub const Aegis128LMac = AegisMac(Aegis128L_256);
|
||||
|
||||
/// The `Aegis256X4Mac` message authentication function has a 256-bit key size,
|
||||
/// and outputs 256 bit tags. Unless theoretical multi-target attacks are a
|
||||
/// concern, the AEGIS-128L variant should be preferred.
|
||||
/// AEGIS' large state, non-linearity and non-invertibility provides the
|
||||
/// following properties:
|
||||
/// - 256 bit security against forgery.
|
||||
/// - Recovering the secret key from the state would require ~2^256 attempts,
|
||||
/// which is infeasible for any practical adversary.
|
||||
/// - It has a large security margin against internal collisions.
|
||||
pub const Aegis256X4Mac = AegisMac(Aegis256X4_256);
|
||||
|
||||
/// The `Aegis256X2Mac` message authentication function has a 256-bit key size,
|
||||
/// and outputs 256 bit tags. Unless theoretical multi-target attacks are a
|
||||
/// concern, the AEGIS-128L variant should be preferred.
|
||||
/// AEGIS' large state, non-linearity and non-invertibility provides the
|
||||
/// following properties:
|
||||
/// - 256 bit security against forgery.
|
||||
/// - Recovering the secret key from the state would require ~2^256 attempts,
|
||||
/// which is infeasible for any practical adversary.
|
||||
/// - It has a large security margin against internal collisions.
|
||||
pub const Aegis256X2Mac = AegisMac(Aegis256X2_256);
|
||||
|
||||
/// The `Aegis256Mac` message authentication function has a 256-bit key size,
|
||||
/// and outputs 256 bit tags. Unless theoretical multi-target attacks are a
|
||||
/// concern, the AEGIS-128L variant should be preferred.
|
||||
@ -595,21 +573,9 @@ pub const Aegis256X2Mac = AegisMac(Aegis256X2_256);
|
||||
/// - It has a large security margin against internal collisions.
|
||||
pub const Aegis256Mac = AegisMac(Aegis256_256);
|
||||
|
||||
/// AEGIS-128X4 MAC with 128-bit tags
|
||||
pub const Aegis128X4Mac_128 = AegisMac(Aegis128X4);
|
||||
|
||||
/// AEGIS-128X2 MAC with 128-bit tags
|
||||
pub const Aegis128X2Mac_128 = AegisMac(Aegis128X2);
|
||||
|
||||
/// AEGIS-128L MAC with 128-bit tags
|
||||
pub const Aegis128LMac_128 = AegisMac(Aegis128L);
|
||||
|
||||
/// AEGIS-256X4 MAC with 128-bit tags
|
||||
pub const Aegis256X4Mac_128 = AegisMac(Aegis256X4);
|
||||
|
||||
/// AEGIS-256X2 MAC with 128-bit tags
|
||||
pub const Aegis256X2Mac_128 = AegisMac(Aegis256X2);
|
||||
|
||||
/// AEGIS-256 MAC with 128-bit tags
|
||||
pub const Aegis256Mac_128 = AegisMac(Aegis256);
|
||||
|
||||
|
||||
@ -72,10 +72,6 @@ const macs = [_]Crypto{
|
||||
Crypto{ .ty = crypto.auth.siphash.SipHash64(1, 3), .name = "siphash-1-3" },
|
||||
Crypto{ .ty = crypto.auth.siphash.SipHash128(2, 4), .name = "siphash128-2-4" },
|
||||
Crypto{ .ty = crypto.auth.siphash.SipHash128(1, 3), .name = "siphash128-1-3" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis128X4Mac, .name = "aegis-128x4 mac" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis256X4Mac, .name = "aegis-256x4 mac" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis128X2Mac, .name = "aegis-128x2 mac" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis256X2Mac, .name = "aegis-256x2 mac" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis128LMac, .name = "aegis-128l mac" },
|
||||
Crypto{ .ty = crypto.auth.aegis.Aegis256Mac, .name = "aegis-256 mac" },
|
||||
Crypto{ .ty = crypto.auth.cmac.CmacAes128, .name = "aes-cmac" },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user