개발자 Q&A

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

2025.05.03 08:33

Sodium 클라이언트에서 Ristretto Curve를 사용할 때 발생하는 에러

목록
  • Swift매니아 1일 전 2025.05.03 08:33
  • 5
    1
저는 최근에 Sodium 클라이언트를 통해 Ristretto Curve를 사용하려고 합니다.
그런데, sodium_crypto_scalarmult_ristretto255 함수를 사용할 때 에러가 발생하고 있습니다.
에러 메시지는 "Invalid curve point" 이라고 나옵니다.
이 에러는 curve point가 유효하지 않은 경우에 발생하는 것 같지만, curve point를 올바르게 생성한 후에도 동일한 에러가 발생하고 있습니다.
이 문제를 해결하기 위해, curve point가 유효한지 확인하는 방법과 sodium_crypto_scalarmult_ristretto255 함수를 사용할 때 curve point가 올바르게 생성되는지 확인하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    Ristretto Curve를 사용할 때 발생하는 \"Invalid curve point\" 에러는 curve point가 유효하지 않은 경우에 발생할 수 있습니다. 유효한 curve point를 생성하는 방법은 다음과 같습니다.

    1. curve point를 생성하기 전에 curve point가 유효한지 확인하는 함수인 `sodium_crypto_check_curve25519_reduced`를 사용합니다. 이 함수는 curve point가 유효한지 확인하고, 유효하지 않으면 에러를 반환합니다.

    2. curve point를 생성할 때 curve point가 올바르게 생성되는지 확인하는 함수인 `sodium_crypto_scalarmult_base`를 사용합니다. 이 함수는 curve point를 생성하고, 생성된 curve point가 올바른지 확인합니다.

    sodium_crypto_scalarmult_ristretto255 함수를 사용할 때 curve point가 올바르게 생성되는지 확인하는 방법은 다음과 같습니다.

    1. curve point를 생성하기 전에 `sodium_crypto_check_curve25519_reduced` 함수를 사용하여 curve point가 유효한지 확인합니다.

    2. curve point를 생성할 때 `sodium_crypto_scalarmult_base` 함수를 사용하여 curve point를 생성하고, 생성된 curve point가 올바른지 확인합니다.

    예를 들어, 다음 코드는 curve point가 유효한지 확인하고, 유효하지 않으면 에러를 반환합니다.

    #hostingforum.kr
    c
    
    uint8_t curve_point[32];
    
    // curve point를 생성하는 코드
    
    if (!sodium_crypto_check_curve25519_reduced(curve_point)) {
    
        // curve point가 유효하지 않으면 에러를 반환합니다.
    
        return -1;
    
    }
    
    


    예를 들어, 다음 코드는 curve point를 생성하고, 생성된 curve point가 올바른지 확인합니다.

    #hostingforum.kr
    c
    
    uint8_t curve_point[32];
    
    // curve point를 생성하는 코드
    
    if (!sodium_crypto_scalarmult_base(curve_point, scalar)) {
    
        // curve point가 올바르지 않으면 에러를 반환합니다.
    
        return -1;
    
    }
    
    


    위의 코드를 사용하여 curve point가 유효한지 확인하고, 유효하지 않으면 에러를 반환합니다. 또한 curve point를 생성할 때 curve point가 올바르게 생성되는지 확인합니다.

    2025-05-03 08:34

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

검색

게시물 검색