Jump to content

    

Поточное шифрование ATA

триггеры, тогда путь становиться минимально возможным. Поэтому и 35 тактов

 

35 тактов не поэтому, тут хватило бы 33 такта :)

Но, imho, тема себя исчерпала, уже начинаются частные беседы, поэтому лучше переместиться в мыло или PM (не будем засорять конференцию)

Share this post


Link to post
Share on other sites
Я бы не сказал, что 80 нс на блок - это так уж тривиально. Обработка блока в AES - 43 раунда, кажется. Если взять наш ГОСТ - 32 раунда. 2 нс на такой раунд вряд ли представляются тривиальной задачей. Особенно если делать на FPGA, а не на ASIC.

 

Кроме того, очень хотелось бы услышать - что имеется в виду в данном случае под конвееризацией алгоритма шифрования?

 

Вся информация здесь: http://csrc.nist.gov/CryptoToolkit/aes/

 

В двух словах, в AES 10 одинаковых раундов. Каждый раунд - слой одинаковых побайтных S-боксов (256 байт ROM каждый или различные извращенные декомпозиции с целью экономии места на кристалле), перемешивающий слой (перестановки и не слишком глубокий XOR), слой подмешивания частичного ключа. Частичный ключ очередного слоя вычисляется заранее для всех слоев, либо как некоторое довольно простое преобразование частичного ключа предыдущего слоя - в AES вычислять частичные ключи на лету дешево.

 

Для многих режимов применения шифра, кроме тех, где выход предыдущего блока нужно подмешивать ко входу следующего, алгоритм легко конвейеризовать - в нашем распоряжении 80 нс на слой - получаем 800 нс суммарной задержки на блок.

 

Что такое конвейер - объяснять не буду, сорри, этот термин должен быть общеизвестен для всех людей, интересовавшихся работой современных процессоров. Англоязычный аналог - pipeline.

 

Кстати, в 2000 году, когда выбирали AES, описали реализации алгоритмов, из которых выбирали, на VHDL и смоделировали синтезированные под тогдашние доступные технологии модель. Получили от максимально конвейеризованного варианта алгоритма, принятого в качестве окончательного, пропускную способность 5.3 Gbps при 7 миллионах транзисторов и не на много меньше при 4 миллионах. Так что, 1.6 Gbps - это мелочи.

Share this post


Link to post
Share on other sites
Что такое конвейер - объяснять не буду, сорри, этот термин должен быть общеизвестен для всех людей, интересовавшихся работой современных процессоров. Англоязычный аналог - pipeline.

 

Ну наконец-то, открыли мне глаза :)

Подтекст был таков - если какой-то режим работы шифра хорошо конвейеризируется, то этот режим является менее (возможно очень менее) стойким, чем тот, для которого конвейеризация невозможна.

 

Если по аналогии взять режим простой замены ГОСТ в качестве режима шифрования сектора диска, то шифруя каждый 64-битный блок независимым шифратором очень легко сделать поточный шифратор хоть для UDMA 133 (напихать шифраторов в крупную FPGA). Вот только его качество будет весьма сомнительным.

 

варианта алгоритма, принятого в качестве окончательного, пропускную способность 5.3 Gbps при 7 миллионах транзисторов и не на много меньше при 4 миллионах. Так что, 1.6 Gbps - это мелочи.

 

Так это понятно, но одно дело ASIC, а другое - FPGA. Я просто подумал, что тема посвящена больше не тому, что можно в принципе там, а тому, что можно сделать самому и здесь.

Share this post


Link to post
Share on other sites

lvitaly

Утверждение, что конвейеризация снижает стойкость алгоритма, IMHO, достаточно спорное. Я хоть и не криптограф, что знаю, что все классические симметричный шифры используют сети Фaйстеля в качестве основы для своего функционирования. Все фaйстеливские шифры раудовые и имеют одно хранилище ключей, используемое в преобразовании данных. Конвейеризация в данном случае – это просто дублирование узлов и размножение хранилища ключей. То есть, если обеспечивается основное правило о секретности ключа для всех хранилищ, то конвейерная версия нисколько не отличается от её неконвейерной версии в плане стойкости. Использовать ГОСТ, IMHO, можно, если исключить возможность навязывания своих данных (то есть исключить возможность дифференциального криптоанализа). Это делается очень просто, если использовать режим гаммирования. Слабость ГОСТ доказана только к генерации аппаратных ошибок и всё (у DES плюс к этому – недостаточная длина ключа). При условии отсутствия доступа к аппарату зашифрования ГОСТ абсолютно стоек ко всем существующим (и перспективным) методам криптоанализа и взломать его можно только "влоб" -

он просто морально устарел (слишком медленный и затратный для реализации).

Стандарт AES требует меньше раундов, хорошо конвейеризируется и проще для понимания. И для шифрования диска я бы использовал либо AES либо SPECTR-128.

Share this post


Link to post
Share on other sites

А кстати, где-то читал (попробую найти), что AES не основан на сетях Файстеля, и что именно поэтому при приличной конвейеризируемости не происходит снижения стойкости. Я и воспринял от обратного.

 

Насчет ГОСТ - вот только нигде не видел данных о зависимости его стойкости от содержимого узла замены. Кажется на РусКрипто в феврале будет доклад, посвященный этой тематике - от нас едет представитель, могу потом вкратце рассказать, если интересно.

 

Когда делаешь на FPGA, то imho, весьма трудно обеспечить недоступность к аппарату шифрования. Насчет гаммирования -верно, но вот с зацеплением гаммирование нужно или нет? Все известные мне реализации именно дисковых шифраторов ГОСТ используют с зацеплением, в чем есть определенный резон.

 

А вообще, нам все равно придется делать AES на FPGA. Через месяцев пару смогу рассказать о результате, если интересно.

Share this post


Link to post
Share on other sites
Если по аналогии взять режим простой замены ГОСТ в качестве режима шифрования сектора диска, то шифруя каждый 64-битный блок независимым шифратором очень легко сделать поточный шифратор хоть для UDMA 133 (напихать шифраторов в крупную FPGA). Вот только его качество будет весьма сомнительным.

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

Или паяльник в задницу :tongue: . Тоже метод

Share this post


Link to post
Share on other sites

"Payal'nik v zadnicu...".. dlia chego? Dlia togo, chtobi vibit' kluch?????

Voobshe - reshenie electronshika *))) Tol'ko 60 Watniy, Sovetskiy. Kitayskie payal'niki dlia etoy celi ne godiatsa, kak i vse ih ostal'nie komponenti - rezistori, conderi itd *)

 

To: lvitaly

Interesno. Esli vremia budet - rasskajite. I interesuyet obshaya cena (bez zatrat na razrabotku i programmirovanie - ya imeyu v vidu - cenu komponentov + plata, i v obshem - na chem delali, mojete bez Nou-Hau, dlia russkogo cheloveka eto virajenie vseravno chto pokupat' gluchniy OrCAD za den'gi) )

Share this post


Link to post
Share on other sites
"Payal'nik v zadnicu...".. dlia chego? Dlia togo, chtobi vibit' kluch?????

Voobshe - reshenie electronshika *)))

 

Для тех, кто не знает - это классический метод криптоанализа, называемый в различных источниках как "проктотермальный" или "терморектальный".

Share this post


Link to post
Share on other sites

Для надежного шифрования диска сушествует новый криптографический стандарт на базе AES - IEEE P1619. Он абсолютно надежен и очень быстр - опубликованы ссылки на 70 Gbps реализации.

Share this post


Link to post
Share on other sites

cupertino, спасибо. весьма интересный стандарт!!

и хоть он и пока в статусе draft, IP-корок уже достаточно в интернете.

 

по сути - двойное применение AES с подмешиванием информации о адресе сектора для затруднения криптоатак. (XTS-AES).

 

