![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Попросили меня зделать такую программку, шифрование методом Эль-Гамаля. Я тока где то два часа врубал этот метод, тока потом начал его описывать как код. Кое что получается, но почему то иногда выдаётся неправильный результат. Я подозреваю дело в типах, просто не хватает знаков, т.к. числа очень большие, помогите кто что знает по этому поводу. Вот то, что я успел написать:
Вот краткое описание метода: Получатель сообщения выбирает два больших числа P и G, причем P > G. Получатель выбирает секретный ключ - случайное целое число X < P. Вычисляется открытый ключ Y= G x mod P. Получатель выбирает целое число K, 1< K< P-1. Шифрование сообщения (M): a= GK mod P, b=Y K M mod P, где пара чисел (a,b) является шифротекстом. Помогите спецы, задача по мне не очень то простая.! Это сообщение отредактировал(а) alver - 5.4.2007, 22:05 |
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
если числа большие, то почему не 64 битные целые?(непереносимо, но gcc и VC++ поддрживают 64-битные целые, хотя названия, емнип, разные
+ если целые _очень_ большие, есть спецбиблиотеки для работы с ними. |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 2 Всего: 39 |
разрядность больших чисел, используемых в криптографии с открытым ключом очень велика, используются числа с разрядность 512-5120 бит. Соответсвенно, использовать встроенные типы здесь не получится. Есть специальные библиотеки, которые реализуют способ представления таких данных и логические операции с ними, есть и OpenSource библиотеки - вы найдете их без труда.
Это сообщение отредактировал(а) Alexandr87 - 6.4.2007, 11:25 |
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 2 Всего: 14 |
Операции над числами такой разрядности "отжирают" много ресурсов, поэтому советую сразу думать над оптимизацией. Потому ищи информацию о математике над длиными (так их называют) числами.
Очень советую книгу: А.В.Домашев, М.М. Грунтович, В.О.Попов, Д.И.Правиков,А.Ю.Щербаков "Программирование алгоритмов защиты информации" -------------------- korbian © |
|||
|
||||
alver |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 27.10.2006 Где: Питер Репутация: нет Всего: нет |
Чего то я не нашёл такие библиотеки, может конечно плохо искал, но никто не направит на нужный сайт??
Так же кинга то может хорошая, но в электронном варианте её нигде нет, а купить это долго, мне до понедельника надо. Это сообщение отредактировал(а) alver - 6.4.2007, 11:36 |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 2 Всего: 39 |
||||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Наглая реклама. И много вы на продаже Эль-Гамаля (фиг знает как написанного), думаете заработать? ![]() да еще и
![]() crypto++ Это сообщение отредактировал(а) volatile - 30.11.2011, 00:13 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |