structstd.crypto.auth.aegis[src]

Types

TypeAegis128X4Mac[src]

The Aegis128X4Mac message authentication function outputs 256 bit tags. In addition to being extremely fast, its large state, non-linearity and non-invertibility provides the following properties:

  • 128 bit security, stronger than GHash/Polyval/Poly1305.
  • Recovering the secret key from the state would require ~2^128 attempts, which is infeasible for any practical adversary.
  • It has a large security margin against internal collisions.

Source Code

Source code
pub const Aegis128X4Mac = AegisMac(Aegis128X4_256)

TypeAegis128X2Mac[src]

The Aegis128X2Mac message authentication function outputs 256 bit tags. In addition to being extremely fast, its large state, non-linearity and non-invertibility provides the following properties:

  • 128 bit security, stronger than GHash/Polyval/Poly1305.
  • Recovering the secret key from the state would require ~2^128 attempts, which is infeasible for any practical adversary.
  • It has a large security margin against internal collisions.

Source Code

Source code
pub const Aegis128X2Mac = AegisMac(Aegis128X2_256)

TypeAegis128LMac[src]

The Aegis128LMac message authentication function outputs 256 bit tags. In addition to being extremely fast, its large state, non-linearity and non-invertibility provides the following properties:

  • 128 bit security, stronger than GHash/Polyval/Poly1305.
  • Recovering the secret key from the state would require ~2^128 attempts, which is infeasible for any practical adversary.
  • It has a large security margin against internal collisions.

Source Code

Source code
pub const Aegis128LMac = AegisMac(Aegis128L_256)

TypeAegis256X4Mac[src]

The Aegis256X4Mac message authentication function has a 256-bit key size, and outputs 256 bit tags. The key size is the main practical difference with Aegis128X4Mac. 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.

Source Code

Source code
pub const Aegis256X4Mac = AegisMac(Aegis256X4_256)

TypeAegis256X2Mac[src]

The Aegis256X2Mac message authentication function has a 256-bit key size, and outputs 256 bit tags. The key size is the main practical difference with Aegis128X2Mac. 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.

Source Code

Source code
pub const Aegis256X2Mac = AegisMac(Aegis256X2_256)

TypeAegis256Mac[src]

The Aegis256Mac message authentication function has a 256-bit key size, and outputs 256 bit tags. The key size is the main practical difference with Aegis128LMac. 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.

Source Code

Source code
pub const Aegis256Mac = AegisMac(Aegis256_256)

TypeAegis128X4Mac_128[src]

AEGIS-128X4 MAC with 128-bit tags

Source Code

Source code
pub const Aegis128X4Mac_128 = AegisMac(Aegis128X4)

TypeAegis128X2Mac_128[src]

AEGIS-128X2 MAC with 128-bit tags

Source Code

Source code
pub const Aegis128X2Mac_128 = AegisMac(Aegis128X2)

TypeAegis128LMac_128[src]

AEGIS-128L MAC with 128-bit tags

Source Code

Source code
pub const Aegis128LMac_128 = AegisMac(Aegis128L)

TypeAegis256X4Mac_128[src]

AEGIS-256X4 MAC with 128-bit tags

Source Code

Source code
pub const Aegis256X4Mac_128 = AegisMac(Aegis256X4)

TypeAegis256X2Mac_128[src]

AEGIS-256X2 MAC with 128-bit tags

Source Code

Source code
pub const Aegis256X2Mac_128 = AegisMac(Aegis256X2)

TypeAegis256Mac_128[src]

AEGIS-256 MAC with 128-bit tags

Source Code

Source code
pub const Aegis256Mac_128 = AegisMac(Aegis256)

Source Code

Source code
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;
}