Делаю девайс, который подключается по Ethernet. Управление девайсом осуществляется по telnet. Первым делом устройство требует ввода пароля, после чего им можно управлять. Но этот пароль очень просто перехватить простым сниффером. Нужен какой-то способ безопасной передачи пароля. Простой и надежный способ. Какие есть варианты? МК Atmega16, AVR GCC
SSH вместо телнета? не придется изобретать велосипед...
а как мне SSH поднимать на AVR???
Ну а как Вы подняли telnet? Если уж на то пошло, шифруйте все передаваемые данные, но это повлечет за собой переделку всего протокола..
P.S.
http://www.ethernut.de/, целая ос. Правда, на мегу16 не влезет, наверное..
Цитата(Skaf @ Mar 9 2010, 19:42)

Нужен какой-то способ безопасной передачи пароля. Простой и надежный способ. Какие есть варианты? МК Atmega16, AVR GCC
Наиболее понятный и распространенный способ - асимметричное шифрование, но Меге его не поднять
Наиболее понятнім как раз будет симметричное шифрование
В принципе, поднять SSH можно, не так уж и тяжело. Хотя, объемисто.
Я бы на Вашем месте рассмотрел вопрос перехода на банальный HTTP (т.е веб-интерфейс), но с digest-авторизацией - это позволяет безопасно передать пароль, однако сам по себе протокол нестоек к подмене собственно данных. Хотя, данные, отправляемые в запросе GET, автоматически подписываются логином с паролем (безопасно). Так что вполне можно более-менее безопасно некоторыми вещами управлять.
Для реализации из всей криптографии понадобится MD5. Я реализовывал его с точки зрения оптимизации по размеру с результатом примерно в 1.2кб.