Сообщения

Сообщения за Январь, 2010

Взлом алгоритма Эль-Гамаль( с помощью алгоритма Шенкса)

Данное задание мне выдавали по предмету криптология. Наверно один из немногих предметов, который мне кажется реально полезным и интересным.

Реализовывал на Java т.к боялся что числа выйдут за пределы стандартных типов данных, а в Java для этого есть удобный тип данных BigInteger. Такто.

Итак условие:
В следующих задачах зашифрован алгоритмом ЭльГамала текст, написанный на английском языке. Использован следующий алфавит:
"A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z| |,|.|".
Блок "подсказки" расположен в начале криптотекста и является общим для всех его блоков. Его длина считается неизвестной. Найти секретный ключ и расшифровать текст.

"5148154611033774886049492438294008383372872853501067660147906401592062201450665781876473"

Открытый ключ: p=89981741 g=2 h=76976449

Часть первая - решение задачи целочисленного логарифмирования ( поиск секретного ключа a)
На вход подаётся p,g,h

package Shenks;

import java.math.BigInteger;
import java.uti…