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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Массивный брутфорс на FPGA, Криптография
drop669
сообщение May 9 2008, 07:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Настало время и мне сделать брутфорсер на FPGA.
В общем, девайс который бы перебирал все доступные ключи, подавал их на вход некоего крипто-алгоритма (в моем случае алгоритм это DES в режиме CBC + еще кое-что специфическое), сверял результат с эталонным, и если не сошелся, шел дальше.
Всё параллельно, блоков, которые проверяют свой ключ может быть много, вплоть до 100 и больше, сколько влезет в чип или в несколько чипов сразу.
То есть, чем больше блоков, тем больше ключей мы можем проверить за еденицу времени. Тут всё понятно.
Наступил вопрос, как это всё сделать наиболее дешево. Выяснилось, что по соотношению цена-скорость лучше всего Altera Cyclone или Xilinx Spartan.
При этом, в случае с Циклонами, наиболее оптимальны чипы EP3C40 и EP3C25, а остальные "выбиваются" из фен-шуя.
Например вот эти люди сделали на 120-и чипах Спартан:
http://www.copacobana.org/faq.html
... потому что подсчитали, что так будет дешевле всего.
Теперь, собственно, вопросы.
1. Зачем тогда вообще нужны high-end чипы вроде Stratix/Virtex? Только для тех дизайнов где нужно много ног или где дизайн нельзя "размазать" по нескольким чипам?
2. Тираж моих девайсов будет крайне небольшим, аж несколько штук, может 5 или 10.
Во сколько может оказаться заказ плат таким количеством, если туда нужно будет установить штук 8 Циклонов, DDR, флеш-память, MAX2 или EPCS для загрузки, DC-DC конвертор, прочая мелочь вроде USB-разьемов и пары светодиодов?
Правильно ли я думаю, что проще найти где-то готовые платы с нужными мне критериями чем заказывать свои?
Если да, то где их правильно искать?
И не получится ли так, что купить простой dev kit для Stratix II у Altera за килобакс будет дешевле чем городить "городуху" с пачкой Циклонов и заказывать плату для них?
Да, насчет бюджета на всю электронику - не более $1000. Хочется за эти деньги получить возможный максимум.
Извините зараннее если написал что не так.
Go to the top of the page
 
+Quote Post
SIA
сообщение May 9 2008, 08:07
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(drop669 @ May 9 2008, 10:43) *
Да, насчет бюджета на всю электронику - не более $1000. Хочется за эти деньги получить возможный максимум.
Извините зараннее если написал что не так.

Стоимость только разработки многократно выше этой цифры. Обсуждать цену дивайсов при этом бессмысленно. Надо брать готовую плату.
Go to the top of the page
 
+Quote Post
drop669
сообщение May 9 2008, 08:09
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Цитата(SIA @ May 9 2008, 11:07) *
Стоимость только разработки многократно выше этой цифры. Обсуждать цену дивайсов при этом бессмысленно. Надо брать готовую плату.

Допустим. Так что, лучше не морочить голову и сосредоточиться на какой-нибудь готовой плате с Stratix/Virtex или таки задуматься о пачке Cyclone/Spartan?
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение May 9 2008, 09:09
Сообщение #4


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(drop669 @ May 9 2008, 17:09) *
Допустим. Так что, лучше не морочить голову и сосредоточиться на какой-нибудь готовой плате с Stratix/Virtex или таки задуматься о пачке Cyclone/Spartan?

у меня дурацкий вопрос smile.gif
а может сначала помоделировать, посинтезировать под разные кристаллы и семейства
а потому уже определится что лучше и какой кристал и т.д.?


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
drop669
сообщение May 9 2008, 09:36
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Цитата(Postoroniy_V @ May 9 2008, 12:09) *
у меня дурацкий вопрос smile.gif
а может сначала помоделировать, посинтезировать под разные кристаллы и семейства
а потому уже определится что лучше и какой кристал и т.д.?

