AES-128-CFB8 encryption for Almide. Hardware-accelerated on Rust target via AES-NI, pure Almide fallback for WASM.
import aes
import bytes
let key = bytes.from_list([0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F])
let iv = key
let state = aes.new_cfb8(key, iv)
let encrypted = aes.cfb8_encrypt(state, plaintext)
// encrypted.data — ciphertext
// encrypted.state — updated state for next call
let decrypted = aes.cfb8_decrypt(encrypted.state, encrypted.data)