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

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

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

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

07.11.2011, 18:55. Просмотров 850. Ответов 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. подскажите пожалуйста направление

Не по теме:

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

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 18:55     Реализация протокола MS CHAP
Посмотрите здесь:

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

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

Реализация vector - C++
Скажите, можно ли где-то посмотреть как примерно реализуются контейнерные классы STL или аналогичных шаблонных библиотек? Меня, в...

реализация предикатов - C++
Народ! Кто-нибудь знает какие-нибудь средства для реализации(удобного создания и хранения) предикатов ??? Те какие-нибудь открытые...

Реализация шаблонов - C++
Всем привет! Можно ли как-то реализовывать шаблонный класс в другом файле? то есть имеем заголовочный файл там задаём сам шаблонный класс...

реализация итератора - C++
Реализация класса List и его итератора: #ifndef LIST_H #define LIST_H #include<iostream> template<class T> class List ...

Реализация crc - C++
Здравствуйте. Пытаюсь написать алгоритм Используя полимональную арифметику. Опишу алогритм как понимаю.. Считываю исходный ...

Реализация Timsort - C++
Добрый день! В качестве обучения реализовываю алгоритм сортировки Timsort. На всякий случай : https://ru.wikipedia.org/wiki/Timsort ...

Реализация расшифровки - C++
Есть программа шифрования квадратом Полибия. Как реализовать расшифровку? char *string= new char; const int m = 6; const int n =...

Своя реализация new - C++
Приведите пожалуйста пример своей реализации operator new и его последующее применение в виде работающей программы, просто хотелось бы...

Реализация. Структуры - C++
Подскажите пожалуйста правильно ли реализовано? void zadanie24(){ struct pointer{ int *a; }; pointer *p1=new pointer; ...

Реализация has_plus - C++
Подкиньте идею как правильно реализовать аналог boost::has_plus.#include <iostream> #include <type_traits> #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
07.11.2011, 19:08     Реализация протокола MS CHAP #2
За готовым кодом можно обратиться к открытым источникам http://google.com/codesearch . Реализация cypher'а DES там точно есть, скорее всего есть и CHAP.
GBIT
11 / 11 / 1
Регистрация: 05.10.2011
Сообщений: 219
07.11.2011, 19:22  [ТС]     Реализация протокола MS CHAP #3
lemegeton,
зашел на http://google.com/codesearch
даже не знал про такой ресурс. параметры поиска вбил: код на С++
искать: DES.

если честно аж плакать захотелось. даже не знаю куда смотреть. что там и как там. столько кодов.. какой из них тот какой не тот. и самое главное не понятно что там реализовано. ощущение что самому написать будет даже проще...
а можешь ссылку дать на алгоритм DES? понимаю что наглость. но я правда не знаю какой код мне нужен
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
07.11.2011, 21:32     Реализация протокола MS CHAP #4
Попробуйте http://google.com/codesearch#3snSSQMlsl0/d3des.c и не забудьте там же взять d3des.h. Лицензия GPL, так что не забывайте копирайты оставлять.
Yandex
Объявления
07.11.2011, 21:32     Реализация протокола MS CHAP
Ответ Создать тему
Опции темы

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