context("Test AES encryption") test_that("AES-128 encrypts and decrypts for all lengths", { skip_if(fips_mode()) key <- md5(charToRaw("supersecret")) for(n in 0:100){ x <- rand_bytes(n) y <- aes_cbc_encrypt(x, key) x2 <- aes_cbc_decrypt(y, key) expect_identical(x, x2) } }) test_that("AES-256 encrypts and decrypts for all lengths", { key <- sha256(charToRaw("supersecret")) for(n in 0:100){ x <- rand_bytes(n) y <- aes_cbc_encrypt(x, key) x2 <- aes_cbc_decrypt(y, key) expect_equal(x, x2) } }) test_that("File API", { file <- system.file("DESCRIPTION") key <- rand_bytes(32) ct <- aes_cbc_encrypt(file, key) expect_equal(aes_cbc_decrypt(ct, key), readBin(file, raw(), 1e5)) })