Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Bootloader + шифрование
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
SZ0
Написал простейший загрузчик для ATmega2560. Теперь хочется прикрутить к нему шифрование. Встал вопрос, а как при этом передаётся прошивка? В простом загрузчике кидаю команды, адреса страниц, кол-во байт данных и данные. Понятно что данные надо шифровать. А как быть с остальными параметрами? Команды, адреса и прочее? Где бы по подробнее про это почитать для начинающих в этом деле? 07.gif Что и как передавать в bootloader при использовании шифрования.
rezident
AVR231: AES Bootloader
Метценгерштейн
какой криптоалгоритм думаете использовать?
SZ0
Цитата(Метценгерштейн @ May 31 2010, 03:15) *
какой криптоалгоритм думаете использовать?


Сейчас пока XTEA-2 прикручиваю.
Метценгерштейн
а на базе какого бутлоадера? А где этот XTEA-2 взяли? сами описали или готовый код вставляете? Вообще, интересно что получится.
Nixon
Посмотрите еще в сторону варианта TEA - RTEA. Успользую давно и успешно. Очень компактный и быстрый вариант.
Метценгерштейн
ну а как у неё по криптостойкости? Больно уж маленький код совсем там.
Правильно смотреть в сторону ГОСТа
SZ0
Цитата(Метценгерштейн @ Jun 1 2010, 16:12) *
а на базе какого бутлоадера?


Упростил и переделал под Атмега2560 найденный где-то на просторах сети бут. Написал простенькую оболочку для компа для передачи прошивки. Теперь прикручиваю шифрование.

XTEA http://ru.wikipedia.org/wiki/XTEA
MrYuran
Цитата(Nixon @ Jun 1 2010, 14:56) *
Очень компактный и быстрый вариант.

Что-то уж больно подозрительно просто...
Хотя, лучше, чем ничего...
AES конечно тасует основательней
Метценгерштейн
Цитата(SZ0 @ Jun 1 2010, 15:09) *
Упростил и переделал под Атмега2560 найденный где-то на просторах сети бут. Написал простенькую оболочку для компа для передачи прошивки. Теперь прикручиваю шифрование.

можно будет потом заценить творчество? Если интересно, есть исходники написанные мной под ГОСТ, можно было бы прицепить попробовать.
SZ0
Цитата(Метценгерштейн @ Jun 1 2010, 17:17) *
можно будет потом заценить творчество?


Если непричёсанное blush.gif то возможно в ближайшее время. Изначально бут под 2560 на асме написал. Сейчас на С буду переводить, т.к. операции с расшифровыванием писать на асме... blink.gif

Цитата(Метценгерштейн @ Jun 1 2010, 17:17) *
Если интересно, есть исходники написанные мной под ГОСТ, можно было бы прицепить попробовать.


Конечно интересно rolleyes.gif Если ГОСТ, то по ГОСТу там есть backdoor? cool.gif
Метценгерштейн
бэкдора у ГОСТа нет. Это правильный криптоалгоритм. Уважаемые криптоаналитики типа Брюс Шнаера очень хорошо онем отзываются.
Интересно причесанные исходники )) и под разные процы. А чего не использовать сразу готовый AVR231?
Nixon
Многие современные криптоалгоритмы построены на сетях Фейстеля. RTEA, как и все семейство TEA в их числе. Насколько я знаю не существует способа взлома данных алгоритмов. Да, есть варианты, для которых есть "слабые" ключи, уменьшающие время взлома в несколько раз, но для меня это не существенно. Кроме того, что в DES, что в ГОСТ есть интересные таблицы замен. Кто-то может быть уверен как эти таблицы были получены?

P.S. Вот маленькая таблица сравнения "устойчивости" различных алгоритмов. http://defectoscopy.com/results.html

P.S.S. Не знаю как в России, но на Украине мы совершаем уголовно наказуемое преступление, используя методы шифрования своих прошивок и т.д.
MrYuran
Цитата(Nixon @ Jun 1 2010, 15:56) *
P.S.S. Не знаю как в России, но на Украине мы совершаем уголовно наказуемое преступление, используя методы шифрования своих прошивок и т.д.

Насчёт уголовного не знаю, но на эфовском семинаре краем уха слышал, что военные очень шифрование не одобряют
Метценгерштейн
Цитата(Nixon @ Jun 1 2010, 15:56) *
Многие современные криптоалгоритмы построены на сетях Фейстеля.


сети Файстеля...
сейчас вернемся мы к этому моменту.

Законно или нет, использовать или нет, но есть в открытом доступе AVR231, он работает. Так что никто тут ничего нового и более крутого чем AES в AVR231 не изобретает. Пошла уже теория и рассуждения.

Теперь о Файстеле. Мне в Ваших исходниках бросилась в глаза одна принципиальная вещь.

По Вашему мнению, как Вы понимаете, что такое сеть Файстеля? Понятно, что это принцип (метод) по которому шифруется. А глубже копнуть?
SZ0
Цитата(Метценгерштейн @ Jun 1 2010, 17:55) *
А чего не использовать сразу готовый AVR231?


Решил начать с вещей попроще smile3046.gif

Цитата(Nixon @ Jun 1 2010, 17:56) *
на Украине мы совершаем уголовно наказуемое преступление, используя методы шифрования своих прошивок и т.д.


А можно ссылку по данной теме.
Метценгерштейн
Цитата(SZ0 @ Jun 1 2010, 16:29) *
Решил начать с вещей попроще smile3046.gif


http://electronix.ru/forum/index.php?showtopic=76484
если идти четко по шагам- проще некуда.
Но творчество все- равно интересно. И под многие процы
SZ0
Цитата(Метценгерштейн @ Jun 1 2010, 18:31) *
если идти четко по шагам- проще некуда.


Ага, читал уже. Спасибо за описание.
Nixon
Цитата(SZ0 @ Jun 1 2010, 15:29) *
Решил начать с вещей попроще smile3046.gif

А можно ссылку по данной теме.

http://e-commerce.com.ua/2009/09/криптогра...-правовые-осно/
MrYuran
У нас, оказывается, тоже
нечто подобное имеется...
SZ0
Зашифровал данные XTEA-2. Если на входе периодически повторяющиеся данные, то на выходе также видем повторяющиеся блоки данных. Это так у всех блочных алгоритмов шифрования? Как этого избежать?
Метценгерштейн
так у всех блочных шифров- это режим ECB.
но, ещё есть режим гаммирование- он как раз для того, чтобы избежать того, что не нравится.
Nixon
Конечно у всех. Не хотите совпадений - используйте что-то вроде CBC режима или поточные алгоритмы.
Метценгерштейн
гаммирование- это и есть ПСПоследовательность. Она делается из режима ECB.
тут два варианта
1. самому сделать из ECB XTEA ПСП. Это просто, но не будет стандартом и не будет исследовано на криптостойкость.

2. Использовать правильное, документированное решение, такое как у ГОСТ. (один из вариантов)

NIXON, в приведенной Вами ссылке по криптостойкости не понятно как проводили вскрытие алгоритмов. Я поверю, что ГОСТ слаб только тогда, когда мне приведут реальные факты. Например, я даю миллион гамм подряд, мне говорят, какая у меня будет следующая. Иначе- все слова одни.

Вы не сказали про Файстеля.
Nixon
Э-э, а что я вам должен был сказать?
Я не являюсь специалистом в области криптографии и склонен доверять сведущим в ней людям. Даже людям из "интернета". По поводу сетей Фейстеля я тоже мало чего могу сказать - я прикладник в этом применении, мне достаточно знать что они работают smile.gif
При поиске криптоалгоритма тоже поначалу остановился на ГОСТ, но затем начал искать другие варианты из-за его скорости и размера кода. RTEA понравился. Исходя из моих требований (я не защищаю очень дорогую информацию) его криптостойкости мне достаточно. Особенно в микроконтроллерном применении.


По поводу повторяющихся последовательностей - изобретать ничего не надо, воспользуйтесь реализацией CBC у DES. Он вообще у всех блочных алгоритмов может быть одинаковым.
Метценгерштейн
Просто хотел указать на явную вещь.
Сеть Файстеля- это не только хитрый метод перетасовки данных. Если этим методом перетасовать данные, получается, что они изменяют свой начальный вид. Но вся фишка в том, что расшифровать можно данные не обратными шагами от противного, а зашифровать зашифрованное ещё раз. И тогда оно расшифровывается. Это как- то не явно везде пишут.
Я не эксперт по криптографии, мне было интересно разбраться в ГОСТе. Я разобрался досконально в нем. Если интересно, готов простым языком все объяснить.
mohny
Прежде чем выбираться алгоритм стоит подумать от кого защищаемся и принять во внимание, что хорошая идея реализованная кривыми руками уйдет в треш
defunct
Цитата(Nixon @ Jun 1 2010, 13:56) *
P.S. Вот маленькая таблица сравнения "устойчивости" различных алгоритмов. http://defectoscopy.com/results.html

Для каких ip доступна ссылка? для "ua" - закрыта
редактор
немного ОФФТОП, но раз уж здесь озвучено
Цитата
У нас, оказывается, тоже
нечто подобное имеется...

по ссылке читаем до конца и радуемся (пока не прикрыли)
Цитата
Постановление Правительства РФ от 16 апреля 2012 г. №313 «Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, выполнению работ, оказанию услуг в области шифрования информации, техническому обслуживанию шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств (за исключением случая, если техническое обслуживание шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств, осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя)»

wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.