函数逻辑报告 |
Source Code:lib\crypto\poly1305.c |
Create Date:2022-07-27 07:45:10 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:poly1305_core_blocks
函数原型:void poly1305_core_blocks(struct poly1305_state *state, const struct poly1305_key *key, const void *src, unsigned int nblocks, u32 hibit)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct poly1305_state * | state | |
| const struct poly1305_key * | key | |
| const void * | src | |
| unsigned int | nblocks | |
| u32 | hibit |
| 50 | 如果非nblocks则返回 |
| 53 | r0等于 key, base 2^26 [0] |
| 54 | r1等于 key, base 2^26 [1] |
| 55 | r2等于 key, base 2^26 [2] |
| 56 | r3等于 key, base 2^26 [3] |
| 57 | r4等于 key, base 2^26 [4] |
| 64 | h0等于 accumulator, base 2^26 [0] |
| 65 | h1等于 accumulator, base 2^26 [1] |
| 66 | h2等于 accumulator, base 2^26 [2] |
| 67 | h3等于 accumulator, base 2^26 [3] |
| 68 | h4等于 accumulator, base 2^26 [4] |
| 70 | 循环 |
| 72 | h0加等于get_unaligned_le32(src + 0)右移0位按位与0x3ffffff |
| 73 | h1加等于get_unaligned_le32(src + 3)右移2位按位与0x3ffffff |
| 74 | h2加等于get_unaligned_le32(src + 6)右移4位按位与0x3ffffff |
| 75 | h3加等于get_unaligned_le32(src + 9)右移6位按位与0x3ffffff |
| 76 | h4加等于get_unaligned_le32(src + 12)右移8位按位或hibit左移24位 |
| 98 | src加等于POLY1305_BLOCK_SIZE |
| 101 | accumulator, base 2^26 [0]等于h0 |
| 102 | accumulator, base 2^26 [1]等于h1 |
| 103 | accumulator, base 2^26 [2]等于h2 |
| 104 | accumulator, base 2^26 [3]等于h3 |
| 105 | accumulator, base 2^26 [4]等于h4 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |