pub const CBC256_Implementation = struct { pub const BLOCK_SIZE = 16; pub const KEY_SIZE = 32; // NOTE: data should be padded to make its length be a multiple of BLOCK_SIZE encypt: *const fn (key: *const [KEY_SIZE]u8, iv: *const [BLOCK_SIZE]u8, data: *const []u8, ) void, decrypt: *const fn (key: *const [KEY_SIZE]u8, iv: *const [BLOCK_SIZE]u8, data: *const []u8, ) void, }; // TODO pub const CBC265_DefaultImplementation = struct { pub fn encrypt( key: *const [32]u8, iv: *const [16]u8, data: *const []u8 ) void { _ = key; _ = iv; _ = data; } pub fn decrypt( key: *const [32]u8, iv: *const [16]u8, data: *const []u8 ) void { _ = key; _ = iv; _ = data; } };