函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\crypto\blake2s-selftest.c Create Date:2022-07-27 07:41:45
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:blake2s_selftest

函数原型:bool __init blake2s_selftest(void)

返回类型:bool

参数:

572  bool success = true
575  key[0]等于key[1]等于1
576 i小于key的长度循环key[i]等于key[i - 2]加key[i - 1]
579 i小于buf的长度循环buf[i]等于i
582 i小于ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(lake2s_testvecs[] generated with the program below (using libb2-dev and* libssl-dev [OpenSSL])* #include )循环
583  outlen等于1加i取模BLAKE2S_HASH_SIZE
584  keylen等于13乘i取模BLAKE2S_KEY_SIZE加1的和
586  blake2s(hash, buf, key + BLAKE2S_KEY_SIZE - keylen, outlen, i, keylen)
589  打印错误信息("blake2s self-test %d: FAIL\n", i + 1)
590  success = false
593  如果非keylenblake2s_init( & state, outlen)
595  否则blake2s_init_key( & state, outlen, key + BLAKE2S_KEY_SIZE - keylen, keylen)
600  blake2s_update( & state, buf, l)
601  blake2s_update( & state, buf + l, i - l)
602  blake2s_final( & state, hash)
604  打印错误信息("blake2s init/update/final self-test %d: FAIL\n", i + 1)
606  success = false
610  如果success
611  blake2s256_hmac(hash, buf, key, buf的长度, key的长度)
612  success与等于非memcmp(hash, blake2s_hmac_testvecs[0], BLAKE2S_HASH_SIZE)
614  blake2s256_hmac(hash, key, buf, key的长度, buf的长度)
615  success与等于非memcmp(hash, blake2s_hmac_testvecs[1], BLAKE2S_HASH_SIZE)
617  如果非success打印错误信息("blake2s256_hmac self-test: FAIL\n")
621  返回:success
调用者
名称描述
mod_init