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      |
+-----------------+-----------------+
- CTis- sector_size + maclenbytes AES-CCM ciphertext
- nonceis- nonce_lenbytes random nonce
- adatais- sector_size - nonce_len - maclenrandom 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