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

Алгоритм шифрования для AVR

Посоветуйте алгоритм шифрования, который можно было бы применить в бутлоадере АВР.

Размер boot-области желательно сделать поменьше - 1 кБ максимум.

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


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

Посоветуйте алгоритм шифрования, который можно было бы применить в бутлоадере АВР.

Размер boot-области желательно сделать поменьше - 1 кБ максимум.

 

А цель ?

 

где ключ хранить будете ? в самом бутлодере ? это как сейф хранить с замком

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


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

А цель ?

?

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

 

где ключ хранить будете ? в самом бутлодере ? это как сейф хранить с замком

Например в самом бутлодере.

Или во внутренней EEPROM.

 

это как сейф хранить с замком

?

Непонял, поясните. Я разве что-то странное изобретаю?

 

 

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


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

?

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

 

 

Например в самом бутлодере.

Или во внутренней EEPROM.

 

 

?

Непонял, поясните. Я разве что-то странное изобретаю?

 

сори , с ключем

 

гляньте тут

Изменено пользователем follow_me

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


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

сори , с ключем

 

гляньте тут

 

Спасибо. Интересная ссылка.

 

Что-то все алгоритмы здоровые по коду, можно будет сравнить что IAR накомпилирует (думаю - меньше).

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


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

Посоветуйте алгоритм шифрования, который можно было бы применить в бутлоадере АВР.

Размер boot-области желательно сделать поменьше - 1 кБ максимум.

Посмотри Атмеловские апноты:

AVR231: AES Bootloader on tinyAVR and megaAVR devices и

AVR230: DES Bootloader on tinyAVR and megaAVR devices

Отпишись, нашел ли что-то, чтобы влезть в 1K.

 

Мы юзаем DES-бутлоадер: Занимает почти 4KБайт. 128 байт расшифровывает за 0.5 сек при частоте 16МГц.

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


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

Посмотри Атмеловские апноты:

AVR231: AES Bootloader on tinyAVR and megaAVR devices и

AVR230: DES Bootloader on tinyAVR and megaAVR devices

 

Знаю про них, оттого и спрашиваю. Нет столько ресурсов.

 

Отпишись, нашел ли что-то, чтобы влезть в 1K.

Добавлю обязательно, если будет что-то новое. Смотрите по ссылке от follow_me.

 

чтобы влезть в 1K.

В 1к - это bootloader+передача данных+шифрование?

Или речь только про алгоритм шифрования?

 

Да, есть. Но... много занимает (в числах могу ошибаться):

~700 байт расшифровать или зашифровать, ключ - 256 бит

~1200 байт расшифровать и зашифровать - много.

Компилятор: IAR.

Оптимизация: максимальная (наверное по размеру).

Алгоритм: один из TEA (чистый Си, вики-copy-past).

Скорость: ?. не впомню сейчас, думаю несколько кБ/с на 11.0592 МГц.

 

 

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


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

ИМХО самый лёгкий во всех смыслах - это RTEA.

 

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


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

Да, есть. Но... много занимает (в числах могу ошибаться):

~700 байт расшифровать или зашифровать, ключ - 256 бит

весь tea128 на asm(avr8) в 338 байт укладывается.

есть где поэкономить для боотлоадера.

только раскодировать уже 276 байт

 

 

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


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

В 1к - это bootloader+передача данных+шифрование?

Или речь только про алгоритм шифрования?

Конечно, все вместе. Вам же надо, чтобы все вместе влезло в 1К ? Или нет?

Всё вместе? Передача-приём-проверка данных?

Процессор - xmegа?

Да. Все вместе. ATmega128.

 

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


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

ИМХО самый лёгкий во всех смыслах - это RTEA.

А как у него с надёжностью?

 

весь tea128 на asm(avr8) в 338 байт укладывается.

есть где поэкономить для боотлоадера.

только раскодировать уже 276 байт

А есть готовый реализации?

 

Конечно, все вместе. Вам же надо, чтобы все вместе влезло в 1К ? Или нет?

Да, нужно чтобы всё в 1кБ.

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


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

А как у него с надёжностью?
Достаточная для задач такого рода.

 

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


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

Достаточная для задач такого рода.

А какой критерий достаточности?

 

 

Я хотел узнать с чем по стойкости его можно сопоставить.

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


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

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

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

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

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

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

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

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

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

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