Files
wolfssl/doc/dox_comments/header_files-ja/wc_encrypt.h

151 lines
7.9 KiB
C
Raw Normal View History

/*!
\ingroup AES
\brief AESでCipher Block Chainingを使用して出力バッファに出力バッファーに入れますAES構造を初期化する必要はありませんIV使AESオブジェクトを初期化してから暗号テキストを復号化します
\return 0
\return BAD_ALIGN_E
\return BAD_FUNC_ARG aesetivの間にキーの長さが無効な場合AESオブジェクトがNULLの場合
\return MEMORY_E wolfssl_small_stackが有効になっていてxmallocがAESオブジェクトのインスタンス化に失敗した場合に返されます
\param out
\param in
\param inSz
\param key 16,2432
_Example_
\code
int ret = 0;
byte key[] = { some 16, 24, or 32 byte key };
byte iv[] = { some 16 byte iv };
byte cipher[AES_BLOCK_SIZE * n]; //n being a positive integer making
cipher some multiple of 16 bytes
// fill cipher with cipher text
byte plain [AES_BLOCK_SIZE * n];
if ((ret = wc_AesCbcDecryptWithKey(plain, cipher, AES_BLOCK_SIZE, key,
AES_BLOCK_SIZE, iv)) != 0 ) {
// Decrypt Error
}
\endcode
\sa wc_AesSetKey
\sa wc_AesSetIV
\sa wc_AesCbcEncrypt
\sa wc_AesCbcDecrypt
*/
int wc_AesCbcDecryptWithKey(byte* out, const byte* in, word32 inSz,
const byte* key, word32 keySz,
const byte* iv);
/*!
\ingroup 3DES
\brief CBCDES暗号化を使用しますwc_des_cbcdecryptの代わりにDES構造体を直接インスタンス化せずにメッセージを復号化できるようにします
\return 0
\return MEMORY_E DES構造体の割り当てスペースが割り当てられている場合に返された
\param out
\param in
\param sz
\param key 使8
_Example_
\code
int ret;
byte key[] = { // initialize with 8 byte key };
byte iv[] = { // initialize with 8 byte iv };
byte cipher[] = { // initialize with ciphertext };
byte decoded[sizeof(cipher)];
if ( wc_Des_CbcDecryptWithKey(decoded, cipher, sizeof(cipher), key,
iv) != 0) {
// error decrypting message
}
\endcode
\sa wc_Des_CbcDecrypt
*/
int wc_Des_CbcDecryptWithKey(byte* out,
const byte* in, word32 sz,
const byte* key, const byte* iv);
/*!
\ingroup 3DES
\brief CBCDES暗号化を使用しますWC_DES_CBCENCRYPTの代わりになりDES構造を直接インスタンス化せずにメッセージを暗号化できます
\return 0
\return MEMORY_E DES構造体にメモリを割り当てるエラーがある場合は返されます
\return <0
\param out
\param in DESブロックサイズに埋められなければなりません
\param sz
\param key 使
_Example_
\code
byte key[] = { // initialize with 8 byte key };
byte iv[] = { // initialize with 8 byte iv };
byte in[] = { // Initialize with plaintext };
byte out[sizeof(in)];
if ( wc_Des_CbcEncryptWithKey(&out, in, sizeof(in), key, iv) != 0)
{
// error encrypting message
}
\endcode
\sa wc_Des_CbcDecryptWithKey
\sa wc_Des_CbcEncrypt
*/
int wc_Des_CbcEncryptWithKey(byte* out,
const byte* in, word32 sz,
const byte* key, const byte* iv);
/*!
\ingroup 3DES
\brief CBCDES3DES使WC_DES3_CBCENCRYPTの代わりになりDES3構造を直接インスタンス化せずにメッセージを暗号化できます
\return 0
\return MEMORY_E DES構造体にメモリを割り当てるエラーがある場合は返されます
\return <0
\param out
\param in DESブロックサイズに埋められなければなりません
\param sz
\param key 使
_Example_
\code
byte key[] = { // initialize with 8 byte key };
byte iv[] = { // initialize with 8 byte iv };
byte in[] = { // Initialize with plaintext };
byte out[sizeof(in)];
if ( wc_Des3_CbcEncryptWithKey(&out, in, sizeof(in), key, iv) != 0)
{
// error encrypting message
}
\endcode
\sa wc_Des3_CbcDecryptWithKey
\sa wc_Des_CbcEncryptWithKey
\sa wc_Des_CbcDecryptWithKey
*/
int wc_Des3_CbcEncryptWithKey(byte* out,
const byte* in, word32 sz,
const byte* key, const byte* iv);
/*!
\ingroup 3DES
\brief CBCDES3DES使wc_des3_cbcdecryptの代わりにDES3構造を直接インスタンス化せずにメッセージを復号化できるようにします
\return 0
\return MEMORY_E DES構造体の割り当てスペースが割り当てられている場合に返された
\param out
\param in
\param sz
\param key 使24
_Example_
\code
int ret;
byte key[] = { // initialize with 24 byte key };
byte iv[] = { // initialize with 8 byte iv };
byte cipher[] = { // initialize with ciphertext };
byte decoded[sizeof(cipher)];
if ( wc_Des3_CbcDecryptWithKey(decoded, cipher, sizeof(cipher),
key, iv) != 0) {
// error decrypting message
}
\endcode
\sa wc_Des3_CbcDecrypt
*/
int wc_Des3_CbcDecryptWithKey(byte* out,
const byte* in, word32 sz,
const byte* key, const byte* iv);