
sodium_crypto_sign_keypair 함수는 Ed25519 암호화 키를 생성하는 데 사용되며, 이 함수는 두 개의 키를 생성합니다. 하나는 서명 키이고 다른 하나는 공개 키입니다.
서명 키와 공개 키의 크기는 모두 32바이트입니다. 이 키들은 각각 32바이트의 바이너리 데이터로 표현됩니다.
서명 키는 서명에 사용됩니다. 서명 키를 사용하여 메시지를 서명하고, 서명된 메시지를 검증할 수 있습니다. 공개 키는 메시지의 서명이 유효한지 검증하는 데 사용됩니다.
서명 키와 공개 키를 사용하는 방법은 다음과 같습니다.
1. 서명 키를 사용하여 메시지를 서명합니다. 메시지에 서명 키를 사용하여 서명된 메시지를 생성합니다.
2. 서명된 메시지를 검증합니다. 공개 키를 사용하여 서명된 메시지를 검증합니다. 만약 서명된 메시지가 유효하다면, 메시지의 서명이 유효한 것입니다.
예를 들어, 다음은 서명 키와 공개 키를 사용하는 예입니다.
#hostingforum.kr
c
#include
int main() {
unsigned char sk[32], pk[32];
unsigned char message[32] = "Hello, World!";
unsigned char signature[64];
// 서명 키와 공개 키를 생성합니다.
if (sodium_crypto_sign_keypair(sk, pk) != 0) {
return 1;
}
// 메시지를 서명합니다.
if (sodium_crypto_sign_detached(signature, message, 13, sk) != 0) {
return 1;
}
// 서명된 메시지를 검증합니다.
if (sodium_crypto_sign_verify_detached(signature, message, 13, pk) != 0) {
return 1;
}
return 0;
}
이 예에서는 서명 키와 공개 키를 생성하고, 메시지를 서명하고, 서명된 메시지를 검증하는 방법을 보여줍니다.
2025-05-31 08:47