개발자 Q&A

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

2025.03.03 19:11

sodium_crypto_kx_publickey 사용법에 대한 질문

  • UX개발자 12일 전 2025.03.03 19:11
  • 8
    1
제가 공부 중인 sodium 라이브러리의 crypto_kx_module에 있는 sodium_crypto_kx_publickey 함수를 사용하고 있습니다.
이 함수는 키 교환을 위한 공인된 키(public key)를 생성하는 역할을 합니다.

하지만, 이 함수를 사용할 때 공인된 키(public key)를 생성하는 방법에 대한 이해가 부족하여 이를 더 잘 이해하고 싶습니다.
이러한 함수를 사용할 때, 어떻게 공인된 키(public key)를 생성해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  12일 전



    sodium_crypto_kx_publickey 함수는 Curve25519 알고리즘을 사용하여 공인된 키(public key)를 생성하는 함수입니다.

    이 함수를 사용하기 위해서는 먼저 Curve25519 키 쌍을 생성해야 합니다.

    키 쌍을 생성하는 함수는 sodium_crypto_kx_keypair입니다. 이 함수는 private key와 public key를 동시에 생성합니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    unsigned char private_key[crypto_kx_PUBLICKEYBYTES];
    
    unsigned char public_key[crypto_kx_PUBLICKEYBYTES];
    
    
    
    int main() {
    
        if (sodium_init() != 0) {
    
            return 1;
    
        }
    
    
    
        if (crypto_kx_keypair(public_key, private_key) != 0) {
    
            return 1;
    
        }
    
    
    
        // public_key는 이제 생성된 공인된 키입니다.
    
        return 0;
    
    }
    
    


    이러한 방식으로 public_key를 생성한 후, 이 public_key를 다른 사람과 공유하여 키 교환을 할 수 있습니다.

    공인된 키(public key)를 생성한 후, 이를 다른 사람과 공유하여 키 교환을 할 때는 주의할 점이 있습니다.

    공인된 키(public key)는 공개적으로 공유되기 때문에, 이 키를 제3자가 탈취할 경우 보안에 취약해집니다.

    따라서, 키 교환을 할 때는 키를 안전하게 전송하고, 키를 저장할 때는 안전한 방법을 사용해야 합니다.

    이러한 방법으로 sodium_crypto_kx_publickey 함수를 사용하여 공인된 키(public key)를 생성하고, 키 교환을 할 수 있습니다.

    2025-03-03 19:12

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

검색

게시물 검색