Поліалфавітні підстановки

Розгляд найрізноманітніших способів шифрування. Характеристика алгоритму заміни або підстановки. Проведення криптоаналізу шифру Віженера. Визначення особливостей реалізації на C++. Розгляд теоретичних відомостей складання потокового шифру з автоключем.

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

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

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

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

Державна служба України з надзвичайних ситуацій

Львівський державний університет безпеки життєдіяльності

Кафедра управління

інформаційною безпекою

ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ

на тему: «ПОЛІАЛФАВІТНІ ПІДСТАНОВКИ»

Виконала:

Курсант групи ІБ- 31

Сливка А.Р.

Прийняв:

Гриник Р.О.

Львів - 2016

Зміст

Вступ

1. Шифр Віженера

1.1 Теоретичні відомості

1.2 Реалізація на C++

2. Шифр з автоключем

2.1 Теоретичні відомості

2.2 Реалізація на C++

Вступ

Серед найрізноманітніших способів шифрування можна виділити наступні основні методи:

* Алгоритми заміни або підстановки - символи вихідного тексту замінюються на символи іншого (або того ж) алфавіту відповідно до заздалегідь визначеною схемою, яка і буде ключем даного шифру. * Алгоритми перестановки - символи оригінального тексту міняються місцями за певним принципом, що є секретним ключем. * Алгоритми гамування - символи вихідного тексту складаються з символами якоїсь випадкової послідовності.

* Алгоритми, засновані на складних математичних перетвореннях вихідного тексту за деякою формулою. Багато з них використовують невирішені математичні завдання. Наприклад, широко використовуваний в Інтернеті алгоритм шифрування RSA заснований на властивостях простих чисел.

* Комбіновані методи. Послідовне шифрування вихідного тексту за допомогою двох і більше методів.

Для підвищення стійкості шрифту використовують поліалфавітні підстановки, в яких для заміни символів вихідного тексту використовуються символи кількох алфавітів. Відомо кілька різновидів поліалфавітному підстановки, найбільш відомими з яких є одне-(звичайна і монофонічна) і Багатоконтурна.

При поліалфавітній одноконтурній звичайній підстановці для заміни символів вихідного тексту використовується кілька алфавітів, причому зміна алфавітів здійснюється послідовно і циклічно, тобто перший символ замінюється відповідним символом першого алфавіту, другий - символом другого алфавіту і т.д., поки не будуть використані всі вибрані алфавіти. Після цього використання алфавітів повторюється.

1. Шифр Віженера

1.1 Теоретичні відомості

Розглянемо поліалфавітну підстановку в тому випадку, коли послідовність є періодичною. Нехай період її дорівнює , а кожна з підстановок є шифром Цезаря. Зазвичай ключ є деяким відрізком змістовного тексту - словом або фразою. Його підписують під відкритим текстом, повторюючи стільки разів, скільки потрібно. Додаючи номери букви відкритого тексту і букви ключа, що стоїть під ним, за , одержують номер букви шифротексту. Наприклад:

ВТ

п

о

л

і

а

л

ф

а

в

і

т

н

а

п

і

д

с

т

а

н

О

в

к

а

Ключ

ц

е

з

а

р

ц

е

з

а

р

ц

е

з

а

р

ц

е

з

а

р

Ц

е

з

а

ШТ

й

ф

ф

і

р

з

ь

з

в

ю

м

у

з

п

ю

ю

ч

ю

а

д

Ї

ж

у

а

В українській абетці 32 букви, номер букви «п» 19, номер букви «ц» 26: 19+26(32)=13 - номер букви «й» і так далі.

Така поліалфавітна підстановка називається шифром Віженера.

Криптоаналіз шифру Віженера є досить простим, якщо відома довжина періоду . В цьому випадку шифротекст розбивають на фрагментів:

тобто з шифротексту вибирають букви, що лежать на відстані , починаючи з першої, другої і т.д. Кожен з фрагментів зашифрований шифром Цезаря з певним ключем, і тому легко розшифровується. Таким чином, одержуємо ключ .

Щоб ускладнити криптоаналіз, застосовують багатоконтурну систему Віженера: відкритий текст шифрують спочатку шифром Віженера з періодом , одержаний шифротекст знову шифрують іншим шифром Віженера з періодом ,... і так разів. Якщо періоди взаємно прості, то результуючий шифр еквівалентний шифру Віженера з періодом .

1.2 Реалізація на C++

Позначення:

key - ключ шифрування;

msg - масив для повідомлення

a - рядок для зашифрованого повідомлення

b - рядок для розшифрованого повідомлення

Тіло програми:

#include <cstdlib>

#include <iostream>

#include <string>

#include <conio.h>

#include <stdlib.h>

#include <sstream>

#include <fstream>

using namespace std;

int main()

{

char msg[100], key[100];

string a;

string b;

cout<<"Vvedit msg "<<endl;

cin>>msg;

cout<<"Vvedit key"<<endl;

cin>>key;

int len=strlen(msg);

cout<<"Length of a key: "<<len<<endl;

int y=0;

for(int i=strlen(key); i<strlen(msg); i++)

{key[i]=key[y];

y++;

}

cout<<"key: "<< key<<endl;

for(int i=0; i<len; i++)

a+=char((int (msg[i])+int (key[i]))%127);

cout<<"Shyfr: "<<a<<endl;

for(int i=0; i<len; i++)

b+=char((int (a[i])-int (key[i])+127)%127);

cout<<"DeShyfr: "<<b<<endl;

getch();

return 0;

}

