|
|
  |
Криптография на ПЛИС, Реализация на Xilinx, Altera |
|
|
|
May 1 2005, 21:06
|

Частый гость
 
Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194

|
Цитата(BSV @ May 1 2005, 21:22) Приходилось ли кому реализовывать ГОСТ 28147-89 (простая замена, гаммирование с обратной связью) и RC4 на Xilinx или Altera? Какое получалось быстродействие? ГОСТ 28147-89 гаммирование с обратной связью 33 такта (110 МГЦ Spartan-3)
--------------------
qwerty
|
|
|
|
|
May 4 2005, 18:22
|

Знающий
   
Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045

|
Цитата(udofun @ May 3 2005, 13:49) тоже самое на Altera реализовывал в полностью синхронной схеме. 1 такт - скорость под 10 МГц была вроде. А что есть полностью синхронная схема? Поправьте меня, если я ошибаюсь, предполагая, что это конвейер из 32 циклов ГОСТа. Но тогда не получится в чистом виде реализовать гаммирование с обратной связью, а вот простую замену - пожалуйста. Уточните пожалуйста на каком кристалле это хозяйство реализовывалось.
--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
|
|
|
|
|
May 4 2005, 18:46
|

Знающий
   
Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045

|
Цитата(makc @ May 1 2005, 21:39) Насчет RC4 ничего не скажу, а вот ГОСТ - было дело. Простую замену делал, если мне не изменяет память, за 35 тактов на блок при тактовой частоте около 66 МГц для Spartan-2. А вот простую замену по моему разумению можно и в 32 такта утоптать. Впрочем, нет, все-таки в 33. Вопрос ко всем участникам обсуждения - а сколько ключей и подстановок одновременно можно было использовать в Ваших решениях?
--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
|
|
|
|
|
May 4 2005, 19:18
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(BSV @ May 4 2005, 21:46) Цитата(makc @ May 1 2005, 21:39) Насчет RC4 ничего не скажу, а вот ГОСТ - было дело. Простую замену делал, если мне не изменяет память, за 35 тактов на блок при тактовой частоте около 66 МГц для Spartan-2. А вот простую замену по моему разумению можно и в 32 такта утоптать. Вопрос ко всем участникам обсуждения - а сколько ключей и подстановок одновременно можно было использовать в Ваших решениях? Можно и в 32, но если считать такты от входа до выхода, то засчет наличия дополнительных регистров у меня получалось именно 35. Насчет количества подстановок - одна, а ключей можно было использовать две штуки, т.к. организация распределенной памяти у спартана 16x1 (старший бит адреса отвечает за выбор ключа).
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
May 5 2005, 13:09
|

Частый гость
 
Группа: Свой
Сообщений: 164
Регистрация: 27-06-04
Пользователь №: 194

|
Цитата(BSV @ May 4 2005, 21:39) Цитата(Maksim @ May 2 2005, 00:06) ГОСТ 28147-89 гаммирование с обратной связью 33 такта (110 МГЦ Spartan-3)  А как в 33 такта уложились? Я использовал 3 регистра - два из ГОСТа и один вспомогательный, на входе у каждого двухвходовой мультиплексор - получалось 34 такта и 66 МГц на Spartan-2E. На Virtex-II/Spartan-3 переложить пока некогда. 32 такта алгоритм + 1 такт на загрузку данных (64 бита) и их одновременная выгрузка в другой регистр, откуда их с меньшей частотой перезаписываю в буфер данных.
--------------------
qwerty
|
|
|
|
|
Jun 1 2005, 12:01
|
Участник

Группа: Свой
Сообщений: 43
Регистрация: 1-06-05
Пользователь №: 5 631

|
Реализован ГОСТ 28147-89 простая замена, гаммирование и имитовставка в Altera Cyclone 12. Скорость 8-ка. Занимает чуть больше 1000 логических элементов. При забитости ПЛИС в 96% на частоте 50МГц тянет 90 с копейками Мбит/с.
Также удалось запихнуть хэш-функцию ГОСТ 3411. Места жрет много - 5000 элементов, почти половину Cyclone 12.
|
|
|
|
|
Jun 1 2005, 15:48
|
Участник

Группа: Свой
Сообщений: 43
Регистрация: 1-06-05
Пользователь №: 5 631

|
Цитата(makc @ Jun 1 2005, 16:21) Цитата(scheme_ru @ Jun 1 2005, 15:01) Также удалось запихнуть хэш-функцию ГОСТ 3411. Места жрет много - 5000 элементов, почти половину Cyclone 12. Можно узнать получившуюся скорость хэширования? Удельная скорость хэширования зависит от длины сообщения. Если Вы в курсе, как работает алгоритм, то там все строится на функции перемешивания, которая помимо диких сдвигов и xor'ов использует в своей основе 4 операции ГОСТ 28147 простой замены. Так вот, при использовании двух блоков ГОСТ 28147 параллельно (можно бы и 4 штуки - было бы быстрее, да место пожалел), вычисление одной функции перемешивания у меня занимает 78 тактов на одно 256-разрядное слово сообщения. По алгоритму для всех 256-разрядных слов сообщения функция перемешивания вычисляется однократно, для последнего 256-разрядного слова сообщения функция вычисляется трижды. Значит, скорость хэширования получается от (256/78) = 3.28 бита за такт для сообщения очень большой длины до (256/(78*3)) = 1.09 бита за такт для сообщения длины <= 256 бит. При частоте 50 МГц получается от 55 Мбит/с до 165 Мбит/с.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|