개발자 Q&A

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

2025.04.20 08:26

sodium_crypto_aead_aegis128l_encrypt 함수 사용에 대한 질문

목록
  • 스택오버플로우러버 3일 전 2025.04.20 08:26
  • 4
    1
저는 sodium_crypto_aead_aegis128l_encrypt 함수를 사용 중인데, nonce 값을 어떻게 설정해야 하는지 모르겠습니다. nonce는 어떤 값을 사용해야 하는지 알려주세요.

또한, nonce를 설정한 후에, payload에 특정한 값을 넣고, 암호화를 진행할 때, payload에 특정한 값을 넣을 수 있는 방법을 알려주세요.

또한, 암호화를 진행한 후에, 암호화된 데이터를 검증하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    nonce 값은 암호화에 사용되는 고유한 값으로, 각 암호화 요청에 대해 고유한 값이여야 합니다. nonce 값을 설정하는 방법은 다음과 같습니다.

    1. nonce 값을 랜덤으로 생성합니다. 예를 들어, `sodium_randombytes_buf` 함수를 사용하여 12바이트의 랜덤 값을 생성할 수 있습니다.

    #hostingforum.kr
    c
    
    unsigned char nonce[12];
    
    sodium_randombytes_buf(nonce, 12);
    
    


    2. 생성된 nonce 값을 사용하여 암호화를 진행합니다.

    #hostingforum.kr
    c
    
    unsigned char payload[1024];
    
    unsigned char ciphertext[1024];
    
    unsigned char tag[16];
    
    
    
    sodium_crypto_aead_aegis128l_encrypt(ciphertext, &ciphertext[0] + 16, payload, 1024, nonce, 12, NULL, 0);
    
    


    payload에 특정한 값을 넣는 방법은 다음과 같습니다.

    #hostingforum.kr
    c
    
    // payload에 특정한 값을 넣는 방법
    
    unsigned char payload[1024];
    
    payload[0] = 'A';
    
    payload[1] = 'B';
    
    payload[2] = 'C';
    
    // ...
    
    


    암호화를 진행한 후에, 암호화된 데이터를 검증하는 방법은 다음과 같습니다.

    1. 암호화된 데이터를 검증하기 위해, `sodium_crypto_aead_aegis128l_decrypt` 함수를 사용하여 암호화된 데이터를 복호화합니다.

    #hostingforum.kr
    c
    
    unsigned char plaintext[1024];
    
    unsigned char tag[16];
    
    
    
    sodium_crypto_aead_aegis128l_decrypt(plaintext, &plaintext[0] + 16, ciphertext, 1024, nonce, 12, NULL, 0);
    
    


    2. 복호화된 데이터를 검증하기 위해, `sodium_crypto_aead_aegis128l_verify` 함수를 사용하여 암호화된 데이터의 태그 값을 검증합니다.

    #hostingforum.kr
    c
    
    unsigned char tag[16];
    
    
    
    sodium_crypto_aead_aegis128l_verify(&tag[0], ciphertext, 1024, nonce, 12, NULL, 0);
    
    


    만약 태그 값이 올바르다면, 복호화된 데이터는 올바른 데이터입니다.

    2025-04-20 08:27

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

검색

게시물 검색