Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
#1

Реализация протокола MS CHAP - C++

07.11.2011, 18:55. Просмотров 864. Ответов 3
Метки нет (Все метки)

Есть задача. Реализовать алгоритм шифрования MS CHAP.

почитал что это вообще такое подробно (после заголовка Аутентификация снаружи и изнутри)
http://www.insidepro.com/kk/100/100r.shtml

1. Клиент посылает запрос на аутентификацию VPN серверу, открыто передавая свой login;
2. Сервер возвращает 8-байтовый случайный отклик;
3. Клиент снимает со своего пароля LM-хэш и генерирует три DES-ключа;
4. Каждый из этих ключей зашифровывает отклик и получается три 8-байтовых строки;
5. Три 8-байтовых строки объединяются в одну 24-байтовую, которая передается серверу;
6. Сервер извлекает из своей базы хэш данного клиента и расшифровывает строку;
7. Если результат расшифровки совпадает с исходным откликом, все ок и наоборот;

т.е. для начала мне потребуется написать код для создания LM-хэша
1. Клиентский пароль преобразуется в 14-байтовую ASCII-строку (более длинные пароли усекаются, а более короткие дополняются нулями);
2. Все символы приводятся к верхнему регистру;
3. 14-символьный пароль разбивается на две 7-сииволные половинки;
4. Каждой 7-символьной "половинкой" зашифровывается постоянная константа AAD3B435B5140EEh по алгоритму DES;
5. Образуются две 8-байтовые строки;
6. Эти строки "склеиваются" друг с другом, образуя 16-байтовый хэш;

для LM-хэша мне понадобиться написать алгоритм DES. (вроде на википедии он нормально описан. если честно еще не читал и не разбирался)
http://ru.wikipedia.org/wiki/DES#.D0...0.BC.D0.B0_DES


это правильный план работы?
я ничего не перепутал?
если есть уже готовые реализации DES, LM-хэша, MS CHAP. подскажите пожалуйста направление

Не по теме:

писал этот пост параллельно разбираясь с протоколом. возможно что-то понял не верно. хотел уточнить. ну и если на форуме нет еще готовой реализации готов ее опубликовать после процесса изготовления

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 18:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализация протокола MS CHAP (C++):

реализация IGMP протокола - C++
Доброе время суток! подскажите пожалуйста, требуется ли ручками реализовывать IGMP протокол при передаче данных по мультикасту...

Исходники асечного (ICQ) протокола - C++
Народ, давно ищу одну вещь, решил создать ветку. У кого-нибудь есть исходники асечного (ICQ) протокола? Полностью рабочего. Нашел...

Моделирование работы сетевого протокола - C++
Доброго времени суток! Нужна ваша помощь.:) Необходимо разработать две программы, одна из которых будет посылать пакет, а другая -...

Разработать библиотеку процедур для приёма-передачи данных по сети на основе протокола UDP - C++
Здравствуйте. Вот задание. Разработать библиотеку процедур для приёма-передачи данных по сети на основе протокола UDP и текст для её...

Реализация протокола RIP - C++
Всем привет. Очень нужна помощь. Требуется реализовать маршрутизацию сети по протоколу RIP, но в качестве метрики использовать задержку...

Реализация IMAP протокола - C#
Добрый день. Не знаю с чего начать. Хочу попробовать самому реализовать imap протокол на C#. Другие же как-то это сделали. Другой вопрос,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.11.2011, 19:08 #2
За готовым кодом можно обратиться к открытым источникам http://google.com/codesearch . Реализация cypher'а DES там точно есть, скорее всего есть и CHAP.
0
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
07.11.2011, 19:22  [ТС] #3
lemegeton,
зашел на http://google.com/codesearch
даже не знал про такой ресурс. параметры поиска вбил: код на С++
искать: DES.

если честно аж плакать захотелось. даже не знаю куда смотреть. что там и как там. столько кодов.. какой из них тот какой не тот. и самое главное не понятно что там реализовано. ощущение что самому написать будет даже проще...
а можешь ссылку дать на алгоритм DES? понимаю что наглость. но я правда не знаю какой код мне нужен
0
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.11.2011, 21:32 #4
Попробуйте http://google.com/codesearch#3snSSQMlsl0/d3des.c и не забудьте там же взять d3des.h. Лицензия GPL, так что не забывайте копирайты оставлять.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 21:32
Привет! Вот еще темы с ответами:

Реализация протокола IPX - Turbo Pascal
Здравствуйте! Возможно меня назовут старомодной, протокол мало где используется в силу своей ненадежности и вообще есть более совершенные...

Реализация протокола обмена по COM порту - C#
Здравствуйте, в общем нужно было мне реализовать протокол обмена с весами на основе программы производителя и весов(Обмен по COM-порту), с...

Реализация протокола DMX на Verilog - Программируемая логика
Помогите разобраться с алгоритмом работы DMX Как на Verilog запрограммировать необходимые действия. Я не прошу писать код, просто...

Реализация протокола ModBus на DE1-SoC - Программируемая логика
Работаю над реализацией протокола ModBus RTU на DE1-SoC. Собрала в Quartus II процессор Nios II с UART (вывод на 2 ножки GPIO). Осталось в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.11.2011, 21:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru