
nonce 값이 동일한 경우, sodium_crypto_aead_aes256gcm_encrypt 함수는 암호화에 실패합니다. 이 함수는 nonce 값이 고유해야 하기 때문입니다.
nonce 값이 동일한 경우에 발생할 수 있는 보안 위험이 있습니다. 동일한 nonce 값을 사용하면 암호화된 데이터를 복호화할 때, 동일한 데이터를 복호화할 수 있는 취약점이 발생할 수 있습니다.
해결 방법은 nonce 값을 고유하게 생성하는 것입니다. 일반적으로 UUID 또는 난수 생성기를 사용하여 nonce 값을 생성합니다.
다음은 예제입니다.
#hostingforum.kr
c
#include
// nonce 값을 고유하게 생성합니다.
unsigned char nonce[crypto_aead_aes256gcm_NPUBBYTES];
crypto_aead_aes256gcm_keygen(nonce);
// 데이터를 암호화합니다.
unsigned char ciphertext[crypto_aead_aes256gcm_NPUBBYTES + crypto_aead_aes256gcm_ABYTES];
unsigned char message[] = "Hello, World!";
size_t len = strlen((char*)message);
crypto_aead_aes256gcm_encrypt(nonce, ciphertext, message, len, NULL, 0, NULL, 0);
nonce 값을 고유하게 생성하여 암호화하는 것이 중요합니다.
2025-08-12 14:44