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

111 lines
6.9 KiB
C
Raw Normal View History

/*!
\ingroup Password
\brief 1PBKDF1HASH関数としてSHAとMD5を選択できます
\return 0
\return BAD_FUNC_ARG MD5とSHA1Klen
\return MEMORY_E SHAまたはMD5オブジェクトにメモリを割り当てるエラーがある場合は返されます
\param output klen longになるべきです
\param passwd 使
\param pLen 使
\param salt 使
\param sLen
\param iterations
\param kLen
_Example_
\code
int ret;
byte key[MD5_DIGEST_SIZE];
byte pass[] = { }; // initialize with password
byte salt[] = { }; // initialize with salt
ret = wc_PBKDF1(key, pass, sizeof(pass), salt, sizeof(salt), 1000,
sizeof(key), MD5);
if ( ret != 0 ) {
// error deriving key from password
}
\endcode
\sa wc_PBKDF2
\sa wc_PKCS12_PBKDF
*/
int wc_PBKDF1(byte* output, const byte* passwd, int pLen,
const byte* salt, int sLen, int iterations, int kLen,
int typeH);
/*!
\ingroup Password
\brief 2PBKDF2MD5SHASHA256SHA384SHA512BLAKE2BなどHMACハッシュ関数のいずれかを選択できます
\return 0
\return BAD_FUNC_ARG 1
\return MEMORY_E HMACオブジェクトに割り振りメモリがある場合
\param output klen longにするべきです
\param passwd 使
\param pLen 使
\param salt 使
\param sLen
\param iterations
\param kLen
_Example_
\code
int ret;
byte key[64];
byte pass[] = { }; // initialize with password
byte salt[] = { }; // initialize with salt
ret = wc_PBKDF2(key, pass, sizeof(pass), salt, sizeof(salt), 2048, sizeof(key),
SHA512);
if ( ret != 0 ) {
// error deriving key from password
}
\endcode
\sa wc_PBKDF1
\sa wc_PKCS12_PBKDF
*/
int wc_PBKDF2(byte* output, const byte* passwd, int pLen,
const byte* salt, int sLen, int iterations, int kLen,
int typeH);
/*!
\ingroup Password
\brief RFC 7292Bに記載されているパスワードベースのキー導出機能PBKDFMD5SHASHA256SHA384SHA512BLAKE2Bを含むHMACハッシュ関数のいずれかを選択できます
\return 0
\return BAD_FUNC_ARG 1klen
\return MEMORY_E
\return MP_INIT_E
\return MP_READ_E
\return MP_CMP_E
\return MP_INVMOD_E
\return MP_EXPTMOD_E
\return MP_MOD_E
\return MP_MUL_E
\return MP_ADD_E
\return MP_MULMOD_E
\return MP_TO_E
\return MP_MEM
\param output klen longにするべきです
\param passwd 使
\param pLen 使
\param salt 使
\param sLen
\param iterations
\param kLen
\param hashType 使.MD5SHASHA256SHA384SHA512BLAKE2B
_Example_
\code
int ret;
byte key[64];
byte pass[] = { }; // initialize with password
byte salt[] = { }; // initialize with salt
ret = wc_PKCS512_PBKDF(key, pass, sizeof(pass), salt, sizeof(salt), 2048,
sizeof(key), SHA512, 1);
if ( ret != 0 ) {
// error deriving key from password
}
\endcode
\sa wc_PBKDF1
\sa wc_PBKDF2
*/
int wc_PKCS12_PBKDF(byte* output, const byte* passwd, int pLen,
const byte* salt, int sLen, int iterations,
int kLen, int typeH, int purpose);