函数逻辑报告 |
Source Code:lib\crypto\aes.c |
Create Date:2022-07-27 07:41:26 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:aes_encrypt - Encrypt a single AES block*@ctx: Context struct containing the key schedule*@out: Buffer to store the ciphertext*@in: Buffer containing the plaintext
函数原型:void aes_encrypt(const struct crypto_aes_ctx *ctx, u8 *out, const u8 *in)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const struct crypto_aes_ctx * | ctx | |
| u8 * | out | |
| const u8 * | in |
| 261 | rounds等于6加key_length除4 |
| 265 | st0[0]等于key_enc[0]按位异或get_unaligned_le32(in) |
| 266 | st0[1]等于key_enc[1]按位异或get_unaligned_le32(in + 4) |
| 267 | st0[2]等于key_enc[2]按位异或get_unaligned_le32(in + 8) |
| 268 | st0[3]等于key_enc[3]按位异或get_unaligned_le32(in + 12) |
| 281 | 循环 |
| 282 | st1[0]等于mix_columns(subshift(st0, 0))按位异或rkp[0] |
| 283 | st1[1]等于mix_columns(subshift(st0, 1))按位异或rkp[1] |
| 284 | st1[2]等于mix_columns(subshift(st0, 2))按位异或rkp[2] |
| 285 | st1[3]等于mix_columns(subshift(st0, 3))按位异或rkp[3] |
| 290 | st0[0]等于mix_columns(subshift(st1, 0))按位异或rkp[4] |
| 291 | st0[1]等于mix_columns(subshift(st1, 1))按位异或rkp[5] |
| 292 | st0[2]等于mix_columns(subshift(st1, 2))按位异或rkp[6] |
| 293 | st0[3]等于mix_columns(subshift(st1, 3))按位异或rkp[7] |
| 296 | put_unaligned_le32(subshift(st1, 0) ^ rkp[4], out) |
| 297 | put_unaligned_le32(subshift(st1, 1) ^ rkp[5], out + 4) |
| 298 | put_unaligned_le32(subshift(st1, 2) ^ rkp[6], out + 8) |
| 299 | put_unaligned_le32(subshift(st1, 3) ^ rkp[7], out + 12) |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |