Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
AES128RangeConstraintTest Class Reference
Inheritance diagram for AES128RangeConstraintTest:

Protected Types

using Builder = UltraCircuitBuilder
 
using FF = Builder::FF
 

Static Protected Member Functions

static void SetUpTestSuite ()
 
static std::array< FF, 16 > compute_ciphertext ()
 Compute valid ciphertext for the test vectors.
 
static std::pair< Builder, AES128Constraintcreate_constraint (const std::array< FF, 16 > &plaintext_vals, const std::array< FF, 16 > &key_vals, const std::array< FF, 16 > &iv_vals, const std::array< FF, 16 > &output_vals)
 Build an AES128 constraint with specified values.
 
static bool circuit_rejects_bad_input (Builder &builder, AES128Constraint &constraint)
 Helper to test that out-of-range bytes are rejected BY THE CIRCUIT, not by native checks.
 

Static Protected Attributes

static constexpr std::array< FF, 16 > valid_plaintext
 
static constexpr std::array< FF, 16 > valid_key
 
static constexpr std::array< FF, 16 > valid_iv
 

Detailed Description

Definition at line 368 of file aes128_constraint.test.cpp.

Member Typedef Documentation

◆ Builder

◆ FF

Definition at line 373 of file aes128_constraint.test.cpp.

Member Function Documentation

◆ circuit_rejects_bad_input()

static bool AES128RangeConstraintTest::circuit_rejects_bad_input ( Builder builder,
AES128Constraint constraint 
)
inlinestaticprotected

Helper to test that out-of-range bytes are rejected BY THE CIRCUIT, not by native checks.

This helper does NOT catch exceptions - if a native check throws, the test will fail. This ensures we're testing circuit soundness, not native validation.

Definition at line 466 of file aes128_constraint.test.cpp.

◆ compute_ciphertext()

static std::array< FF, 16 > AES128RangeConstraintTest::compute_ciphertext ( )
inlinestaticprotected

Compute valid ciphertext for the test vectors.

Definition at line 388 of file aes128_constraint.test.cpp.

◆ create_constraint()

static std::pair< Builder, AES128Constraint > AES128RangeConstraintTest::create_constraint ( const std::array< FF, 16 > &  plaintext_vals,
const std::array< FF, 16 > &  key_vals,
const std::array< FF, 16 > &  iv_vals,
const std::array< FF, 16 > &  output_vals 
)
inlinestaticprotected

Build an AES128 constraint with specified values.

Parameters
plaintext_vals16 field elements for plaintext (can include out-of-range values)
key_vals16 field elements for key
iv_vals16 field elements for IV
output_vals16 field elements for expected output

Definition at line 417 of file aes128_constraint.test.cpp.

◆ SetUpTestSuite()

static void AES128RangeConstraintTest::SetUpTestSuite ( )
inlinestaticprotected

Definition at line 370 of file aes128_constraint.test.cpp.

Member Data Documentation

◆ valid_iv

constexpr std::array<FF, 16> AES128RangeConstraintTest::valid_iv
staticconstexprprotected
Initial value:
= { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }

Definition at line 382 of file aes128_constraint.test.cpp.

◆ valid_key

constexpr std::array<FF, 16> AES128RangeConstraintTest::valid_key
staticconstexprprotected
Initial value:
= { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c }

Definition at line 379 of file aes128_constraint.test.cpp.

◆ valid_plaintext

constexpr std::array<FF, 16> AES128RangeConstraintTest::valid_plaintext
staticconstexprprotected
Initial value:
= { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a }

Definition at line 376 of file aes128_constraint.test.cpp.


The documentation for this class was generated from the following file: