у меня есть sbox для реализации типа AES, например
int box[4][4] = {{0xA,0x3,0xC,0xB},
{0xE,0xF,0x2,0xE},
{0x6,0x4,0x0,0xF},
{0xC,0x4,0xF,0x3}};
я хочу получить первые 2 бита и последние 2 бита шестнадцатеричного числа, а затем заменить его позицией в sbox, например
int x = 0xA //Because A has a binary representation from hex as 1010
тогда номер строки станет первыми 2 битами A "10", а номер столбца станет вторыми 2 битами A "10", поэтому int x перейдет в sbox и будет заменен на "0xF"
как я могу получить биты A и использовать их для поиска моего sbox?
0xF
, если в этой позиции есть0x0
? - person Joachim Isaksson   schedule 08.03.2014int
обычно составляет 32 бита, что означает, что два старших бита означают что-то еще. - person Some programmer dude   schedule 08.03.2014