forked from wolfSSL/wolfssl
129 lines
5.8 KiB
C
129 lines
5.8 KiB
C
![]() |
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この関数は、Camelliaオブジェクトのキーと初期化ベクトルを設定し、それを暗号として使用するために初期化します。
|
|||
|
\return 0 キーと初期化ベクトルを正常に設定すると返されます
|
|||
|
\return BAD_FUNC_ARG 入力引数の1つがエラー処理がある場合に返されます
|
|||
|
\return MEMORY_E xmallocでメモリを割り当てるエラーがある場合
|
|||
|
\param cam キーとIVを設定する椿構造へのポインタ
|
|||
|
\param key 暗号化と復号化に使用する16,24、または32バイトのキーを含むバッファへのポインタ
|
|||
|
\param len 渡されたキーの長さ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
byte key[32];
|
|||
|
// initialize key
|
|||
|
byte iv[16];
|
|||
|
// initialize iv
|
|||
|
if( wc_CamelliaSetKey(&cam, key, sizeof(key), iv) != 0) {
|
|||
|
// error initializing camellia structure
|
|||
|
}
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaEncryptDirect
|
|||
|
\sa wc_CamelliaDecryptDirect
|
|||
|
\sa wc_CamelliaCbcEncrypt
|
|||
|
\sa wc_CamelliaCbcDecrypt
|
|||
|
*/
|
|||
|
int wc_CamelliaSetKey(Camellia* cam,
|
|||
|
const byte* key, word32 len, const byte* iv);
|
|||
|
|
|||
|
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この関数は、Camelliaオブジェクトの初期化ベクトルを設定します。
|
|||
|
\return 0 キーと初期化ベクトルを正常に設定すると返されます
|
|||
|
\return BAD_FUNC_ARG 入力引数の1つがエラー処理がある場合に返されます
|
|||
|
\param cam IVを設定する椿構造へのポインタ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
byte iv[16];
|
|||
|
// initialize iv
|
|||
|
if( wc_CamelliaSetIV(&cam, iv) != 0) {
|
|||
|
// error initializing camellia structure
|
|||
|
}
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaSetKey
|
|||
|
*/
|
|||
|
int wc_CamelliaSetIV(Camellia* cam, const byte* iv);
|
|||
|
|
|||
|
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この機能は、提供されたCamelliaオブジェクトを使用して1ブロック暗号化します。それはバッファーの最初の16バイトブロックを解析し、暗号化結果をバッファアウトに格納します。この機能を使用する前に、WC_CAMELLIASETKEYを使用してCamelliaオブジェクトを初期化する必要があります。
|
|||
|
\return none いいえ返します。
|
|||
|
\param cam 暗号化に使用する椿構造へのポインタ
|
|||
|
\param out 暗号化されたブロックを保存するバッファへのポインタ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
// initialize cam structure with key and iv
|
|||
|
byte plain[] = { // initialize with message to encrypt };
|
|||
|
byte cipher[16];
|
|||
|
|
|||
|
wc_CamelliaEncryptDirect(&ca, cipher, plain);
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaDecryptDirect
|
|||
|
*/
|
|||
|
int wc_CamelliaEncryptDirect(Camellia* cam, byte* out,
|
|||
|
const byte* in);
|
|||
|
|
|||
|
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この機能は、提供されたCamelliaオブジェクトを使用して1ブロック復号化します。それはバッファ内の最初の16バイトブロックを解析し、それを復号化し、結果をバッファアウトに格納します。この機能を使用する前に、WC_CAMELLIASETKEYを使用してCamelliaオブジェクトを初期化する必要があります。
|
|||
|
\return none いいえ返します。
|
|||
|
\param cam 暗号化に使用する椿構造へのポインタ
|
|||
|
\param out 復号化された平文ブロックを保存するバッファへのポインタ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
// initialize cam structure with key and iv
|
|||
|
byte cipher[] = { // initialize with encrypted message to decrypt };
|
|||
|
byte decrypted[16];
|
|||
|
|
|||
|
wc_CamelliaDecryptDirect(&cam, decrypted, cipher);
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaEncryptDirect
|
|||
|
*/
|
|||
|
int wc_CamelliaDecryptDirect(Camellia* cam, byte* out,
|
|||
|
const byte* in);
|
|||
|
|
|||
|
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この関数は、バッファーの平文を暗号化し、その出力をバッファOUTに格納します。暗号ブロックチェーン(CBC)を使用してCamelliaを使用してこの暗号化を実行します。
|
|||
|
\return none いいえ返します。
|
|||
|
\param cam 暗号化に使用する椿構造へのポインタ
|
|||
|
\param out 暗号化された暗号文を保存するバッファへのポインタ
|
|||
|
\param in 暗号化する平文を含むバッファへのポインタ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
// initialize cam structure with key and iv
|
|||
|
byte plain[] = { // initialize with encrypted message to decrypt };
|
|||
|
byte cipher[sizeof(plain)];
|
|||
|
|
|||
|
wc_CamelliaCbcEncrypt(&cam, cipher, plain, sizeof(plain));
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaCbcDecrypt
|
|||
|
*/
|
|||
|
int wc_CamelliaCbcEncrypt(Camellia* cam,
|
|||
|
byte* out, const byte* in, word32 sz);
|
|||
|
|
|||
|
/*!
|
|||
|
\ingroup Camellia
|
|||
|
\brief この関数は、バッファ内の暗号文を復号化し、その出力をバッファOUTに格納します。暗号ブロックチェーン(CBC)を搭載したCamelliaを使用してこの復号化を実行します。
|
|||
|
\return none いいえ返します。
|
|||
|
\param cam 暗号化に使用する椿構造へのポインタ
|
|||
|
\param out 復号化されたメッセージを保存するバッファへのポインタ
|
|||
|
\param in 暗号化された暗号文を含むバッファへのポインタ
|
|||
|
_Example_
|
|||
|
\code
|
|||
|
Camellia cam;
|
|||
|
// initialize cam structure with key and iv
|
|||
|
byte cipher[] = { // initialize with encrypted message to decrypt };
|
|||
|
byte decrypted[sizeof(cipher)];
|
|||
|
|
|||
|
wc_CamelliaCbcDecrypt(&cam, decrypted, cipher, sizeof(cipher));
|
|||
|
\endcode
|
|||
|
\sa wc_CamelliaCbcEncrypt
|
|||
|
*/
|
|||
|
int wc_CamelliaCbcDecrypt(Camellia* cam,
|
|||
|
byte* out, const byte* in, word32 sz);
|