AES Encrypt

Overview

Advanced Encryption Standard (AES) is a U.S. Federal Information Processing Standard (FIPS). It was selected after a 5-year process where 15 competing designs were evaluated.

Status

Field Value
Implementation Partial
Parity Compatible
Availability Available
Input requirement Required
Features none
Side effects []
Deterministic true

Input

Declared input type: Bytes.

Output

Declared output type: Bytes. Redirect stdout or use --output-file for exact binary bytes.

Arguments

# Argument Type Required Default Allowed Sensitive Description
1 Key Bytes yes <empty> yes Encryption key (16, 24, or 32 bytes)
2 IV Bytes no <empty> no Initialization Vector (16 bytes, optional, defaults to null)
3 Mode Enum no CBC CBC, CFB, OFB, CTR, GCM, ECB no Cipher mode (CBC, CFB, OFB, CTR, GCM, ECB)
4 Input Enum no Raw Raw, Hex no Input encoding (Raw, Hex)
5 Output Enum no Hex Hex, Raw no Output encoding (Hex, Raw)
6 Additional Authenticated Data Bytes no <empty> no AAD for GCM mode (optional)

Implementation

The implementation is in src/operations/aes_encrypt.rs and declares Bytes input and Bytes output. The operation module owns conversion and domain-error rules; registry resolution, argument validation, input-requirement enforcement, tracing, and output validation are performed by rxchef::execution.

Command-line use

This operation requires input. Supply literal UTF-8 with --input, exact bytes with --input-file, or pipe bytes on stdin.

rxchef run "AES Encrypt" --input-file input.bin --output-file output.bin

Arguments may be supplied positionally in the table order or by name with repeatable --arg NAME=VALUE. Omitted optional arguments use the documented defaults.

Pipeline use

Place the operation anywhere a Bytes value is valid. Its Bytes result becomes the next step's input. Compact syntax uses the operation name followed by comma-separated arguments; JSON/YAML recipes use an op field and an args array.

Error conditions

Schema violations are rejected before the operation runs. Malformed input, unsupported parameter combinations, unavailable optional backends, and domain processing failures produce structured errors and a non-zero CLI status; partial output is never reported as success.

CyberChef compatibility

Parity status: Compatible. Unknown records an unassessed compatibility claim; it does not imply equality or incompatibility.

Security considerations

Declared side effects: []. Treat parser inputs as untrusted and apply execution limits to large data. Arguments marked sensitive in the schema are redacted from metadata-aware History displays.

Testing evidence

Correctness tests: - tests/tests/operations/aes_encrypt.rs

Known-answer tests: - tests/tests/known_answer_vectors.rs

Performance classification

Benchmark evidence: - representative release benchmark

See benchmark results for measured environment and statistics.

References