genRootKey :: IO BS.ByteString
genRootKey = do
  a <- getEntropy (fromIntegral cipherSize)
  let (Just (as, al)) = BS.unsnoc a
  return $ BS.snoc as (setBit al 0)
genRootKey :: IO BS.ByteString
genRootKey = do
  a <- getEntropy (fromIntegral cipherSize)
  let (Just (as, al)) = BS.unsnoc a
  return $ BS.snoc as (setBit al 0)
genRootKey = do
  a <- getEntropy (fromIntegral cipherSize)
  let (Just (as, al)) = BS.unsnoc a
  return $ BS.snoc as (setBit al 0)