Сейчас на форуме: tyns777, zds, JustLife (+4 невидимых)

 eXeL@B —› Программирование —› Требуются оптимизированные по размеру реализации AES-256, Twofish и Serpent
Посл.ответ Сообщение

Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 02 февраля 2010 19:10
· Личное сообщение · #1

Требуется сабж на x86 ассемблере. Общий размер кода, таблиц и развёрнутого ключа должен быть минимальным. Там, где я собираюсь это применять, имеется острейшая нехватка памяти и каждый килобайт на вес золота.
Просьба давать ссылки и воздержаться от бессмысленного флуда.

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 04 февраля 2010 03:34 · Поправил: DrGolova
· Личное сообщение · #2

x86 асм и "острейшая нехватка памяти" - буткита чтоли пишем? AES даже без таблиц в один кластер не влезает - проверено.
Нет, я действительно не издеваюсь, это просто не реально.
Либо таблицы считаются заранее, и хранится в ПЗУ, либо генерятся налету, и хранятся ОЗУ, причем генерация таблиц никак не связана с шифрованием.
Шифрование AES (да и прочие) не были бы стойкими если бы можно было обойтись без объемных инициализационных таблиц (это естесно не так, но тем не менее)



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 04 февраля 2010 06:39
· Личное сообщение · #3

DrGolova пишет:
x86 асм и "острейшая нехватка памяти" - буткита чтоли пишем?

Не буткита, а резидентный загрузчик DiskCryptor. В один кластер влазить не нужно, нужно минимизировать использование базовой памяти, т.к. то что есть сейчас не работает, если одновременно висят резиденты загрузчика PXE и драйвера RAID (в итоге не хватает памяти для загрузки винды).
Самые большие проблемы не с AES, он довольно компактен, а с Twofish, его развёрнутый ключ занимает более 4кб, а вариант с коротким ключом фантастически тормознут. Еще Serpent требует весьма неслабый объем кода.
Что-нибудь одно бы прекрасно влезло, но отказаться от поддержки всех трех шифров нельзя, ибо совместимость.

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 04 февраля 2010 08:46 · Поправил: Smon
· Личное сообщение · #4

ntldr
Погляди, может баян, но всё же:



23ea_03.02.2010_CRACKLAB.rU.tgz - CyphersOnAsm.rar

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 04 февраля 2010 09:50
· Личное сообщение · #5

Очень громоздкие реализации. У меня после компиляции оптимизированного сишного исходника получается меньше.

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 61.4 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 04 февраля 2010 10:06
· Личное сообщение · #6

ntldr пишет:
Что-нибудь одно бы прекрасно влезло, но отказаться от поддержки всех трех шифров нельзя, ибо совместимость.

дык может в память не сразу все модули грузить, а динмаически подгружать нужные?



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 04 февраля 2010 10:15
· Личное сообщение · #7

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

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 10.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 февраля 2010 11:52
· Личное сообщение · #8

Какой лимит памяти (физический)?



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 04 февраля 2010 16:17
· Личное сообщение · #9

Всего у нас 640кб памяти, часть из которых может быть занята сторонними резидентами, для загрузки винды требуется 512кб, текущая реализация моего резидента занимает 36кб, но на некоторых машинах при сетевой загрузке не хватает памяти.
Нужно, чтобы все три алгоритма и развёрнутые ключи к ним (ключи в двух экземплярах) занимали около 24кб, чтобы все точно влезло.

-----
PGP key <0x1B6A24550F33E44A>




Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 04 февраля 2010 21:22
· Личное сообщение · #10

Кое-как втиснул всё в 18кб оптимизировав сишный исходник. Тема закрыта.

-----
PGP key <0x1B6A24550F33E44A>



 eXeL@B —› Программирование —› Требуются оптимизированные по размеру реализации AES-256, Twofish и Serpent
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати