
sodium_crypto_sign_keypair 함수를 사용하여 키 쌍을 생성한 후, 메시지를 서명하고 검증하는 방법은 다음과 같습니다.
1. 키 쌍을 생성한 후, 메시지를 서명하기 위해 sodium_crypto_sign 함수를 사용합니다. 이 함수는 메시지에 서명된 값과 서명된 메시지를 반환합니다.
#hostingforum.kr
c
char* message = "Hello, World!";
unsigned char* signed_message;
unsigned char* signature;
size_t signature_len;
// 메시지에 서명하기
sodium_crypto_sign(message, strlen(message), signed_message, &signature_len, signature);
2. 메시지를 검증하기 위해 sodium_crypto_sign_open 함수를 사용합니다. 이 함수는 서명된 메시지를 검증하고, 서명이 유효한지 여부를 반환합니다.
#hostingforum.kr
c
// 서명된 메시지를 검증하기
int result = sodium_crypto_sign_open(signed_message, signature_len, signature, message, strlen(message));
if (result == 0) {
printf("서명이 유효합니다.n");
} else {
printf("서명이 유효하지 않습니다.n");
}
키 쌍을 생성한 후, 다른 사람에게 키를 전달하는 방법은 다음과 같습니다.
1. 키 쌍을 생성한 후, 공개 키를 다른 사람에게 전달합니다. 공개 키는 서명된 메시지를 검증하는 데 사용됩니다.
#hostingforum.kr
c
// 공개 키를 전달하기
unsigned char* public_key = signed_message + signature_len;
2. 비공개 키를 보안에 주의하여 전달하지 마십시오. 비공개 키는 메시지를 서명하는 데 사용되며, 서명된 메시지를 검증하는 데 사용되지 않습니다.
#hostingforum.kr
c
// 비공개 키를 보안에 주의하여 전달하지 마십시오.
// unsigned char* private_key = signed_message + signature_len + signature_len;
이러한 방법으로, 키 쌍을 생성한 후, 메시지를 서명하고 검증할 수 있습니다. 또한, 키 쌍을 생성한 후, 다른 사람에게 키를 전달할 수 있습니다.
2025-04-27 14:05