utils.h

来自「AES implementation in C++. Input: key f」· C头文件 代码 · 共 22 行

H
22
字号
#pragma once

#ifndef UTILS
#define UTILS

unsigned char gmul(unsigned char a, unsigned char b) {
        unsigned char p = 0;
        unsigned char counter;
        unsigned char hi_bit_set;
        for(counter = 0; counter < 8; counter++) {
                if((b & 1) == 1) 
                        p ^= a;
                hi_bit_set = (a & 0x80);
                a <<= 1;
                if(hi_bit_set == 0x80) 
                        a ^= 0x1b; /* x^8 + x^4 + x^3 + x + 1 */
                b >>= 1;
        }
        return p;
}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?