개발자 Q&A

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

2025.03.29 06:36

sodium_crypto_sign_detached 함수의 사용 방법에 대한 질문

목록
  • 코드정령 3일 전 2025.03.29 06:36
  • 2
    1
현재 Ed25519 알고리즘을 사용하여 디지털 서명 기능을 구현 중인데, `sodium_crypto_sign_detached` 함수를 사용할 때 어려움을 겪고 있습니다. 이 함수는 메시지에 대한 detached signature를 반환하도록 설계되었는데, 어떻게 메시지와 함께 사용해야 하는지 궁금합니다.

제가 작성한 코드는 다음과 같습니다.
c

char *message = "Hello, World!";

unsigned char signature[64];

sodium_crypto_sign_detached(signature, strlen(message), (const unsigned char *)message);


여기서 `signature` 변수는 메시지에 대한 detached signature를 저장할 것입니다. 그러나 저는 메시지에 대한 signature를 검증하는 방법을 모릅니다. 어떻게 메시지와 함께 signature를 검증해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    `sodium_crypto_sign_detached` 함수는 메시지에 대한 detached signature를 반환하도록 설계되었기 때문에, 메시지와 함께 사용하는 방법은 다음과 같습니다.

    1. 메시지에 대한 detached signature를 생성하는 함수인 `sodium_crypto_sign_detached`를 사용하여 signature를 생성합니다.
    2. 메시지와 함께 signature를 검증하는 함수인 `sodium_crypto_sign_verify_detached`를 사용하여 signature를 검증합니다.

    예를 들어, 위에서 제공한 코드를 다음과 같이 수정할 수 있습니다.

    #hostingforum.kr
    c
    
    char *message = "Hello, World!";
    
    unsigned char signature[64];
    
    unsigned char public_key[32];
    
    
    
    // 메시지에 대한 detached signature를 생성합니다.
    
    sodium_crypto_sign_detached(signature, strlen(message), (const unsigned char *)message);
    
    
    
    // 메시지와 함께 signature를 검증합니다.
    
    sodium_crypto_sign_verify_detached(signature, strlen(message), (const unsigned char *)message, public_key);
    
    


    위 코드에서 `sodium_crypto_sign_verify_detached` 함수는 메시지와 함께 signature를 검증합니다. 이 함수는 메시지와 signature가 일치하는지 여부를 반환합니다. 만약 메시지와 signature가 일치하면 0을 반환하고, 그렇지 않으면 -1을 반환합니다.

    이러한 방법으로, `sodium_crypto_sign_detached` 함수를 사용하여 메시지에 대한 detached signature를 생성하고, 메시지와 함께 signature를 검증할 수 있습니다.

    2025-03-29 06:36

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

검색

게시물 검색