[P&AM Lab] преобразование числа
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Ср Мар 16 20:44:01 MSK 2011
Не 256 конечно а 128, потому что 16*8=128.
Я хотел сказать что вся таблица подстановок должна быть вмещена в 128
байт, хотя в каждом элементе хранится только 4-х битное значение.
А дальше всё просто.
u_int8_t sbox[128];
u_int32_t x, y;
...
y = sbox[x & 0xf] | sbox[16 + ((x >> 4) & 0xf)] |
sbox[32 + ((x >> 8) & 0xf)] | sbox[48 + ((x >> 12) 0xf)] |
sbox[64 + ((x >> 16) & 0xf)] | sbox[80 + ((x >> 20) & 0xf] |
sbox[96 + ((x >> 24) & 0xf)] | sbox[112 + ((x >> 28)];
...
Здесь в x результат предыдущего шага, а в y результат подстановки.
Думаю что идея ясна.
--
Г.А.
16.03.2011 18:49, ilyaart90 на rambler.ru пишет:
> и еще вопрос по самой таблице подстановок.
> как ее правильно заполнять?
> не смог найти матерьял доступнее RFC4357 (для меня это темный лес), на
> который все ссылаются.
Подробная информация о списке рассылки Lab