[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