|
AES Rijndael, Advanced Encryption Standard |
|
|
|
Jan 22 2008, 08:45
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(west329_ @ Jan 22 2008, 12:00)  Встречал кто-то полные исходники под АВР 8бит платформу.
Все что удалось найти из официальных источников это AVR231: AES Bootloader, но там не полный алгоритм, только часть шифрование,
Также был найден проект под пик "Advanced Encryption Standard Using the PIC" вещь понравилась но всё на асме, как то не хотелось переписывать велосипед.
А в остальном всё для РС и под СРР, если кто-то встречал , прозьба помочь.
С ув. Не знаю где вы смотрели, но AVR231 имеет ПОЛНЫЙ готовый проект с чётким описанием под IAR C. И именно для AVR. Более того он реализован под разные процы. Причём реализован декодер. А шифровальщик реализован тоже, и находится в исходниках для GCC IBM. Есть также в исходниках и прога передающая. Я, к примеру, подправил исходники под себя, переписал саму прогу передачи и получил готовый bootloader для rs485. К слову очень многие пользуют именно эти исходники для написания. Так тут проскакивали сообщения, что по этим исходникам делали bootloader для ARM7. Короче чё то вы не разобрались. Копайте глубже. PS: Да и ещё. Воспользоваться исходниками от PIC на ASM мне почти не разу не удавалось.  Как правило идёт ярко выраженная борьба программиста с кристаллом, оттачивается владение извращениями в программировании ну и борьба с железом в самом кристалле. Выудить из этого алгоритм самого действия - сложное занятие.
|
|
|
|
|
Jan 22 2008, 09:00
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(SasaVitebsk @ Jan 22 2008, 12:45)  Не знаю где вы смотрели, но AVR231 имеет ПОЛНЫЙ готовый проект с чётким описанием под IAR C. И именно для AVR. Более того он реализован под разные процы. Причём реализован декодер. А шифровальщик реализован тоже, и находится в исходниках для GCC IBM. Есть также в исходниках и прога передающая. Я, к примеру, подправил исходники под себя, переписал саму прогу передачи и получил готовый bootloader для rs485. К слову очень многие пользуют именно эти исходники для написания. Так тут проскакивали сообщения, что по этим исходникам делали bootloader для ARM7. Короче чё то вы не разобрались. Копайте глубже. PS: Да и ещё. Воспользоваться исходниками от PIC на ASM мне почти не разу не удавалось.  Как правило идёт ярко выраженная борьба программиста с кристаллом, оттачивается владение извращениями в программировании ну и борьба с железом в самом кристалле. Выудить из этого алгоритм самого действия - сложное занятие.  согдасен полностью с вами, но боюсь не осилю переписать с РС С++ на АВР С, вот поэтому и ищу вторую половинку
|
|
|
|
|
Jan 22 2008, 10:25
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 27-05-05
Из: Rivne, Ukraine
Пользователь №: 5 472

|
Цитата(west329_ @ Jan 22 2008, 13:00)  согдасен полностью с вами, но боюсь не осилю переписать с РС С++ на АВР С, вот поэтому и ищу вторую половинку http://www.imagecraft.com/В разделе ATMEL AVR Compiler Tools AVR231: AES Bootloader This is a port of the Atmel Application Note AVR231: AES Bootloader to ICCAVR. This code contains: - AES Bootloader ported to an ICCAVR v7.xx project - Atmel utility applications ported to Microsoft Visual Studio 2005 solutions
|
|
|
|
|
Jan 22 2008, 16:55
|
Местный
  
Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974

|
на сайте микрочипа есть исходники AN953 вполне рабочие http://www.microchip.com/stellent/idcplg?I...ppnote=en022056тока их нет почему то на сайте  , приложил во вложение Цитата Это как со сжатием. Разжимает шустро, можно на лету делать, а вот сжатие весьма болезненно протекает. это как? Алгоритм симметричный поэтому, должен за одинаковое время кодить/декодить.
|
|
|
|
|
Jan 22 2008, 17:00
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Это как со сжатием. Разжимает шустро, можно на лету делать, а вот сжатие весьма болезненно протекает. Падаждите  Так AES как и DES - симметричные. Так что по ресурсам один хрен. Только вот в бутлоадере там хитрость применена, заранее заготовленные таблицы вместо произвольного ключа, если я правильно понял. Так что более универсальный алгоритм будет малость похуже. Хотя надо внимательно разбираться. К автору топика - если асилите, выложите, пожалуйста, исходники на общее обозрение. В хозяйстве пригодится.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 22 2008, 17:15
|
Местный
  
Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974

