|
Шифрование прошивки, кто что использует |
|
|
|
 |
Ответов
|
Aug 19 2011, 09:29
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(AlexandrY @ Aug 19 2011, 11:48)  Но для сжатия хотя бы в два раза бинарной прошивки объемом в пару сотен килобайт LZ подобным алгоритмом нужно минимум 64 Кб RAM. А для распаковки? Вообще, не в ту сторону тему увели. Лучшие архиваторы, используя мощь многоголовых гигагерцев и мегабайтов, пакуют среднестатистический ехе-шник примерно вдвое. Естественно, мелкоконтроллерам до этого как до луны. Ну и стоит ли геморрой свеч? Разве что как дополнительная степень защиты. Так для этого можно и попроще алгоритм применить. Вот в ПЛИСах другое дело. Там часто встречаются длинные последовательности нулей и единиц, и даже простейшие методы позволяют существенно пожать прошивку. 2ТС: ознакомьтесь для начала с атмеловскими аппликациями
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Aug 19 2011, 10:41
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (MrYuran @ Aug 19 2011, 12:29)  Естественно, мелкоконтроллерам до этого как до луны. Да. QUOTE Ну и стоит ли геморрой свеч? Нет. QUOTE Разве что как дополнительная степень защиты. Так для этого можно и попроще алгоритм применить. Да QUOTE Вот в ПЛИСах другое дело. Там часто встречаются длинные последовательности н улей и единиц, и даже простейшие методы позволяют существенно пожать прошивку. Ну а поскольку у меня в прошивках контроллера встречается, как правило, прошивка FPGA, то пред шифровкой использую простейшее RLE подобное сжатие. QUOTE 2ТС: ознакомьтесь для начала с атмеловскими аппликациямиКода-то от него и отталкивался. Только там есть - как минимум одна ошибка при обработке нештатых ситуаций(забыл какая конкретно, поскольку сразу все начал переписывать); - все писано небрежно, а AES уж слишком в лоб  . AES подлежит оптимизации (однажды на форуме была стихийно возникшая тема в которой выкладывал эти исходники хоть как-то оптимизипрванные под AVR). Но в общем как отправная точка, или просто почитать документацию - годится. У меня к тому формату добавлено несколько команд, выходной файл сделан hex-образным.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 22 2011, 11:03
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (toweroff @ Aug 22 2011, 13:10)  можно посмотреть? полазил поиском AES* - пересмотрел несколько страниц, не нашел хотя, конечно, более интересуют реализации, заточенные под 32-бит архитектуру Да, там действительно была какая-то стихийно возникшая тема по оптимизации загрузчика, где на этом атмеловском исходнике тренировались. А этот атмеловский исходник живущий у меня под ARM, с оптимизацией, но помнится, без какой-то особой оптимизации конкретно под ARM - в приложении. Хотя, возможно, это не последний вариант - то, что сейчас нашлось на одном из компьютеров. memcpy_z(). замените на memcpy(). bint для ARM это int. Для AVR bint это unsigned char. Все остальное без изменений.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 22 2011, 11:10
|

Гуру
     
Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514

|
Цитата(zltigo @ Aug 22 2011, 15:03)  Да, там действительно была какая-то стихийно возникшая тема по оптимизации загрузчика, где на этом атмеловском исходнике тренировались. А этот атмеловский исходник живущий у меня под ARM, с оптимизацией, но помнится, без какой-то особой оптимизации конкретно под ARM - в приложении. Хотя, возможно, это не последний вариант - то, что сейчас нашлось на одном из компьютеров. memcpy_z(). замените на memcpy(). bint для ARM это int. Для AVR bint это unsigned char. Все остальное без изменений. то есть, вся адаптация под ARM того самого AVR231 сводится только к замене функции memcpy_z() ?
|
|
|
|
Сообщений в этой теме
toweroff Шифрование прошивки Aug 18 2011, 19:14 ILYAUL Цитата(toweroff @ Aug 18 2011, 23:14) Доб... Aug 18 2011, 19:36 toweroff Цитата(ILYAUL @ Aug 18 2011, 23:36) А как... Aug 18 2011, 19:54  AlexandrY Цитата(toweroff @ Aug 18 2011, 22:54) нав... Aug 19 2011, 06:22 yashok Я шифрую по алгоритму Triple DES (3DES). При залив... Aug 19 2011, 05:21  Tanya Цитата(AlexandrY @ Aug 19 2011, 11:48) Но... Aug 19 2011, 07:56   AlexandrY Цитата(Tanya @ Aug 19 2011, 10:56) А куск... Aug 19 2011, 08:15    =AK= Цитата(AlexandrY @ Aug 19 2011, 17:45) RC... Aug 19 2011, 08:23     AlexandrY Цитата(=AK= @ Aug 19 2011, 11:23) Мне это... Aug 19 2011, 08:35    Tanya Цитата(AlexandrY @ Aug 19 2011, 12:15) Ну... Aug 19 2011, 08:37     AlexandrY Цитата(Tanya @ Aug 19 2011, 11:37) Мне во... Aug 19 2011, 08:58      Tanya Цитата(AlexandrY @ Aug 19 2011, 12:58) В ... Aug 19 2011, 09:09     Harbinger Цитата(Tanya @ Aug 19 2011, 11:37) Мне во... Aug 20 2011, 04:02     =AK= Цитата(toweroff @ Aug 22 2011, 19:40) бол... Aug 22 2011, 10:38         zltigo QUOTE (toweroff @ Aug 22 2011, 14:31) ито... Aug 22 2011, 11:36          toweroff Цитата(zltigo @ Aug 22 2011, 15:36) Я тер... Aug 22 2011, 11:45           zltigo QUOTE (toweroff @ Aug 22 2011, 14:45) упс... Aug 22 2011, 12:08            toweroff Цитата(zltigo @ Aug 22 2011, 16:08)
тогд... Aug 22 2011, 12:14             zltigo QUOTE (toweroff @ Aug 22 2011, 15:14) Пер... Aug 22 2011, 12:33              toweroff Цитата(zltigo @ Aug 22 2011, 16:33) Да. о... Aug 25 2011, 20:34   AlexandrY Цитата(MrYuran @ Aug 19 2011, 12:29) Вооб... Aug 19 2011, 11:35 =AK= Цитата(toweroff @ Aug 19 2011, 16:55) хва... Aug 19 2011, 08:13 toweroff Спасибо всем за каменты
То есть, я так понимаю,
1... Aug 19 2011, 22:12 =AK= Цитата(toweroff @ Aug 20 2011, 07:42) 1. ... Aug 20 2011, 01:13 andrewlekar Вообще самое правильное для удаленной прошивки - п... Aug 22 2011, 05:39 cpl Цитата(andrewlekar @ Aug 22 2011, 09:39) ... Aug 22 2011, 06:11 Rst7 QUOTE Есть алгоритм UCL который как утверждается н... Aug 22 2011, 10:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|