2. Шифр з автоключем

шифрування криптоаналіз віженер автоключ

2.1 Теоретичні відомості

Розглянемо ще один потоковий шифр, в якому кожна буква шифрується в залежності не тільки від її місця у відкритому тексті, але й від інших букв відкритого тексту. Такий шифр називається шифром з автоключем. Під відкритим текстом підписують ключове слово , а далі - сам відкритий текст (зсунутий на позицій вправо) і ці дві послідовності додають за :

При криптоаналізі спочатку знаходять довжину ключового слова . Якщо деяка -грама двічі зустрічається у відкритому тексті на відстані 2, то в шифротексті на відстані також будуть однакові -грами. Наприклад:

Таким чином, аналізуючи відстані між однаковими -грамами у шифротексті, можна знайти . Для визначення першої букви ключового слова розглядають фрагмент шифротексту Перебирають значення і для кожного підраховують .

Ці рівності будуть вірними, коли збігається з істинним. При цьому частоти букв у зазначеній послідовності близькі до частот букв у відкритому тексті, а при невірному частоти згладжені. Так само знаходять і решту букв ключового слова.

2.2 Реалізація на C++

Позначення:

key - ключ шифрування;

msg - масив для повідомлення;

a - рядок для зашифрованого повідомлення;

b - рядок для розшифрованого повідомлення;

n - кількість букв алфавіту;

Тіло програми:

#include <cstdlib>

#include <iostream>

#include <string>

#include <conio.h>

#include <stdlib.h>

#include <sstream>

#include <fstream>

using namespace std;

int main()

{

char msg[100], key[100];

string a;

string b;

cout<<"Write a msg "<<endl;

cin>>msg;

cout<<"Think of a key"<<endl;

cin>>key;

int len=strlen(msg);

cout<<"Msg length: "<<len<<endl;

int y=0;

for(int i=strlen(key); i<strlen(msg); i++)

{key[i]=msg[y];

y++;

}

cout<<" New key: "<< key <<endl;

for(int i=0; i<len; i++)

a+=char((int (msg[i])+int (key[i])+127)%127);

cout<<"Code: "<<a<<endl;

for(int i=0; i<len; i++)

b+=char((int (a[i])-int (key[i])+127)%127);

cout<<"DeCode: "<<b<<endl;

getch();

return 0;

}

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


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

  • Використання адитивних властивостей множин у системі шифрування Цезаря. Розгляд основних етапів процедури шифрування. Шифр перестановки з використанням шифруючої таблиці. З'ясування особливостей шифруючих таблиць Трисемуса та біграмного шифру Плейфейра.

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

  • Розробка VHDL-програми та синтез елементів пристрою для реалізації підстановки в S-блоках алгоритму DES. Основна функція шифрування (функція Фейстеля). Генерування ключів ki. Проведення симуляції роботи даних програм в середовищі САПР Aldec Riviera 2004.

    курсовая работа [176,9 K], добавлен 21.01.2013

  • Відомі підходи до реалізації потокового шифрування даних. Регістр зсуву з оберненими зв’язками. Комбінуючий та фільтруючий генератор. Потоковий шифр Alpha1. Розробка структурної схеми алгоритму шифрування Alpha1. Розробка блоку керування пристрою.

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

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

    реферат [36,0 K], добавлен 06.04.2010

  • Сучасні методи захисту текстової інформації. Порівняльний аналіз шифру Бекона з іншими відомими шифрами. Практичне використання алгоритмів кодування тексту. Написання програми "Шифр Бекона", використані компоненти для реалізації алгоритму, їх властивості.

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

  • Вивчення особливості програмування додатків на мові C++ Builder. Шифрування повідомлення методом перестановки букв за маршрутами типу гамільтонський. Огляд існуючих аналогів. Розгляд необхідних вимог до конфігурації електронно-обчислювальної машини.

    контрольная работа [1,2 M], добавлен 24.07.2014

  • Сутність і напрямки вивчення методики шифрування алгоритмами збивання. Поняття та структура алгоритму DES, оцінка його переваг та недоліків. Підключ як деяка ключова інформація, яка отримується з основного ключа шифрування, його аналіз і значення.

    лабораторная работа [99,5 K], добавлен 18.11.2015

  • Розгляд матеріалу з розрахунку рецептур. Аналоги програм та сайтів по розрахунку рецептур, створення алгоритму побудови програми. Оптимізація калькулятору з розрахунку рецептур. Проектування алгоритму та програмного забезпечення для його реалізації.

    курсовая работа [52,0 M], добавлен 28.03.2023

  • Визначення криптографічних методів захисту інформації як способів шифрування та кодування даних, які потребують ключа і оберненого перетворення. Характеристика принципу гаммування. Криптоаналіз лінійних конгруентних генераторів псевдовипадкових чисел.

    курсовая работа [242,4 K], добавлен 01.02.2012

  • Загальна характеристика застосування верстатів з числовим програмним управлінням. Разгляд етапів та особливостей складання керуючої програми. Вимоги до алгоритму розв’язку задачі. Побудова блок-схеми алгоритму. Опис програмного забезпечення, вибір мови.

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

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