Function report |
Source Code:lib\crypto\poly1305.c |
Create Date:2022-07-28 06:47:33 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:poly1305_core_blocks
Proto:void poly1305_core_blocks(struct poly1305_state *state, const struct poly1305_key *key, const void *src, unsigned int nblocks, u32 hibit)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct poly1305_state * | state | |
| const struct poly1305_key * | key | |
| const void * | src | |
| unsigned int | nblocks | |
| u32 | hibit |
| 50 | If Not nblocks Then Return |
| 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 | Do |
| 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 |
| Name | Describe |
|---|---|
| poly1305_update_generic | |
| poly1305_final_generic |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |