Квадрат Полибия

Криптографические методы обеспечения конфиденциальности и аутентичности передаваемой информации. Формирование таблицы шифрования на основе квадрата Полибия, распределение букв в криптотексте согласно пароля. Листинг программы криптоанализа сообщений.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.08.2013
Размер файла 149,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Российский государственный гидрометеорологический университет

Курсовой проект

по дисциплине: "Криптографические методы"

на тему: "Квадрат Полибия"

Выполнил: студент группы ОИБ-417

Купченко А.А.

Проверила: Татарникова Т.М.

Санкт-Петербург 2011 год

Оглавление

Задание на курсовую работу

Введение

1. Формирование таблицы шифрования

2. Принцип шифрования

3. Добавление ключа

4. Историческая справка

5. Устойчивость к криптоанализу

6. Листинг программы C++

7. Листинг программы Pascal

Список использованных источников

Задание на курсовую работу

Цель: Квадрат Полибия.

Перечень представляемого материала:

- Теоретические сведения.

- Словесное описание алгоритма.

- Пример, демонстрирующий работу метода.

- Листинг программы.

- Демонстрация результатов работы программы.

- Список использованных источников.

Исходные данные:

p - открытый ключ

a - образующий элемент

b - открытый ключ

x - закрытый ключ

k - случайное секретное число

r,s - пара чисел, являющаяся шифр-текстом

m - хэш функция сообщения

U,V - пара чисел, используемая для проверки подлинности подписи

Срок выдачи курсовой работы:

Срок сдачи:

Введение

Криптограмфия (от др.-греч. ксхрфьт - скрытый и гсЬцщ - пишу) - наука о методах обеспечения конфиденциальности(невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Изначально криптография изучала методы шифрования информации - обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.

Криптография не занимается: защитой от обмана, подкупа или шантажа законных абонентов, кражи ключей и других угроз информации, возникающих в защищенных системах передачи данных.

Криптография - одна из старейших наук, ее история насчитывает несколько тысяч лет.

Полимбий (др.-греч. Рплэвйпт, лат. Polybius, 201 до н. э., Мегалополь, Аркадия - 120 до н. э.) - греческий историк, государственный деятель и военачальник, автор "Всеобщей истории" ("Истории") в 40 томах, охватывающих события в Риме, Греции, Македонии, Малой Азии и в других регионах с 220 до н. э. по 146 до н. э.. Из книг "Истории" полностью сохранились только первые 5, остальные дошли в более или менее подробных изложениях. Прочие труды Полибия не сохранились. Исходя из учения стоиков о предвидении, он пришёл к метафизике истории, которая рассматривала последнюю как борьбу народов и отдельных личностей против власти судьбы.

Квадрат Полибия.

В криптографии квадрат Полибия (англ. Polybius square), также известный как шахматная доска Полибия - оригинальный код простой замены, одна из древнейших систем кодирования, предложенная Полибием (греческий историк, полководец, государственный деятель, III век до н. э.). Данный вид кодирования изначально применялся для греческого алфавита, но затем был распространен на другие языки.

Способ шифрования. Несмотря на то, что квадрат изначально создавался для кодирования с его помощью можно успешно шифровать. Для того, чтобы зашифровать текст квадратом Полибия нужно сделать несколько шагов:

1. Формирование таблицы шифрования

К каждому языку отдельно составляется таблица шифрования с одинаковым (не обязательно) количеством пронумерованных строк и столбцов, параметры которой зависят от его мощности (количества букв в алфавите). Берутся два целых числа, произведение которых ближе всего к количеству букв в языке - получаем нужное число строк и столбцов. Затем вписываем в таблицу все буквы алфавита подряд - по одной на каждую клетку. При нехватке клеток можно вписать в одну две буквы (редко употребляющиеся или схожие по употреблению).

Латинский алфавит

В современном латинском алфавите 26 букв, следовательно таблица должна состоять из 5 строк и 5 столбцов, так как 25=5*5 наиболее близкое к 26 число. При этом буквы I, J не различаются (J отождествляется с буквой I), так как не хватает 1 ячейки:

1

2

3

4

5

1

A

B

C

D

E

2

F

G

H

I

K

3

L

M

N

O

P

4

Q

R

S

T

U

5

V

W

X

Y

Z

Русский алфавит

Идею формирования таблицы шифрования проиллюстрируем для русского языка. Число букв в русском алфавите отличается от числа букв в греческом алфавите, поэтому размер таблицы выбран другой (квадрат 6*6=36, поскольку 36 наиболее близкое число к 33):

1

2

3

4

5

6

1

А

Б

В

Г

Д

Е

2

Ё

Ж

З

И

Й

К

3

Л

М

Н

О

П

Р

4

С

Т

У

Ф

Х

Ц

5

Ч

Ш

Щ

Ъ

Ы

Ь

6

Э

Ю

Я

Возможен также другой вариант составления, предусматривающий объединение букв Е и Ё, И и Й, Ъ и Ь. В данном случае получаем следующий результат:

1

2

3

4

5

6

1

А

Б

В

Г

Д

Е

2

Ж

З

И

К

Л

М

3

Н

О

П

Р

С

Т

4

У

Ф

Х

Ц

Ч

Ш

5

Щ

Ы

Ь

Э

Ю

Я

Используя подобный алгоритм таблицу шифрования можно задать для любого языка. Чтобы расшифровать закрытый текст необходимо знать, таблицей шифрования какого алфавита он зашифрован.

2. Принцип шифрования

шифрование полибий пароль криптоанализ

Существует несколько методов шифрования с помощью квадрата Полибия. Ниже приведены три из них.

Метод 1. Зашифруем слово "SOMETEXT":

Для шифрования на квадрате находили букву текста и вставляли в шифровку нижнюю от нее в том же столбце. Если буква была в нижней строке, то брали верхнюю из того же столбца.

Таблица координат

Буква текста:

S

O

M

E

T

E

X

T

Буква шифротекста:

X

T

R

K

Y

K

C

Y

Таким образом после шифрования получаем:

Результат

До шифрования:

SOMETEXT

После шифрования:

XTRKYKCY

Метод 2. Сообщение преобразуется в координаты по квадрату Полибия, координаты записываются вертикально:

Таблица координат

Буква:

S

O

M

E

T

E

X

T

Координата горизонтальная:

3

4

2

5

4

5

3

4

Координата вертикальная:

4

3

3

1

4

1

5

4

Затем координаты считывают по строкам:

34 25 45 34 43 31 41 54

Далее координаты преобразуются в буквы по этому же квадрату:

Таблица координат

Координата горизонтальная:

3

2

4

3

4

3

4

5

Координата вертикальная:

4

5

5

4

3

1

1

4

Буква:

S

W

Y

S

O

C

D

U

Таким образом после шифрования получаем:

Результат

До шифрования:

SOMETEXT

После шифрования:

SWYSOCDU

Метод 3. Усложненный вариант, который заключается в следующем: полученный первичный шифротекст (*) шифруется вторично. При этом он выписывается без разбиения на пары:

3425453443314154

Полученная последовательность цифр сдвигается циклически влево на один шаг(нечетное количество шагов):

4254534433141543

Эта последовательность вновь разбивается в группы по два:

42 54 53 44 33 14 15 43

и по таблице заменяется на окончательный шифротекст:

Таблица координат

Координата горизонтальная:

4

5

5

4

3

1

1

4

Координата вертикальная:

2

4

3

4

3

4

5

3

Буква:

I

U

P

T

N

Q

V

O

Таким образом после шифрования получаем:

Результат

До шифрования:

SOMETEXT

После шифрования:

IUPTNQVO

3. Добавление ключа

На первый взгляд шифр кажется очень нестойким, но для его реальной оценки следует учитывать два фактора:

1.возможность заполнить квадрат Полибия буквами произвольно, а не только строго по алфавиту;

2.возможность периодически заменять квадраты.

Тогда анализ предыдущих сообщений ничего не дает, так как к моменту раскрытия шифра он может быть заменен.

Буквы могут вписываться в таблицу в произвольном порядке - заполнение таблицы в этом случае и является ключом. Для латинского алфавита в первую клетку можно вписать одну из 25 букв, во вторую - одну из 24, в третью - одну из 23 и т.д. Получаем максимальное количество ключей для шифра на таблице латинского алфавита:

N = 25 * 24 * 23 * ... * 2 * 1 = 25!

Соответственно для дешифрования сообщения потребуется не только знание алфавита, но и ключа, с помощью которого составлялась таблица шифрования. Но произвольный порядок букв тяжело запомнить, поэтому пользователю шифра необходимо постоянно иметь при себе ключ - квадрат. Появляется опасность тайного ознакомления с ключом посторонних лиц. В качестве компромиссного решения был предложен ключ - пароль. Пароль выписывается без повторов букв в квадрат; в оставшиеся клетки в алфавитном порядке выписываются буквы алфавита, отсутствующие в пароле.

Пример.

Зашифруем слово "SOMETEXT", используя ключ "DRAFT". Составим предварительно таблицу шифрования с данным ключом, записывая символы ключа по порядку в таблицу, после них остальной алфавит:

1

2

3

4

5

1

D

R

A

F

T

2

B

C

E

G

H

3

I

K

L

M

N

4

O

P

Q

S

U

5

V

W

X

Y

Z

Преобразуем сообщение в координаты по квадрату Полибия:

Таблица координат

Буква:

S

O

M

E

T

E

X

T

Координата горизонтальная:

4

1

4

3

5

3

3

5

Координата вертикальная:

4

4

3

2

1

2

5

1

Считаем координаты по строкам:

41 43 53 35 44 32 12 51

Преобразуем координаты в буквы по этому же квадрату:

Таблица координат

Координата горизонтальная:

4

4

5

3

4

3

1

5

Координата вертикальная:

1

3

3

5

4

2

2

1

Буква:

F

M

N

X

S

E

B

T

Таким образом после шифрования получаем:

Результат

До шифрования:

SOMETEXT

После шифрования:

FMNXSEBT

4. Историческая справка

Еще в далекой древности у человека возникла необходимость передачи сигналов на расстояние. Для усиления голоса при подаче сигналов на охоте стали применять простейшие рупоры в виде рогов, раковин и др. Целями подачи служили тамтамы, барабаны и подобные им устройства, а чуть позже световые средства - факелы, костры. Даже эти примитивные предметы световой сигнализации позволили резко увеличить расстояние, на котором людям удавалось поддерживать связь.

С развитием общества возникла необходимость в передаче более разнообразных сигналов, в том числе сигналов, смысл которых не был обусловлен заранее. В книге Полибия описан способ применения водяных часов, так называемых клепсидр, в устройстве для дальней сигнализации. Клепсидры представляли собой сосуды с водой, на поверхности которой находились поплавки с вертикальными стойками на них. Вода из сосудов вытекала с постоянной скоростью, и длина видимой части стоек была обратно пропорциональна времени. Суть использования клепсидр для сигнализации состояла в том, что их вертикальные стойки имели однотипную разметку: вместо часовых делений на них были написаны в одинаковой последовательности различные слова, команды и т. п. По условному сигналу с передающего пункта обе клепсидры одновременно запускались, а по другому сигналу останавливались в тот момент, когда на стойках была видна надпись, которую нужно было передать. Так как клепсидры были довольно точными часами, то на передающем и на приемном пунктах они показывали один и тот же сигнал. В этом способе связи дальность определялась условиями видимости сигналов, которые могли подаваться любыми другими известными тогда сигнальными средствами.

Это был, пожалуй, первый cпособ связи с использованием технических средств (клепсидр), основанный на применении принципа синхронизации приборов во времени.

Полибий описывает также и второй способ сигнализации, основанный на ином принципе, изобретение которого он связывает с именами Клеоксена и Демоклита из Александрии. По этому способу для сигнализации использовали факелы, которые выставляли на сигнальной стене. При этом существовал определенный код, составленный следующим образом. Греческий алфавит (24 буквы) разделяли на 5 групп таким образом, что каждая буква определялась номером группы и порядковым номером ее в группе. Число факелов в левой части сигнальной стены означало номер группы, а число факелов в правой части стены - номер места в группе. Такой способ, хотя и требовал много времени на передачу каждого сигнала, однако давал возможность передавать буквенным текстом любое сообщение. Полибий, описывая этот способ, как раз приводил таблицу такого кода (таблица Полибия), которая рассматривается в статье, в дальнейшем нашедшую применение во многих системах сигнализации. Это, по-видимому, была одна из первых попыток использовать код (пятеричный двухразрядный) для передачи информации.

Интересно заметить, что в несколько измененном виде код Полибия дошел до наших дней и получил интересное название "тюремный шифр". Для его применения необходимо знать лишь естественный порядок расположения букв в алфавите (как в указанных выше примерах для латинского и русского алфавитов). Число 3, например, передавалось путем трехкратного стука. При передаче буквы сперва отстукивалось число, соответствующее строке, в которой располагалась буква, а затем номер столбца. Например, буква "H" передавалась двухкратным стуком (вторая строка) и затем трехкратным (третий столбец). Доподлинно известно, что декабристы, посаженные в тюрьму после неудачного восстания 1825 года, не могли установить связь с находившимся в одиночной камере Петропавловской крепости князем Одоевским. Оказалось, что он не помнил естественный порядок расположения букв в русском и французском алфавитах (другими языками он не владел). Декабристы для русского алфавита использовали прямоугольник размера 5x6 и сжатый до 30 букв алфавит. Поэтому "Тюремный шифр", строго говоря, не шифр, а способ модификации сообщения с целью его приведения к виду, удобному для передачи по каналу связи (через стенку).

5. Устойчивость к криптоанализу

Одним из методов атак является частотный анализ. Распределение букв в криптотексте сравнивается с распределением букв в алфавите исходного сообщения. Буквы с наибольшей частотой в криптотексте заменяются на букву с наибольшей частотой из алфавита, если он известен. Вероятность успешного вскрытия повышается с увеличением длины криптотекста, поскольку распределения статистические. Существуют множество различных таблиц о распределении букв в том или ином языке, но ни одна из них не содержит окончательной информации - даже порядок букв может отличаться в различных таблицах. Распределение очень сильно зависит от типа теста: проза, разговорный язык, технический язык и т.п. Квадрат Полибия является примером шифра замены, поэтому неустойчив к частотной атаке

6. Листинг программы C++

Эта программа написана на С++

Polibiy.cpp

#include stdafx.h

#include Polibiy.h

#include PolibiyDlg.h

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// CPolibiyApp

BEGIN_MESSAGE_MAP(CPolibiyApp, CWinApp)

ON_COMMAND(ID_HELP, &CWinApp::OnHelp)

END_MESSAGE_MAP()

// CPolibiyApp construction

CPolibiyApp::CPolibiyApp()

{

// TODO: add construction code here,

// Place all significant initialization in InitInstance

}

// The one and only CPolibiyApp object

CPolibiyApp theApp;

// CPolibiyApp initialization

BOOL CPolibiyApp::InitInstance()

{

// InitCommonControlsEx() is required on Windows XP if an application

// manifest specifies use of ComCtl32.dll version 6 or later to enable

// visual styles. Otherwise, any window creation will fail.

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// Set this to include all the common control classes you want to use

// in your application.

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(&InitCtrls);

CWinApp::InitInstance();

CPolibiyDlg dlg;

m_pMainWnd = &dlg;

INT_PTR nResponse = dlg.DoModal();

// Since the dialog has been closed, return FALSE so that we exit the

// application, rather than start the applications message pump.

return FALSE;

}

7. Листинг программы Pascal

const TPolibius: array['A' .. 'E', 'A' .. 'E'] of char = (

('A', 'B', 'C', 'D', 'E'),

('F', 'G', 'H', 'I', 'K'),

('L', 'M', 'N', 'O', 'P'),

('Q', 'R', 'S', 'T', 'U'),

('V', 'W', 'X', 'Y', 'Z')

);

function PolibiusEncipher(toCode: string): string;

var

i: integer;

ix, jx: char;

s: string;

begin

s := '';

for i := 1 to length(toCode) do begin

for ix := 'A' to 'E' do

for jx := 'A' to 'E' do

if TPolibius[ix, jx] = toCode[ i ] then begin

s := s + ix + jx; break;

end;

end;

PolibiusEncipher := s

end;

function PolibiusDecipher(toDecode: string): string;

var

i: integer;

s: string;

begin

s := '';

i := 1;

while i <= length(toDecode) do begin

s := s + TPolibius[toDecode[ i ], toDecode[succ(i)]];

inc(i, 2);

end;

PolibiusDecipher := s

end;

var

s: string;

begin

s := PolibiusEncipher('POLIBIUS');

writeln(s);

writeln('s = ', PolibiusDecipher(s));

end.

Список использованных источников

1. Конспект Лекции по Криптографии (Татарникова Т.М.)

2. Интернет ресурсы.

Размещено на Allbest.ru

...

Подобные документы

  • Криптография - наука о методах обеспечения конфиденциальности и аутентичности информации. Этапы развития криптографии. Криптографический протокол и требования к его безопасности. Криптографические генераторы случайных чисел. Основные методы криптоанализа.

    реферат [29,3 K], добавлен 01.05.2012

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Криптографические методы обеспечения конфиденциальности, невозможности прочтения информации посторонним. Современные методы шифрования информации как обратимого преобразования открытого текста в шифрованный на основе секретного алгоритма или ключа.

    презентация [514,3 K], добавлен 06.02.2016

  • Определение понятия шрифт как системы преобразования текста для обеспечения секретности передаваемой информации. Развитие криптографии и кодов атбаш, скитала, диск Энея, шрифт Цезаря и квадрат Полибия. История появления "Энигмы" и попыткми ее взлома.

    реферат [1,1 M], добавлен 21.11.2011

  • История возникновения и развития шифрования от древних времен и до наших дней. Анализ современных проблем обеспечения секретности и целостности передаваемых или хранимых данных, наиболее часто используемые криптографические методы защиты информации.

    контрольная работа [961,5 K], добавлен 23.04.2013

  • История возникновения криптографии. Открытый ключ криптосистемы. Шифрование секреторного ключа. Математические методы обеспечения конфиденциальности и аутентичности информации. Преобразование текста на основе секретного алгоритма в шифрованный текст.

    презентация [260,8 K], добавлен 11.10.2015

  • История алгоритмов симметричного шифрования (шифрования с закрытым ключом). Стандарты на криптографические алгоритмы. Датчики случайных чисел, создание ключей. Сфера интересов криптоанализа. Системы электронной подписи. Обратное преобразование информации.

    краткое изложение [26,3 K], добавлен 12.06.2013

  • Автоматизация процесса шифрования на базе современных информационных технологий. Криптографические средства защиты. Управление криптографическими ключами. Сравнение симметричных и асимметричных алгоритмов шифрования. Программы шифрования информации.

    курсовая работа [795,7 K], добавлен 02.12.2014

  • Криптография и шифрование. Симметричные и асимметричные криптосистемы. Основные современные методы шифрования. Алгоритмы шифрования: замены (подстановки), перестановки, гаммирования. Комбинированные методы шифрования. Программные шифраторы.

    реферат [57,7 K], добавлен 24.05.2005

  • Основные способы криптографии, история ее развития. Принцип шифрования заменой символов, полиалфавитной подстановкой и методом перестановки. Симметричный алгоритм шифрования (DES). Открытое распределение ключей. Шифры Ривеста-Шамира-Алдемана и Эль Гамаля.

    реферат [39,3 K], добавлен 22.11.2013

  • Основные методы криптографической защиты информации. Система шифрования Цезаря числовым ключом. Алгоритмы двойных перестановок и магические квадраты. Схема шифрования Эль Гамаля. Метод одиночной перестановки по ключу. Криптосистема шифрования данных RSA.

    лабораторная работа [24,3 K], добавлен 20.02.2014

  • Шифрование - широко используемый криптографический метод сохранения конфиденциальности информации. Описание схемы шифрования и расшифрования. Структура алгоритмов на основе сети Фейстеля. Скриншоты работающей программы. Скорость работы алгоритмов.

    курсовая работа [545,2 K], добавлен 29.11.2010

  • Криптографическая защита как элемент систем обеспечения безопасности информации. Исторические шифры и их взлом. Особенности современной криптологии и криптографии. Основные методы современного криптоанализа, их сущность, особенности и характеристика.

    курсовая работа [57,1 K], добавлен 14.06.2012

  • Краткое описание терминологии, используемой в криптологии. Определение места криптографических методов защиты в общей системе обеспечения безопасности информации. Изучение простых шифров и оценка методов их взлома. Методы современного криптоанализа.

    курсовая работа [52,3 K], добавлен 13.06.2012

  • Классификация информации по значимости. Категории конфиденциальности и целостности защищаемой информации. Понятие информационной безопасности, источники информационных угроз. Направления защиты информации. Программные криптографические методы защиты.

    курсовая работа [1,1 M], добавлен 21.04.2015

  • Количественная оценка стойкости пароля. Создание программы на базе разработанного алгоритма. Экспериментальная проверка количественных оценок стойкости пароля. Понятие и назначение интерфейса. Методы защиты от несанкционированного доступа к информации.

    курсовая работа [22,8 K], добавлен 13.11.2009

  • Особенности разработки программы и выбор методов решения задачи. Составление алгоритма, распределение регистров программы и формирование файлов. Описание процедуры очистки памяти, сложения, вычитания, умножения. Тестирование и листинг программы.

    лабораторная работа [51,2 K], добавлен 14.05.2011

  • Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа [101,1 K], добавлен 09.03.2009

  • Выбор шифров перестановки для проведения анализа. Анализ алгоритма двух различных шифров, построение блок-схемы алгоритма и программы, разработка общего интерфейса. Сравнение шифров перестановки по результатам шифрования и криптоанализа текстов.

    курсовая работа [2,8 M], добавлен 14.01.2014

  • Криптография — наука о методах обеспечения конфиденциальности и аутентичности информации. Реализация криптографии на примере трех программных продуктов: PGP, Tor, I2P. Понятие криптографических примитивов и протоколов, симметричных и асимметричных шифров.

    учебное пособие [180,4 K], добавлен 17.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.