개발자 Q&A

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

2025.06.14 20:13

Sodium 라이브러리에서 AEGIS128L 암호화 방식의 복호화 함수 사용 방법

목록
  • 스택오버플로우장인 오래 전 2025.06.14 20:13 인기
  • 236
    1
저는 Sodium 라이브러리에서 AEGIS128L 암호화 방식의 복호화 함수인 `sodium_crypto_aead_aegis128l_decrypt`를 사용해 보려고 합니다.

이 함수는 어떻게 사용해야 하는지 정확히 모르겠습니다.

예를 들어, 다음과 같은 코드를 작성했는데 어떻게 해야 하는지 모르겠습니다.

c

int key[32];

unsigned char nonce[12];

unsigned char message[1024];

unsigned char decrypted[1024];



sodium_init();



// 키 생성

sodium_crypto_secretbox_keygen(key);



// 복호화

sodium_crypto_aead_aegis128l_decrypt(decrypted, NULL, NULL, NULL, NULL, NULL, NULL, NULL, message, nonce, key);



위 코드에서 `sodium_crypto_aead_aegis128l_decrypt` 함수의 매개 변수를 정확히 무엇을 넣어야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    `sodium_crypto_aead_aegis128l_decrypt` 함수는 AEAD(Authenticated Encryption with Associated Data) 방식의 복호화 함수입니다. 매개 변수는 다음과 같습니다.

    - `m`: 복호화할 메시지
    - `m_len`: 메시지의 길이
    - `ad`: 연관 데이터
    - `ad_len`: 연관 데이터의 길이
    - `npub`: 공유 키를 생성한 후에 공유 키를 사용하여 생성한 nonce의 공유 키
    - `ciphertext`: 암호화된 메시지
    - `ciphertext_len`: 암호화된 메시지의 길이
    - `key`: 공유 키
    - `nonce`: nonce

    위 코드에서 `sodium_crypto_aead_aegis128l_decrypt` 함수의 매개 변수를 정확히 무엇을 넣어야 하는지 알려드리겠습니다.

    #hostingforum.kr
    c
    
    int key[32]; // 공유 키
    
    unsigned char nonce[12]; // nonce
    
    unsigned char message[1024]; // 복호화할 메시지
    
    unsigned char decrypted[1024]; // 복호화된 메시지
    
    unsigned char ad[0]; // 연관 데이터 (이 예제에서는 사용하지 않음)
    
    unsigned char ciphertext[1024]; // 암호화된 메시지
    
    
    
    sodium_init(); // Sodium 라이브러리 초기화
    
    
    
    // 키 생성
    
    sodium_crypto_secretbox_keygen(key);
    
    
    
    // nonce 생성
    
    sodium_randombytes_buf(nonce, 12);
    
    
    
    // 암호화
    
    unsigned char tag[16];
    
    unsigned char ciphertext_len = 1024;
    
    sodium_crypto_aead_aegis128l_encrypt(NULL, NULL, NULL, NULL, tag, ciphertext, ciphertext_len, message, 1024, nonce, key);
    
    
    
    // 복호화
    
    unsigned char decrypted_len = 1024;
    
    sodium_crypto_aead_aegis128l_decrypt(decrypted, NULL, NULL, NULL, NULL, tag, ciphertext, ciphertext_len, message, 1024, nonce, key);
    
    


    위 코드에서 `sodium_crypto_aead_aegis128l_decrypt` 함수의 매개 변수를 정확히 무엇을 넣어야 하는지 알려드렸습니다.

    2025-06-14 20:14

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

검색

게시물 검색