вот они пишут: "The disk sector sizes frequently chosen for disk systems are 512, 520, 528 and 4096 bytes."

а где сектора по 520, 528 байт? на флеш чтоли?? но это же вроде на уровне контроллера флеш, а не на уровне контроллера дисков доступ к "избыточным" байтам сектора.

Share this post


Link to post
Share on other sites
и хоть он и пока в статусе draft

 

Это уже хорошо созревший draft. Несколько месяцев назад там произошла революция, и они поменяли LRW mode на XEX (который затем переименовали в XTS, так как поиск в интернете на термин ХЕХ в основном приводил на порно сайты). Процесс был весьма болезненым, тат как многие участники уже начали делать железо под LRW, и я не думаю, что группа P1619 пойдет на какие-нибудь радикальные замены еще раз.

 

вот они пишут: "The disk sector sizes frequently chosen for disk systems are 512, 520, 528 and 4096 bytes."

а где сектора по 520, 528 байт? на флеш чтоли?? но это же вроде на уровне контроллера флеш, а не на уровне контроллера дисков доступ к "избыточным" байтам сектора.

 

Сектора по 520 или 528 байт встречаются редко, но они упоминаются в стандарте из-за того, что для их обработки нужен специальный режим - так как AES работает только со 128 битными (16 байтов) блоками, а ни 520, ни 528 на 16 нацело не делятся, для работы с остатком придуман специальный режим - CTS (ciper text stealing)

Share this post


Link to post
Share on other sites
вот они пишут: "The disk sector sizes frequently chosen for disk systems are 512, 520, 528 and 4096 bytes."

а где сектора по 520, 528 байт? на флеш чтоли?? но это же вроде на уровне контроллера флеш, а не на уровне контроллера дисков доступ к "избыточным" байтам сектора.

Сектора по 520 или 528 байт встречаются редко, но они упоминаются в стандарте из-за того, что для их обработки нужен специальный режим - так как AES работает только со 128 битными (16 байтов) блоками, а ни 520, ни 528 на 16 нацело не делятся, для работы с остатком придуман специальный режим - CTS (ciper text stealing)

ну да. читал про CTS . несколько заморочно сделано по сравнению с тем, как кодируются другие блоки.

просто непонятно вот что: в азиках всяких для SATA-II 3Gb/s также заявлено о ее поддержке (CTS). - но вроде ка кона для HDD не особо-то и нужна. отсюда и вопрос.

 

 

ктсати, вроде еще есть такая штука как Trusted Platform Module.

заявлена как аппратно-программная штука для (в том числе) защиты данных на дисках.

только что-то мутно оно как-то.. какой-то чип на мамке - так.. сбоку-припеку..

хотя занимаются им вроде серьезные дядьки (в TCPA/TCG - Trusted Computing Platform Alliance/Trusted Computing Group входят AMD, Hewlett-Packard, IBM, Intel, Microsoft, Seagate, Sony, Sun).

Share this post


Link to post
Share on other sites
ну да. читал про CTS . несколько заморочно сделано по сравнению с тем, как кодируются другие блоки.

 

CTS сделан так из-за того, что укороченный plain text надо дополнить чем-то случайным, непредсказуемым - блок, в котором большая часть информации известна, легко ломается. Я согласен, программировать CTS не самое приятное занятие (особенно в режиме расшифровки), но что делать...

 

ктсати, вроде еще есть такая штука как Trusted Platform Module.

заявлена как аппратно-программная штука для (в том числе) защиты данных на дисках.

только что-то мутно оно как-то.. какой-то чип на мамке - так.. сбоку-припеку..

 

Trusted Platform Module работает вместе с софтварным шифрованием, что, естественно, замедляет доступ к диску. XTS hardware accelerator при относительно небольших размерах может обеспечивать многие гигабиты в секунду, делая шифрование совершенно невидимым с точки зрения производительности системы.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this