Уже просинтезировал smile.gif Осталось выбрать оптимальную цену-качество.
Ну вот, например, в EP3C40 можно всунуть X блоков. И стоит она по онлайновому прайсу Альтеры, самая дешевая, $80
А вот есть EP3C80, туда можно всунуть 2*X блоков, грубо говоря. Но по тому же прайсу, самая дешевая, стоит $220. Таким образом, дешевле взять пару EP3C40 за $160 чем одну EP3C80.
Я пытаюсь решить: морочить ли мне голову с этой ценовой калькуляцией и дальше, а затем решать, искать ли готовую борду с пачкой Циклонов или заказать свою борду где-то. Или лучше и проще для головной боли забить на это и заюзать один Stratix II.
Кстати у Stratix II соотношение цена-скорость в контексте моей задачки еще хуже.
Go to the top of the page
 
+Quote Post
sazh
сообщение May 9 2008, 10:09
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(drop669 @ May 9 2008, 13:36) *
Уже просинтезировал smile.gif Осталось выбрать оптимальную цену-качество.
Ну вот, например, в EP3C40 можно всунуть X блоков. И стоит она по онлайновому прайсу Альтеры, самая дешевая, $80
А вот есть EP3C80, туда можно всунуть 2*X блоков, грубо говоря. Но по тому же прайсу, самая дешевая, стоит $220. Таким образом, дешевле взять пару EP3C40 за $160 чем одну EP3C80.
Я пытаюсь решить: морочить ли мне голову с этой ценовой калькуляцией и дальше, а затем решать, искать ли готовую борду с пачкой Циклонов или заказать свою борду где-то. Или лучше и проще для головной боли забить на это и заюзать один Stratix II.
Кстати у Stratix II соотношение цена-скорость в контексте моей задачки еще хуже.


Критерий простой - все в одном кристалле. Вы же что то про DDR еще говорили. Протоколы обмена, возможность обменав по различным интерфейсам, наличие контактов ввода вывода по различные уровни сигналов, встроенное pll - циклоны не катят.
Если можно купить, дешевле купить, человеки часы при таких объемах все перевесят.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 9 2008, 10:54
Сообщение #7


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Безусловно самомому сделать будет дешевле.
В 1000$ железо легко умещается.
Работу не считаем, хорошее дело можно и в кредит сделать biggrin.gif
На самом деле архитектура здесь примитивная до безобразия.

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


Цитата(drop669 @ May 9 2008, 11:13) *
Настало время и мне сделать брутфорсер на FPGA.
В общем, девайс который бы перебирал все доступные ключи, подавал их на вход некоего крипто-алгоритма (в моем случае алгоритм это DES в режиме CBC + еще кое-что специфическое), сверял результат с эталонным, и если не сошелся, шел дальше.
Всё параллельно, блоков, которые проверяют свой ключ может быть много, вплоть до 100 и больше, сколько влезет в чип или в несколько чипов сразу.
То есть, чем больше блоков, тем больше ключей мы можем проверить за еденицу времени. Тут всё понятно.
Наступил вопрос, как это всё сделать наиболее дешево. Выяснилось, что по соотношению цена-скорость лучше всего Altera Cyclone или Xilinx Spartan.
При этом, в случае с Циклонами, наиболее оптимальны чипы EP3C40 и EP3C25, а остальные "выбиваются" из фен-шуя.
Например вот эти люди сделали на 120-и чипах Спартан:
http://www.copacobana.org/faq.html
... потому что подсчитали, что так будет дешевле всего.
Теперь, собственно, вопросы.
1. Зачем тогда вообще нужны high-end чипы вроде Stratix/Virtex? Только для тех дизайнов где нужно много ног или где дизайн нельзя "размазать" по нескольким чипам?
2. Тираж моих девайсов будет крайне небольшим, аж несколько штук, может 5 или 10.
Во сколько может оказаться заказ плат таким количеством, если туда нужно будет установить штук 8 Циклонов, DDR, флеш-память, MAX2 или EPCS для загрузки, DC-DC конвертор, прочая мелочь вроде USB-разьемов и пары светодиодов?
Правильно ли я думаю, что проще найти где-то готовые платы с нужными мне критериями чем заказывать свои?
Если да, то где их правильно искать?
И не получится ли так, что купить простой dev kit для Stratix II у Altera за килобакс будет дешевле чем городить "городуху" с пачкой Циклонов и заказывать плату для них?
Да, насчет бюджета на всю электронику - не более $1000. Хочется за эти деньги получить возможный максимум.
Извините зараннее если написал что не так.
Go to the top of the page
 
