Перейти к содержанию
    

пара вопросов по ПЛИС и шифрованию

День добрый

а проконсультируйте меня пожалуйста

нам очень нужно, что бы ПЛИС считала ГОСТовые подписи, хеш и шифрование, на очень высоких скоростях

"очень высокие скорости" - в случае шифрования, это от 4 гигабит/с

а в случае хеш и подписей - от 10ти подписей в секунду.

собственно, у меня вопросы:

1. это на плис реализуемо? какая плис потянет по производительности?

2. если да, то с перспективой упаковки этого в HardCopy или eASIC

3. собственно, ищем человека(ов) в команду, способных это сделать за вменяемый срок

4. и да, собственно, как это по срокам?

спасибо

/p/s наверно место этому топику в "системы на плис", перенесите плз если не подходит сюда

=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

День добрый

а проконсультируйте меня пожалуйста

нам очень нужно, что бы ПЛИС считала ГОСТовые подписи, хеш и шифрование, на очень высоких скоростях

"очень высокие скорости" - в случае шифрования, это от 4 гигабит/с

а в случае хеш и подписей - от 10ти подписей в секунду.

собственно, у меня вопросы:

1. это на плис реализуемо? какая плис потянет по производительности?

2. если да, то с перспективой упаковки этого в HardCopy или eASIC

3. собственно, ищем человека(ов) в команду, способных это сделать за вменяемый срок

4. и да, собственно, как это по срокам?

спасибо

/p/s наверно место этому топику в "системы на плис", перенесите плз если не подходит сюда

=)

1. Да

2. Да

3. "дорого, быстро, дешево" - выберите любые два пункта

4. от полугода.

 

UPD. ошибся в формуле, вместо "дорого, быстро, дешево" - надо "дорого, быстро,качественно" %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3. "дорого, быстро, дешево" - выберите любые два пункта

качественно + не очень дорого и не очень долго.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

качественно + не очень дорого и не очень долго.

это фантастика %)

 

ЗЫ. на форуме выкладывались сорцы госта, найдите хорошего плисовода (автора выложенных сорцов ;)), знакомого с криптографией, на основе этих сорцов сделает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это фантастика %)

 

ЗЫ. на форуме выкладывались сорцы госта, найдите хорошего плисовода (автора выложенных сорцов ;)), знакомого с криптографией, на основе этих сорцов сделает :)

 

Разве выкладывались?

 

Помню этой зимой-весной, я создавал темку про шифрование ГОСТ-ом и даже собирался выложить сырцы, но не помню выкладывал или нет.

 

katarsis

В принципе могу покопаться и выложить сырцы по ГОСТ, но там следующие ограничения:

1). нет имитовставки (добавить не сложно);

2). выполняется за 64 такта.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разве выкладывались?

если мне память не изменяет вроде RedCat (вроде такой ник) выкладывал, я их даже ковырял немного .

 

2). выполняется за 64 такта.

пусть будет 64 такта по одному биту на 100МГц, итого 1,56 мегабита на блок, для 100 мегабит нужно будет 64 блока, для 1 гигабита 640 %)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если мне память не изменяет вроде RedCat (вроде такой ник) выкладывал, я их даже ковырял немного .

 

Стало быть я их не нашел, хотя может и не искал, т.к. к моменту своего топика сваять успел.

 

Там блоки по 64 бита используются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Один многотактовый модуль шифрования может обрабатывать блок 64 бита за 32 такта.

Если использовать spartan 6, и не использовать конвейеризацию, тактовая частота будет около 100Мгц, ресурсы на один модуль - 32/4 слайсов для сложения, 32/4 - для перекодирования, 32/4 для хранения подключей и 32/4 для XOR, и ещё десяток слайсов для управления.

Для 4 гигабит/с надо 20 модулей, соответственно 160 слайсов для сложения и столько же для распределённой памяти(если мы хотим загружаемые S-блоки). И ещё непонятно сколько для управления протоколами.

При вычислении хеша можно параллельно задействовать 4 модуля шифрования, таким образом максимальная скорость в одном потоке будет порядка 0.8 Гб/с. Лучше поставить 32 модуля по схеме "4 параллельно, 8 последовательно" для оптимизации записи и хранения подключей.

Для имитовставки параллельное шифрование невозможно, зато раундов 16, поэтому будет 0.4 Гб/с на поток.

 

Для проверки/генерации подписей можно использовать комбинацию Microblaze и специального сопроцессора для операций с длинными целыми по модулю.

С двумя 32-битными сумматорами сопроцессор будет выполнять перемножение по модулю(если в лоб) 256 битных чисел за

256*(256/32)*2 == 4096 тактов. При частоте 100МГц - 24414 умножений в секунду. Если на одну подпись нужно порядка 50 умножений, то имеем 500 подписей в секунду. Ещё требуется инверсия, она должна быть примерно в 5 раз медленнее умножения, зато только одна на подпись. Всё это должно влезать в XC6SXL16.

 

Хеширование 4 Гб/с на один поток, видимо, не получится даже с HardCopy, только на ASIC.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И очевидный вопрос - а сделать это вы не хотите? :rolleyes:

Хочу, но занят сейчас другим проектом, так что не получится. Ради интереса по-быстрому запрограммировал data path для шифрования ГОСТ. Оказалось, что Spartan 6 можно разогнать до 280-300МГц, так что мои предыдущие выкладки можно умножить на три. А топовые FPGA дадут порядка 500МГц, так что можно вплотную приблизиться к скорости хеширования 4Гб/с на поток.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...