|
Цитата заранее заготовленные таблицы это наверно S-блоки
|
|
|
|
|
Jan 22 2008, 17:26
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата это наверно S-блоки А разве они зависят от ключа? Там именно при генерации ключа генерится не ключ, а какие-то таблицы, и записываются в отдельный файл, который инклудится на этапе компиляции лоадера. Вообщем, надо внимательно смотреть. А вообще, всю эту красоту криптографическую имеет смысл под AVR плотнее затачивать. А то она уж очень много места жрет. Я тут с MD5 парился. Вроде чего там - обычный исходник, бери - собирай. Собираться то он собирается, но 6.5килобайт как с куста и немеряно озу. Пришлось пободаться. Сначала - включил кросскол (который у меня выключен обычно) и переписал фронт-энд - стало легче (2.5 килобайта). Потом переписал все - стал 1.7килобайта без кросскола. И расход озу упал на стеки и буфера. Даже, пожалуй, по производительности не проиграл, потому как все равно в регистрах все переменные не помещались.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 23 2008, 05:09
|
Группа: Новичок
Сообщений: 6
Регистрация: 20-06-06
Пользователь №: 18 221

|
Цитата(west329_ @ Jan 22 2008, 12:00)  Встречал кто-то полные исходники под АВР 8бит платформу.
Все что удалось найти из официальных источников это AVR231: AES Bootloader, но там не полный алгоритм, только часть шифрование,
Также был найден проект под пик "Advanced Encryption Standard Using the PIC" вещь понравилась но всё на асме, как то не хотелось переписывать велосипед.
А в остальном всё для РС и под СРР, если кто-то встречал , прозьба помочь.
С ув. AVR411
|
|
|
|
|
Jan 23 2008, 07:16
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
В нете есть такая книга, кому интересно можете поискать, очень интересно расписано, но для начинаючих сложновато будет. Там сказано что этот алгоритм заточен под 8 и 32 битовую структуру, и разрабатывался как для широкого круга так и для мобильных устройств, даже сравнения размаров кода есть, жаль что АВР там нету  [КУДИЦ-Образ - Стандарт криптографической защиты - AES (Advanced Encryption Standart). Конечные поля.2002.djvu] Цитата(digital @ Jan 22 2008, 20:55)  на сайте микрочипа есть исходники AN953 вполне рабочие http://www.microchip.com/stellent/idcplg?I...ppnote=en022056тока их нет почему то на сайте  , приложил во вложение это как? Алгоритм симметричный поэтому, должен за одинаковое время кодить/декодить. Огромное спасибо за исходники, их то я как раз и искал, я их так и не нашо в сети, даташит по ним пожалуйста а самих нету. Гдето вычитал что у фирмы МИКРОЧИП из за них начались какието проблемы с законодательством, поэтому они их и прикрыли
Сообщение отредактировал west329_ - Jan 23 2008, 07:06
|
|
|
|
|
Jan 23 2008, 08:26
|
Местный
  
Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974

|
Цитата Там сказано что этот алгоритм заточен под 8 и 32 битовую структуру, и разрабатывался как для широкого круга так и для мобильных устройств, даже сравнения размаров кода есть, жаль что АВР там нету Если жалко места и не жалко процессорного времени, можно использовать очень простой и надежный алгоритм XTEA. http://ru.wikipedia.org/wiki/XTEA
|
|
|
|
|
Jan 23 2008, 11:48
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Если жалко места и не жалко процессорного времени, можно использовать очень простой и надежный алгоритм XTEA. Прям внизу страницы википедии ссылка на XXTEA Цитата XXTEA — расширение шифроалгоритма XTEA. Исправлена уязвимость в алгоритме, найденная Markuu-Juhani Saarinen. Конечно, надо читать, что там за уязвимость, может ломается не за возраст вселенной, а только за 1/10 этого возраста  ) Я бы обратил внимание на алгоритм RC4 - простейшая реализация (правда, необходим буфер в ОЗУ на 256 байт). Вроде поиск по инету не говорит о каких либо серьезных уязвимостях. Ну насчет лицензирования ничего говорить не буду, нам на это какать с высокой колокольни  )
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 23 2008, 12:03
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Пересобрал исходники AN953, спасибо digital. Вроде всё работает, шифрует-дишефрует, только непонял ещё зачем нужна пепеременная calcKey. Кстати собрал пиковские соурсы на IAR for AVR 4.21A под мегу8 размер кода 3.44кб скорость работы 2.22мсек на кодировку и декодировку одного блока 16байт при 20мгц кваце, при 1.0 мгц - 44.39мсек правда пришлось стек подрулить до 0х80, ато сознание терять стал эмулятор  p.s. забыл включить оптимизацию  по размеру 2.812кб--20мгц--2.81мсек 2.812кб--1мгц--56.23мсек по скорости 2.968кб--20мгц--1.59мсек 2.968кб--1мгц--31.75мсек
Сообщение отредактировал west329_ - Jan 23 2008, 12:17
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|