+Quote Post
dvladim
сообщение May 9 2008, 17:52
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(drop669 @ May 9 2008, 11:43) *
1. Зачем тогда вообще нужны high-end чипы вроде Stratix/Virtex? Только для тех дизайнов где нужно много ног или где дизайн нельзя "размазать" по нескольким чипам?

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

Цитата(drop669 @ May 9 2008, 13:36) *
Ну вот, например, в EP3C40 можно всунуть X блоков. И стоит она по онлайновому прайсу Альтеры, самая дешевая, $80
А вот есть EP3C80, туда можно всунуть 2*X блоков, грубо говоря.

Надеюсь вы учли стоимость дополнительных блоков. Например памяти.
Вот, к примеру, в вас на плате 4 ПЛИС, а ОЗУ к каждой своя? Или поток как-то шиной передается? Что будет ограничивать частоту устройства?

Цитата(sazh @ May 9 2008, 14:09) *
встроенное pll - циклоны не катят.

Вопрос не по теме, но почему "не катят"?

Цитата(AlexandrY @ May 9 2008, 14:54) *
Безусловно самомому сделать будет дешевле.
В 1000$ железо легко умещается.
Работу не считаем, хорошее дело можно и в кредит сделать biggrin.gif

Не так уж и безусловно.
Опять же память, частота работы с памятью, правильно развести все это хозяйство.
Работу в стоимости надо учитывать. Обязательно. А еще отладку. А еще ...

Кстати, если взлом разовый, то в время взлома надо включить и время разработки.
Go to the top of the page
 
+Quote Post
drop669
сообщение May 9 2008, 18:12
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Цитата(dvladim @ May 9 2008, 20:52) *
Вот, к примеру, в вас на плате 4 ПЛИС, а ОЗУ к каждой своя? Или поток как-то шиной передается? Что будет ограничивать частоту устройства?

ОЗУ нужно только для софтпроцессора, Nios или MicroBlaze.
Да и то не обязательно DDR, и не обязательно большое, может что-то простое, может небольшая SRAM.
Часть флеш-памяти тоже для содержания в себе проги для софтпроца. Другая часть флеш-памяти для бута ПЛИС.
Софтпроцессор нужен для сервисных дел: решить в каких пределах перебирать ключ, "раздавать" каждому блоку свои ключи, ждать пока у какого-то блока сработает бит на выходе компаратора, который сравнивает то что выходит с блока с эталоном, ну и связь с юзером.
Софтпроцессор вообще может быть экономичный и медленный.
Частота устройства ограничивается временем (propagation delay) начиная от регистра содержащего ключ, затем через весь блок, затем до выхода компаратора.

Чтобы не морочить голову, поставлю вопрос так: сколько может стоить в RU или UA разводка платы где будет 6-8 ПЛИС в корпусах PQFP/TQFP от 100 до 200 контактов каждая + разная обвязка вроде памяти и разьемов и сколько будет стоить это всё туда запаять, если учитывать что нужно будет всего 10 или 20 экземпляров?
И сильно ли изменится цена, если корпуса будут FBGA?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 9 2008, 19:06
Сообщение #10


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



На вскидку будет стоить 1500-1600$ по нынешнему курсу.
Сюда войдет трассировка, изготовление PCB, шаблона, пайка. Корпуса чипов значения не имеют.
Может только у TQFP частотные характеристики будут похуже, разогнать будет сложнее.

ИМХО.
Удельно софтпроцессор на FPGA обойдется раза в два дороже и раза в 4-е медленнее
нормального ARM-а с нормальным JTAG отладчиком, эффективной средой разработки и наработанными либами.


Цитата(drop669 @ May 9 2008, 21:42) *
ОЗУ нужно только для софтпроцессора, Nios или MicroBlaze.
Да и то не обязательно DDR, и не обязательно большое, может что-то простое, может небольшая SRAM.
Часть флеш-памяти тоже для содержания в себе проги для софтпроца. Другая часть флеш-памяти для бута ПЛИС.
Софтпроцессор нужен для сервисных дел: решить в каких пределах перебирать ключ, "раздавать" каждому блоку свои ключи, ждать пока у какого-то блока сработает бит на выходе компаратора, который сравнивает то что выходит с блока с эталоном, ну и связь с юзером.
Софтпроцессор вообще может быть экономичный и медленный.
Частота устройства ограничивается временем (propagation delay) начиная от регистра содержащего ключ, затем через весь блок, затем до выхода компаратора.

