eXeL@B —› Вопросы новичков —› AES aes_key_st 244 байт |
Посл.ответ | Сообщение |
|
Создано: 19 сентября 2016 10:28 · Поправил: olia64 · Личное сообщение · #1 В алгоритме шифрования AES есть структура aes_key_st Нагуглил #define AES_MAXNR 14 #define AES_BLOCK_SIZE 16 #define AES_KEY_SIZE 16 struct aes_key_st { uint32_t rd_key[4 * (AES_MAXNR + 1)]; int rounds; }; И действительно, в моём EXE ровно 244 байта грузятся из файла. Проблема в том, что файла размером 244 байта у меня нет и его надо сгенерировать самому. Моя логика. По названию структуры можно догадаться что речь идет о ключах. Но ведь ключи в AES бывают 128 192 256 бит, 244 байтами не пахнет. По слову int rounds; можно догадатся что речь идет о количестве раундов шифрования. Получается это таблица-шифрования, через которую мы rounds раз зашифруем сообщение. Вопрос. Если мы сами должны сгенерировать эту таблицу случайным образом. Как получить обратную к ней таблицу? Все ли я правильно понимаю? Сори за многобуков |
|
Создано: 19 сентября 2016 11:07 · Личное сообщение · #2 |
|
Создано: 19 сентября 2016 14:25 · Поправил: olia64 · Личное сообщение · #3 Таблица замен может быть размером 244 байта? В википедии ближайший аналог 244 байтам это Массив w[] — содержит key schedule. Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) это раундовый ключ? Чисто интуитивно, получается , что это массив ключей, которые применяются на каждом раунде ? https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard |
|
Создано: 19 сентября 2016 15:30 · Поправил: -=AkaBOSS=- · Личное сообщение · #4 olia64 пишет: И действительно, в моём EXE ровно 244 байта грузятся из файла. довольно странный подход к делу. Вы пытаетесь судить о предназначении данных чисто по их размеру? Может, стоит всё-таки разобраться, как они используются после загрузки из файла7 Глянул на реализацию алго в OpenSSL. структура AES_KEY это собственно внутренний ключ шифрования. в зависимости от выбранного количества бит, она заполняется соответствующим кол-вом данных из указанного пользователем ключа. Code:
|
|
Создано: 19 сентября 2016 16:05 · Личное сообщение · #5 |
|
Создано: 19 сентября 2016 16:20 · Личное сообщение · #6 ну значит так захотелось автору программы.. нормально-не номально - это не имеет значения ключа, по сути, нету, а стало быть, расшифровать фиг что получится вон неподалёку висит темка про брутфорс AES или ищите того у кого нужный файл имеется Добавлено спустя 15 минут olia64 пишет: Получается это таблица-шифрования, через которую мы rounds раз зашифруем сообщение. да, на каждом раунде используются следующие 4 дворда из этой "таблицы" olia64 пишет: Вопрос. Если мы сами должны сгенерировать эту таблицу случайным образом. если генерировать "случайным образом", то и результат расшифровки тоже будет случайным olia64 пишет: Как получить обратную к ней таблицу? в каком смысле - обратную? развернуть внутренний ключ обратно до пользовательского? или из ключа шифрования сделать ключ расшифровки? или наоборот? |
|
Создано: 19 сентября 2016 16:43 · Личное сообщение · #7 olia64 пишет: Проблема в том, что файла размером 244 байта у меня нет и его надо сгенерировать самому. olia64 пишет: Моя логика olia64 пишет: можно догадаться Как говорит SReg тут надо "брать и дебажить", как-то много предположений, основанных хер знает на чем. Ты отладчик вообще открывал ? Функцию считывания файла нашел ? Далее со считанным буфером должны преобразования идти, в общем отладчик в руки и вперед... |
|
Создано: 19 сентября 2016 16:49 · Личное сообщение · #8 |
|
Создано: 19 сентября 2016 17:20 · Личное сообщение · #9 |
|
Создано: 24 сентября 2016 15:05 · Поправил: olia64 · Личное сообщение · #10 Это был раундовый ключ, первая строчка в таблице соответствует самому ключу а за ним уже идут 10 раундов и 10 (раундовых ключей ). Странно что тут никто этого не знает. S-таблица всегда 256 байт Here are some test vectors: For the key 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, the expanded key is: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 62 63 63 63 62 63 63 63 62 63 63 63 62 63 63 63 9b 98 98 c9 f9 fb fb aa 9b 98 98 c9 f9 fb fb aa 90 97 34 50 69 6c cf fa f2 f4 57 33 0b 0f ac 99 ee 06 da 7b 87 6a 15 81 75 9e 42 b2 7e 91 ee 2b 7f 2e 2b 88 f8 44 3e 09 8d da 7c bb f3 4b 92 90 ec 61 4b 85 14 25 75 8c 99 ff 09 37 6a b4 9b a7 21 75 17 87 35 50 62 0b ac af 6b 3c c6 1b f0 9b 0e f9 03 33 3b a9 61 38 97 06 0a 04 51 1d fa 9f b1 d4 d8 e2 8a 7d b9 da 1d 7b b3 de 4c 66 49 41 b4 ef 5b cb 3e 92 e2 11 23 e9 51 cf 6f 8f 18 8e For the key ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff, the expanded key is: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e8 e9 e9 e9 17 16 16 16 e8 e9 e9 e9 17 16 16 16 ad ae ae 19 ba b8 b8 0f 52 51 51 e6 45 47 47 f0 09 0e 22 77 b3 b6 9a 78 e1 e7 cb 9e a4 a0 8c 6e e1 6a bd 3e 52 dc 27 46 b3 3b ec d8 17 9b 60 b6 e5 ba f3 ce b7 66 d4 88 04 5d 38 50 13 c6 58 e6 71 d0 7d b3 c6 b6 a9 3b c2 eb 91 6b d1 2d c9 8d e9 0d 20 8d 2f bb 89 b6 ed 50 18 dd 3c 7d d1 50 96 33 73 66 b9 88 fa d0 54 d8 e2 0d 68 a5 33 5d 8b f0 3f 23 32 78 c5 f3 66 a0 27 fe 0e 05 14 a3 d6 0a 35 88 e4 72 f0 7b 82 d2 d7 85 8c d7 c3 26 Получается что сам ключ уже вшит в "нулевый раунд" таблицы |
eXeL@B —› Вопросы новичков —› AES aes_key_st 244 байт |
Эта тема закрыта. Ответы больше не принимаются. |