Size: a a a

2020 August 11

D

Dim in C++ Together 2.0
я так мыслю: в обычном 8ми битном алгоритме, ключ или дата заполняются в матрицу 4*4 сверху вниз слева-направо

если же мы работаем с 32х битной арифметикой, то заполнение идет в четыре 32х битных регистра

т.е. key=[0x00010203, 0x04050607, 0x08090A0B,0x0C0D0E0F]
data=[0x00010203, 0x04050607, 0x08090A0B,0x0C0D0E0F]

далее начинаются сложные процессы трансформации...
источник

🦊

🦊fox.cpp in C++ Together 2.0
Вот и нашлись твои 10 таблиц
источник

🦊

🦊fox.cpp in C++ Together 2.0
Dim
я так мыслю: в обычном 8ми битном алгоритме, ключ или дата заполняются в матрицу 4*4 сверху вниз слева-направо

если же мы работаем с 32х битной арифметикой, то заполнение идет в четыре 32х битных регистра

т.е. key=[0x00010203, 0x04050607, 0x08090A0B,0x0C0D0E0F]
data=[0x00010203, 0x04050607, 0x08090A0B,0x0C0D0E0F]

далее начинаются сложные процессы трансформации...
Ну, тут регистр можно обозвать строкой
источник

D

Dim in C++ Together 2.0
возможно
источник

D

Dim in C++ Together 2.0
первым делом идет процесс вычисления кей-шадулера (расписание ключей)
источник

D

Dim in C++ Together 2.0
всего должно получится 10 новых ключей (не считая исходного - нулевого)
источник

D

Dim in C++ Together 2.0
допустим нам нужно получить первый ключ:
key1=[0xXXXXXXXX, 0xXXXXXXXX, 0xXXXXXXXX,0xXXXXXXXX]
источник

D

Dim in C++ Together 2.0
давайте простоты ради предположим, что наш ключ равен key0=00000000000000000000000000000000
источник

D

Dim in C++ Together 2.0
R0 (Key = 00000000000000000000000000000000)  
 R1 (Key = 62636363626363636263636362636363)  
 R2 (Key = 9b9898c9f9fbfbaa9b9898c9f9fbfbaa)  
 R3 (Key = 90973450696ccffaf2f457330b0fac99)  
 R4 (Key = ee06da7b876a1581759e42b27e91ee2b)  
 R5 (Key = 7f2e2b88f8443e098dda7cbbf34b9290)  
 R6 (Key = ec614b851425758c99ff09376ab49ba7)  
 R7 (Key = 217517873550620bacaf6b3cc61bf09b)  
 R8 (Key = 0ef903333ba9613897060a04511dfa9f)  
 R9 (Key = b1d4d8e28a7db9da1d7bb3de4c664941)  
 R10 (Key = b4ef5bcb3e92e21123e951cf6f8f188e)
источник

D

Dim in C++ Together 2.0
вот такое расписание мы должны получить
источник

D

Dim in C++ Together 2.0
таблицы на то они и таблицы, что б адресовываясь к их адресу получать что-то из них

значит обратившись к адресу равен 00000000
62636363

однако нет такого слова ( 62636363) в этих таблицах !
источник

🦊

🦊fox.cpp in C++ Together 2.0
Dim
таблицы на то они и таблицы, что б адресовываясь к их адресу получать что-то из них

значит обратившись к адресу равен 00000000
62636363

однако нет такого слова ( 62636363) в этих таблицах !
Ну, в коде таблица, в которой ещё учтены другие операции
источник

ПП

Привет Пока... in C++ Together 2.0
Не пон
источник

D

Dim in C++ Together 2.0
ну хорошо, как ключи то формируются?
источник

D

Dim in C++ Together 2.0
поясните что б было понятно
источник

D

Dim in C++ Together 2.0
я так понимаю пп рассчета кей шадулера для криптовки именно 128 алго:
источник

D

Dim in C++ Together 2.0
static int rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits) {
    int i = 0;
 u32 temp;

 rk[0] = GETU32(cipherKey     );
 rk[1] = GETU32(cipherKey +  4);
 rk[2] = GETU32(cipherKey +  8);
 rk[3] = GETU32(cipherKey + 12);
 if (keyBits == 128) {
   for (;;) {
     temp  = rk[3];
     rk[4] = rk[0] ^
       (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
       (Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^
       (Te4[(temp      ) & 0xff] & 0x0000ff00) ^
       (Te4[(temp >> 24)       ] & 0x000000ff) ^
       rcon[i];
     rk[5] = rk[1] ^ rk[4];
     rk[6] = rk[2] ^ rk[5];
     rk[7] = rk[3] ^ rk[6];
     if (++i == 10) {
       return 10;
     }
     rk += 4;
   }
 }
 rk[4] = GETU32(cipherKey + 16);
 rk[5] = GETU32(cipherKey + 20);
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
fox.py &>/dev/null
для матерых есть std::pmr
thrust
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Привет Пока
ребят, есть какая-то книжечка по винапи, чтобы объяснила идеологию (подход к обработке ошибок, нейминг, вот эти QWORD всякие), желательно не на 2к страниц, чтоб дальше можно было без проблем документацию читать вобщем
Щупак
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
А вообще на msdn.microsoft.com все есть
источник