реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Криптография на ПЛИС, Реализация на Xilinx, Altera
BSV
сообщение May 1 2005, 18:22
Сообщение #1


Знающий
****

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



Приходилось ли кому реализовывать ГОСТ 28147-89 (простая замена, гаммирование с обратной связью) и RC4 на Xilinx или Altera? Какое получалось быстродействие?


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
makc
сообщение May 1 2005, 18:39
Сообщение #2


Гуру
******

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



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


Насчет RC4 ничего не скажу, а вот ГОСТ - было дело. Простую замену делал, если мне не изменяет память, за 35 тактов на блок при тактовой частоте около 66 МГц для Spartan-2.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Maksim
сообщение May 1 2005, 21:06
Сообщение #3


Частый гость
**

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



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

ГОСТ 28147-89 гаммирование с обратной связью 33 такта (110 МГЦ Spartan-3) smile.gif


--------------------
qwerty
Go to the top of the page
 
+Quote Post
admin
сообщение May 3 2005, 10:49
Сообщение #4


Администратор форума
******

Группа: Администраторы
Сообщений: 3 118
Регистрация: 11-05-04
Пользователь №: 2



тоже самое на Altera реализовывал в полностью синхронной схеме.
1 такт - скорость под 10 МГц была вроде.
Go to the top of the page
 
+Quote Post
BSV
сообщение May 4 2005, 18:22
Сообщение #5


Знающий
****

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



Цитата(udofun @ May 3 2005, 13:49)
тоже самое на Altera реализовывал в полностью синхронной схеме.
1 такт - скорость под 10 МГц была вроде.
*


А что есть полностью синхронная схема? Поправьте меня, если я ошибаюсь, предполагая, что это конвейер из 32 циклов ГОСТа. Но тогда не получится в чистом виде реализовать гаммирование с обратной связью, а вот простую замену - пожалуйста. Уточните пожалуйста на каком кристалле это хозяйство реализовывалось.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
BSV
сообщение May 4 2005, 18:39
Сообщение #6


Знающий
****

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



Цитата(Maksim @ May 2 2005, 00:06)
ГОСТ 28147-89 гаммирование с обратной связью 33 такта (110 МГЦ Spartan-3)  smile.gif


А как в 33 такта уложились? Я использовал 3 регистра - два из ГОСТа и один вспомогательный, на входе у каждого двухвходовой мультиплексор - получалось 34 такта и 66 МГц на Spartan-2E. На Virtex-II/Spartan-3 переложить пока некогда.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
BSV
сообщение May 4 2005, 18:46
Сообщение #7


Знающий
****

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



Цитата(makc @ May 1 2005, 21:39)
Насчет RC4 ничего не скажу, а вот ГОСТ - было дело. Простую замену делал, если мне не изменяет память, за 35 тактов на блок при тактовой частоте около 66 МГц для Spartan-2.


А вот простую замену по моему разумению можно и в 32 такта утоптать. Впрочем, нет, все-таки в 33.

Вопрос ко всем участникам обсуждения - а сколько ключей и подстановок одновременно можно было использовать в Ваших решениях?


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
makc
сообщение May 4 2005, 19:18
Сообщение #8


Гуру
******

Группа: Админы
Сообщений: 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
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Maksim
сообщение May 5 2005, 13:09
Сообщение #9


Частый гость
**

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



Цитата(BSV @ May 4 2005, 21:39)
Цитата(Maksim @ May 2 2005, 00:06)
ГОСТ 28147-89 гаммирование с обратной связью 33 такта (110 МГЦ Spartan-3)  smile.gif


А как в 33 такта уложились? Я использовал 3 регистра - два из ГОСТа и один вспомогательный, на входе у каждого двухвходовой мультиплексор - получалось 34 такта и 66 МГц на Spartan-2E. На Virtex-II/Spartan-3 переложить пока некогда.
*


32 такта алгоритм + 1 такт на загрузку данных (64 бита) и их одновременная выгрузка в другой регистр, откуда их с меньшей частотой перезаписываю в буфер данных.


--------------------
qwerty
Go to the top of the page
 
+Quote Post
admin
сообщение May 5 2005, 13:38
Сообщение #10


Администратор форума
******

Группа: Администраторы
Сообщений: 3 118
Регистрация: 11-05-04
Пользователь №: 2



2 BSV
Это было EP20K200 под завязку.
Go to the top of the page
 
+Quote Post
BSV
сообщение May 5 2005, 19:28
Сообщение #11


Знающий
****

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



2 udofun

Так, все-таки, что имелось ввиду под "синхронной схемой"? И режим какой ПЗ или ГОС?

Попытаюсь объяснить к чему вопросы. Я работаю (пока) только с Xilinx - есть некоторый опыт реализации криптоалгоритмов. Хотелось бы выянить, насколько Altera или что-то еще пригодно для данного вида приложений.

Немного посчитаем. В Вашем проекте 10МГц * 8 байт ~ 78МБайт/c. Очень хорошая производительность - мои 66 МГц и 34 такта отдыхают (~15МБайт/с). Но место!!! В моем проекте в XC2S300E таких ядер живет три штуки и еще место остается.
Так возможно ли какое-то компромиссное решение на Altera, например?


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
scheme_ru
сообщение Jun 1 2005, 12:01
Сообщение #12


Участник
*

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



Реализован ГОСТ 28147-89 простая замена, гаммирование и имитовставка в Altera Cyclone 12. Скорость 8-ка. Занимает чуть больше 1000 логических элементов. При забитости ПЛИС в 96% на частоте 50МГц тянет 90 с копейками Мбит/с.

Также удалось запихнуть хэш-функцию ГОСТ 3411. Места жрет много - 5000 элементов, почти половину Cyclone 12.
Go to the top of the page
 
+Quote Post
makc
сообщение Jun 1 2005, 13:21
Сообщение #13


Гуру
******

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



Цитата(scheme_ru @ Jun 1 2005, 15:01)
Также удалось запихнуть хэш-функцию ГОСТ 3411. Места жрет много - 5000 элементов, почти половину Cyclone 12.
*


Можно узнать получившуюся скорость хэширования?


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
scheme_ru
сообщение Jun 1 2005, 15:48
Сообщение #14


Участник
*

Группа: Свой
Сообщений: 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 Мбит/с.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 09:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016