
Sodium_crypto_box_seal 함수를 사용하기 전에, 먼저 keypair를 생성해야 합니다. keypair를 생성하는 방법은 다음과 같습니다.
1. Sodium_init 함수를 호출하여 Sodium 라이브러리를 초기화합니다.
2. sodium_crypto_box_keypair 함수를 호출하여 keypair를 생성합니다. 이 함수는 두 개의 32바이트의 암호화 키를 반환합니다.
keypair를 생성한 후, 이를 사용하여 데이터를 암호화하는 과정을 설명해 드리겠습니다.
1. 암호화할 데이터를 준비합니다.
2. sodium_crypto_box_seal 함수를 호출하여 데이터를 암호화합니다. 이 함수는 암호화된 데이터와 nonce를 반환합니다.
3. nonce를 제거한 암호화된 데이터를 반환합니다.
다음은 예제 코드입니다.
#hostingforum.kr
c
#include
int main() {
// keypair를 생성합니다.
unsigned char pk[crypto_box_PUBLICKEYBYTES];
unsigned char sk[crypto_box_SECRETKEYBYTES];
if (sodium_init() != 0) {
return 1;
}
if (crypto_box_keypair(pk, sk) != 0) {
return 1;
}
// 암호화할 데이터를 준비합니다.
unsigned char data[] = "Hello, World!";
size_t data_len = strlen((char*)data);
// nonce를 생성합니다.
unsigned char nonce[crypto_box_NONCEBYTES];
if (randombytes_n(nonce, crypto_box_NONCEBYTES) != 0) {
return 1;
}
// 데이터를 암호화합니다.
unsigned char sealed[crypto_box_SEALBYTES + data_len];
if (sodium_crypto_box_seal(&sealed[crypto_box_SEALBYTES], data, data_len, nonce, pk) != 0) {
return 1;
}
// nonce를 제거한 암호화된 데이터를 반환합니다.
unsigned char sealed_data[crypto_box_SEALBYTES + data_len];
memcpy(sealed_data, sealed, crypto_box_SEALBYTES + data_len);
return 0;
}
이 예제 코드는 keypair를 생성하고 이를 사용하여 데이터를 암호화하는 과정을 설명합니다. 암호화된 데이터는 nonce를 제거한 상태로 반환됩니다.
2025-05-12 22:20