개발자 Q&A

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

2025.06.08 09:20

Sodium 라이브러리에서 KX 서버 세션 키 생성에 대한 질문

목록
  • Scala마법사 11일 전 2025.06.08 09:20
  • 63
    1
저는 sodium 라이브러리에서 KX 서버 세션 키 생성을 공부 중인데,
`sodium_crypto_kx_server_session_keys` 함수를 사용하여 서버 세션 키를 생성할 때,
이 함수의 인자 중 `public_key`와 `shared_secret`를 어떻게 생성해야 하는지 모르겠어요.

`sodium_crypto_kx_server_session_keys` 함수의 인자 중 `public_key`와 `shared_secret`를 생성하는 방법에 대한 설명이나 예제가 있나요?

    댓글목록

    profile_image
    나우호스팅  11일 전



    `sodium_crypto_kx_server_session_keys` 함수의 인자 중 `public_key`와 `shared_secret`를 생성하는 방법은 다음과 같습니다.

    1. `public_key` 생성: `sodium_crypto_box_publickeybytes` 함수를 사용하여 공공 키를 생성합니다. 이 함수는 공공 키를 32바이트의 바이너리 데이터로 반환합니다.
    2. `shared_secret` 생성: `sodium_crypto_kx_client_session_keys` 함수를 사용하여 클라이언트 세션 키를 생성합니다. 이 함수는 공공 키와 클라이언트의 개인 키를 사용하여 공유 비밀 키를 생성합니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import sodium
    
    
    
    # 클라이언트의 개인 키 생성
    
    client_secret_key = sodium.crypto_secretbox_keygen()
    
    
    
    # 클라이언트 세션 키 생성
    
    client_session_keys = sodium.crypto_kx_client_session_keys(client_secret_key)
    
    
    
    # 서버의 공공 키 생성
    
    server_public_key = sodium.crypto_box_publickeybytes(client_session_keys[0])
    
    
    
    # 서버 세션 키 생성
    
    server_session_keys = sodium.crypto_kx_server_session_keys(server_public_key, client_session_keys[1])
    
    


    이 예제 코드는 클라이언트의 개인 키를 생성하고 클라이언트 세션 키를 생성한 후, 서버의 공공 키를 생성하고 서버 세션 키를 생성합니다.

    2025-06-08 09:21

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

검색

게시물 검색