AES topic
Symmetric encryption: one key encrypts and decrypts.
Fortis.aes() opens an AesBuilder, and the mode you pick decides the type
you get back. Block and stream modes produce an AesStandardCipher over an
AesPayload; the authenticated modes (GCM, CCM) produce an AesAuthCipher
over an AesAuthPayload, which carries the authentication tag alongside the
ciphertext. The distinction is in the type, not in a runtime flag, so a mode
that cannot authenticate never offers a tag to read.
Keys are FortisAesKey — 128, 192 or 256 bits, generated or restored from
bytes, PEM or Base64. IVs and nonces are generated per operation and travel
inside the payload, so there is no second value to store or transmit.
Classes
- AesAuthCipher AES
- A cipher for AES authenticated modes: AesMode.gcm, AesMode.ccm.
- AesAuthModeBuilder AES
- Sealed base for authenticated-mode builders (AesMode.gcm, AesMode.ccm).
- AesAuthPayload AES
- The output of an AES authenticated encryption operation (AesMode.gcm, AesMode.ccm).
- AesBuilder AES
- Builder for AES key generation and cipher configuration.
- AesCbcModeBuilder AES
- Builder for AesMode.cbc. Exposes padding.
- AesCcmModeBuilder AES
- Builder for AesMode.ccm. Exposes aad, ivSize, and tagSize.
- AesCipher AES
- A symmetric AES cipher that encrypts and decrypts with the same key.
- AesEcbCipher AES
- A cipher for AES in AesMode.ecb mode.
- AesEcbModeBuilder AES
- Builder for AesMode.ecb. Exposes padding.
- AesGcmModeBuilder AES
- Builder for AesMode.gcm. Exposes aad and ivSize.
- AesModeBuilder AES
- Sealed base for mode-specific AES builders.
- AesPayload AES
- The output of an AES non-authenticated encryption operation (AesMode.cbc, AesMode.ctr, AesMode.cfb, AesMode.ofb).
- AesStandardCipher AES
- A cipher for AES modes that use an IV but do not authenticate: AesMode.cbc, AesMode.ctr, AesMode.cfb, AesMode.ofb.
- AesStreamModeBuilder AES
- Builder for stream modes (AesMode.ctr, AesMode.cfb, AesMode.ofb). No user-configurable padding — stream modes don't use padding.
- FortisAesKey AES
- An AES symmetric key used for both encryption and decryption.
Enums
- AesMode AES
- The AES cipher mode of operation.
- AesPadding AES
- The padding scheme for AES block modes (AesMode.ecb, AesMode.cbc).