mirage-block-ccm
AES-CCM encrypted Mirage Mirage_block.S storage
uses two sectors of the underlying Mirage_bloc.S per provided sector:
+-----------------------------------+
| CT | nonce | adata |
+-----------------+-----------------+
| sector n | sector n+1 |
+-----------------+-----------------+
CT
is sector_size + maclen
bytes AES-CCM ciphertextnonce
is nonce_len
bytes random nonceadata
is sector_size - nonce_len - maclen
random additional authenticated data
Notes on bisect and ounit tests
$ dune runtest --instrument-with bisect_ppx --force
$ bisect-ppx-report html
$ open _coverage/index.html
convert AES-CCM encrypted disk images from/to unencrypted images
$ dune exec -- ccmblock --help