![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | ||
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
Возникла необходимость реализовать алгоритм шифрования Эль-гамаль. Разумеется начал искать теоретические сведения по этому алгоритму, как он работает и т.д. Заглянул на любимую многими WikiPedi'ю, посмотрел там алгоритм, пример шифрования\дешифрования и если говорить откровенно, то ни черта его не понял. Цитирую:
Цитата:
Ладно, начал искать другие источники по алгоритму Эль-гамаль: последняя чудесная формула как только не перевиралась в разных источниках, считаешь вручную то, что написано в книге и получается совсем не тот результат(как говориться на форумах: "аффтар сжет")! На одном форуме, когда человек просил пояснить ему данный алгоритм, написали: "mod - это не остаток от деления, это результат решения уравнения...". Перерыл еще с десяток источников, без всякой надежды открыл книгу Рябко, Фионов - Криптографические методы защиты информации, посмотрел что автору пишут там, как объясняют пример и вручную пересчитал все то, что они написали и о чудо - результаты моих вычислений для предоставленных данных совпадают с результатами в книге! Начал пробовать по предоставленным формулам зашифровать другие данные с другими коэффициентами и все отлично шифруется-дешифруется - моей радости не было предела - единственная найденная мной книга с человеческим описанием алгоритма Эль-гамаль! Чтобы никто больше не мучился с реализацией и пониманием алгоритма шифрования Эль-гамаль, цитирую пример из книги Рябко, Фионов: Цитата:
Если не забуду, то когда реализую это все с помощью класса C#, постараюсь выложить свой код для простоты понимания.
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
||
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
(1679616^-1) mod 11 = 3 => 3*9 mod 11 = 5 Правда, такая операция выполнима не всегда, но, наверное, конкретно в этом алгоритме значения подобраны так, что деление можно выполнить. поскольку к C# вопрос тема отношения не имеет, перенесу в свободное общение. Последний раз редактировалось alexBlack; 28.11.2011 в 16:04. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
В процессе сегодняшней работы получилась следующая часть кода:
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
продолжение кода
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
продолжение кода
Код:
Завтра постараюсь продолжить данный код
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Последний раз редактировалось Mixim; 28.11.2011 в 15:26. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
Вроде бы окончил реализацию метода Эль-гамаль. В ранее указанном коде были допущены некоторые ошибки(обнаружено с помощью отладчика). Не стал удалять из кода некоторые строки, которые использовались для отладки - просто их закомментировал. В итоге класс для шифрования текста методом Эль-гамаля имеет следующий вид(из-за ограниченного количества символов в посте класс будет последовательно размещен в нескольких сообщениях):
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Последний раз редактировалось Mixim; 30.11.2011 в 03:13. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
ПРОДОЛЖЕНИЕ:
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
ПРОДОЛЖЕНИЕ 2:
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
ПРОДОЛЖЕНИЕ 3:
Код:
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 29.10.2009
Сообщений: 259
|
![]()
В коде использовался класс BigInteger, описание которого можно найти на MSDN ЗДЕСЬ
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
криптосистема Эль-Гамаля | Nanochka | Помощь студентам | 16 | 21.04.2012 10:53 |
криптография (эль-гамаль) | serega28 | Общие вопросы Delphi | 0 | 22.06.2011 11:54 |
Блок-схема алгоритма шифрования/расшифрования | MontyJo | Помощь студентам | 6 | 28.06.2010 21:20 |