我正在使用libsodium来使用xchacha20poly1305构造加密文件。我通过以下文档(https://download.libsodium.org/doc/secret-key_cryptography/secretstream.html)使一切正常工作,但现在我想知道标题数据的作用。
crypto_secretstream_xchacha20poly1305_init_pull
需要在加密数据时使用的crypto_secretstream_xchacha20poly1305_state
标题,那么我该如何处理标题数据?是否与AES'iv / nonce相同,它可以与加密数据一起分发,还是像密钥一样秘密?
我意识到这很可能是一个新手问题,但由于我显然不是一个加密期望,我想确保我使用libsodium和构造正确。
谢谢!
答案 0 :(得分:0)
这是一个很老的问题,但是由于它仍在等待答案,所以在这里。
标头确实是一个随机数。它不一定是秘密的。但是,如果将相同的流加密两次,则这是必需的,两个密文看起来将完全不同。