Чтобы не морочить голову, поставлю вопрос так: сколько может стоить в RU или UA разводка платы где будет 6-8 ПЛИС в корпусах PQFP/TQFP от 100 до 200 контактов каждая + разная обвязка вроде памяти и разьемов и сколько будет стоить это всё туда запаять, если учитывать что нужно будет всего 10 или 20 экземпляров?
И сильно ли изменится цена, если корпуса будут FBGA?
Go to the top of the page
 
+Quote Post
avesat
сообщение May 9 2008, 19:43
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621



Цитата(AlexandrY @ May 9 2008, 22:06) *
...Может только у TQFP частотные характеристики будут похуже, разогнать будет сложнее...


Это вы о чем? Кого и куда гнать? 07.gif


--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
Go to the top of the page
 
+Quote Post
Doka
сообщение May 9 2008, 20:13
Сообщение #12


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(drop669 @ May 9 2008, 11:43) *
Настало время и мне сделать брутфорсер на FPGA.
..
Всё параллельно, блоков, которые проверяют свой ключ может быть много, вплоть до 100 и больше, сколько влезет в чип или в несколько чипов сразу.
..
То есть, чем больше блоков, тем больше ключей мы можем проверить за еденицу времени. Тут всё понятно.
..
Тираж моих девайсов будет крайне небольшим, аж несколько штук, может 5 или 10.
..
Да, насчет бюджета на всю электронику - не более $1000.

не в службу а в дружбу:
я бы сначала всёже сел с калькулятором и прикинул
1. исходя из бюджета число плат и плис (и тип плис)
2. исходя из конкретной плис - утилизацию кристалла и быстродействие (это можно сделать вообще без железа - имея только описанный в терминах синтезируемого hdl алгоритм декриптовки - оценка будет грубой, но позволит прикинуть хотя бы порядок итоговой цифры)
3. время, необходимое вашему конструируемому железу для перебора всех (или части) комбинаций, учитывая вышеприведенные факторы и число тактов, затрачиваемые вашим engine на обработку.

а то может очень даже статься, что с таким бюджетом целесообразность заморачиваться с этим маленькая(((

(в своё время по просьбе занимался оценкой подобной задачи для keeloq - там что-то совсем невесёлое по ресурсам получалось (правда там ключ 64бита + *2 использование ресурсов из-за особенностей метода нахождения ключа - в итоге что-то такое же монстроидальное как copacobana вырисовывалось.. хотя сегодня, учитывая цены на low-cost FPGA, это уже не те деньги, что были тогда.. )
Go to the top of the page
 
+Quote Post
drop669
сообщение May 10 2008, 16:56
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Цитата(AlexandrY @ May 9 2008, 22:06) *
На вскидку будет стоить 1500-1600$ по нынешнему курсу.
Сюда войдет трассировка, изготовление PCB, шаблона, пайка. Корпуса чипов значения не имеют.
Может только у TQFP частотные характеристики будут похуже, разогнать будет сложнее.

А сколько из этих денег - сама разработка, и сколько будет стоить изготовление каждой платы? Если учесть что тираж 10-20?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 10 2008, 19:45
Сообщение #14


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Насколько знаю запросы наших трасировщиков меньше чем 900$ за две недели работы не попросят.
А цену PCB можно посчитать у каких нибудь китайцев.
Например у этих - http://www.pcbcart.com/
Думаю хватит 6-и слойной платы с нормой 0.1 мм и двумя классами межслойных via

Цитата(drop669 @ May 10 2008, 20:26) *
А сколько из этих денег - сама разработка, и сколько будет стоить изготовление каждой платы? Если учесть что тираж 10-20?
Go to the top of the page
 
+Quote Post
drop669
сообщение May 10 2008, 20:08
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-03-08
Из: Kiev, Ukraine
Пользователь №: 35 519



Цитата(AlexandrY @ May 10 2008, 22:45) *
Насколько знаю запросы наших трасировщиков меньше чем 900$ за две недели работы не попросят.
А цену PCB можно посчитать у каких нибудь китайцев.
Например у этих - http://www.pcbcart.com/
Думаю хватит 6-и слойной платы с нормой 0.1 мм и двумя классами межслойных via

Спасибо! Это я и хотел понять.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:36
Рейтинг@Mail.ru


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