
Sodium Library에서 secret key를 보호하는 방법은 다음과 같습니다.
1. Key Derivation Function (KDF) 사용: secret key를 암호화하기 전에, 키 도출 함수를 사용하여 secret key를 암호화된 형태로 변환합니다. 예를 들어, sodium_crypto_secretbox_key() 함수를 사용하여 secret key를 암호화할 수 있습니다.
2. 암호화된 secret key 저장: 암호화된 secret key를 저장하는 대신, 암호화된 secret key의 해시 값을 저장합니다. 예를 들어, sodium_crypto_secretbox() 함수를 사용하여 secret key를 암호화하고, 해시 값을 저장할 수 있습니다.
3. Secret key를 암호화된 형태로 저장: secret key를 암호화된 형태로 저장하는 대신, secret key의 해시 값을 저장합니다.
public key를 생성하는 다른 방법은 다음과 같습니다.
1. sodium_crypto_box_publickey_from_secretkey() 함수 대신 사용: secret key를 암호화된 형태로 변환한 후, 암호화된 secret key를 사용하여 public key를 생성하는 함수를 사용할 수 있습니다. 예를 들어, sodium_crypto_box_publickey_from_secretkey() 함수 대신, sodium_crypto_box_publickey_from_secretkey_encrypted() 함수를 사용할 수 있습니다.
2. public key를 직접 생성: secret key를 사용하여 public key를 직접 생성하는 함수를 사용할 수 있습니다. 예를 들어, sodium_crypto_box_publickey_from_secretkey_encrypted() 함수를 사용할 수 있습니다.
예제:
#hostingforum.kr
c
#include
// secret key를 암호화하기 전에, 키 도출 함수를 사용하여 secret key를 암호화된 형태로 변환합니다.
unsigned char secret_key[32];
unsigned char encrypted_secret_key[32];
sodium_crypto_secretbox_key(secret_key, encrypted_secret_key, 32);
// 암호화된 secret key를 사용하여 public key를 생성하는 함수를 사용합니다.
unsigned char public_key[32];
sodium_crypto_box_publickey_from_secretkey_encrypted(encrypted_secret_key, public_key);
이 예제에서는 secret key를 암호화하기 전에, 키 도출 함수를 사용하여 secret key를 암호화된 형태로 변환합니다. 그 후, 암호화된 secret key를 사용하여 public key를 생성하는 함수를 사용합니다.
2025-06-25 11:37