mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-22 00:59:08 +01:00
const reference to vector of buffers
This commit is contained in:
parent
12ac7d6a00
commit
f30b6c9e6e
2 changed files with 4 additions and 4 deletions
|
@ -1174,7 +1174,7 @@ namespace crypto
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AEADChaCha20Poly1305Encrypt (std::vector<std::pair<uint8_t *, size_t> >& bufs, const uint8_t * key, const uint8_t * nonce, uint8_t * mac)
|
void AEADChaCha20Poly1305Encrypt (const std::vector<std::pair<uint8_t *, size_t> >& bufs, const uint8_t * key, const uint8_t * nonce, uint8_t * mac)
|
||||||
{
|
{
|
||||||
if (bufs.empty ()) return;
|
if (bufs.empty ()) return;
|
||||||
#if LEGACY_OPENSSL
|
#if LEGACY_OPENSSL
|
||||||
|
@ -1188,7 +1188,7 @@ namespace crypto
|
||||||
// encrypt buffers
|
// encrypt buffers
|
||||||
Chacha20SetCounter (state, 1);
|
Chacha20SetCounter (state, 1);
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
for (auto& it: bufs)
|
for (const auto& it: bufs)
|
||||||
{
|
{
|
||||||
chacha::Chacha20Encrypt (state, it.first, it.second);
|
chacha::Chacha20Encrypt (state, it.first, it.second);
|
||||||
polyHash.Update (it.first, it.second); // after encryption
|
polyHash.Update (it.first, it.second); // after encryption
|
||||||
|
@ -1216,7 +1216,7 @@ namespace crypto
|
||||||
EVP_EncryptInit_ex(ctx, EVP_chacha20_poly1305(), 0, 0, 0);
|
EVP_EncryptInit_ex(ctx, EVP_chacha20_poly1305(), 0, 0, 0);
|
||||||
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, 12, 0);
|
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, 12, 0);
|
||||||
EVP_EncryptInit_ex(ctx, NULL, NULL, key, nonce);
|
EVP_EncryptInit_ex(ctx, NULL, NULL, key, nonce);
|
||||||
for (auto& it: bufs)
|
for (const auto& it: bufs)
|
||||||
EVP_EncryptUpdate(ctx, it.first, &outlen, it.first, it.second);
|
EVP_EncryptUpdate(ctx, it.first, &outlen, it.first, it.second);
|
||||||
EVP_EncryptFinal_ex(ctx, NULL, &outlen);
|
EVP_EncryptFinal_ex(ctx, NULL, &outlen);
|
||||||
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, mac);
|
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16, mac);
|
||||||
|
|
|
@ -283,7 +283,7 @@ namespace crypto
|
||||||
// AEAD/ChaCha20/Poly1305
|
// AEAD/ChaCha20/Poly1305
|
||||||
bool AEADChaCha20Poly1305 (const uint8_t * msg, size_t msgLen, const uint8_t * ad, size_t adLen, const uint8_t * key, const uint8_t * nonce, uint8_t * buf, size_t len, bool encrypt); // msgLen is len without tag
|
bool AEADChaCha20Poly1305 (const uint8_t * msg, size_t msgLen, const uint8_t * ad, size_t adLen, const uint8_t * key, const uint8_t * nonce, uint8_t * buf, size_t len, bool encrypt); // msgLen is len without tag
|
||||||
|
|
||||||
void AEADChaCha20Poly1305Encrypt (std::vector<std::pair<uint8_t *, size_t> >& bufs, const uint8_t * key, const uint8_t * nonce, uint8_t * mac); // encrypt multiple buffers with zero ad
|
void AEADChaCha20Poly1305Encrypt (const std::vector<std::pair<uint8_t *, size_t> >& bufs, const uint8_t * key, const uint8_t * nonce, uint8_t * mac); // encrypt multiple buffers with zero ad
|
||||||
|
|
||||||
// init and terminate
|
// init and terminate
|
||||||
void InitCrypto (bool precomputation);
|
void InitCrypto (bool precomputation);
|
||||||
|
|
Loading…
Add table
Reference in a new issue