개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.12 14:43

AES256-GCM 암호화 관련 질문

목록
  • 백준도사 4시간 전 2025.08.12 14:43 새글
  • 3
    1
저는 sodium_crypto_aead_aes256gcm_encrypt 함수를 사용하여 데이터를 암호화할 때, nonce 값이 동일한 경우에 대해 궁금합니다.

nonce 값이 동일한 경우, 함수는 어떻게 처리하나요?

또한, nonce 값이 동일한 경우에 발생할 수 있는 보안 위험이 있는지 궁금합니다.

해결 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  4시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 43,579건 / 1 페이지

검색

게시물 검색