DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Класичні методи шифрування. Шифр з автоключем

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Методи та засоби криптологічних перетворень
Група:
ІБ – 44

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЗІ  Лабороторна робота №1 з курсу «Методи і засоби криптологічних перетворень» на тему: «Класичні методи шифрування. Шифр з автоключем» Мета роботи: ознайомитися з класичними методами шифрування (шифр простої заміни, поліграмні, поліалфавітні шифри, шифрування блоками, шифри перестановки). Завдання: Написати програму на мові програмування С/С++ для реалізації методу шифрування/дешифрування відкритого тексту за допомогою шифру з автоключем (довжина ключа – 3). Короткі теоретичні відомості Шифр з автоключем відноситься до класу полі алфавітних шифрів і ґрунтується на ідеях Віженера і Кардано. Подібно до шифру Віженера, криптотекст отримують сумуванням відкритого тексту із послідовністю букв такої ж довжини. Проте цю послідовність записують дещо інакше, ніж у шифрі Віженера – спочатку записують ключ, а справа до нього дописують початковий відрізок самого відкритого тексту. Розглянемо це на прикладі: БОРОНІТЬКОРОЛІВНУВІДВОРОГІВ + КЛЮЧБОРОНІТЬКОРОЛІВНУВІДВОР ЛАОЇОЩЗЛЮЩЗЛЩЩТВДЙЙТХРЮУДЩТ Відкритий текст і криптотекст у шифрі з автоключем записуються у одному і тому ж алфавіті. Для знаходження криптотексту зручно користуватися таблицею Віженера:  Шифр з автоключем також піддається криптоаналізу за методом Казізкі. За цим методом визначається довжина ключа, потім ключове слово знаходиться перебором. В основі крипто аналізу є те, що деякі слова в кожній мові єчасто вживані. Тому можна сподіватися, що відстань між ними у досить довгому тексті хоча б раз виявиться кратною періоду, а це приведе до появи однакових l-грам в крипто тексті, відстань між якими кратна довжині ключа. На відміну від шифру простої заміни, при використанні шифру з автоключем, однаковим буквам у відкритому тексті можуть відповідати різні букви у криптотексті. Ця обставина безперечно ускладнює частотний аналіз. Текст програми #include<stdio.h> #include<string.h> #define M 100 #define K 3 void main(void) { char alfavit[100] = { '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','a' }; char dwerelo[M], kluch[K], shyfr[M], rozshyfr[M]; int cyftext[M], cyfkluch[K], avtocluch[M], cyfshyfr[M], cyfrozshyfr[M]; int i, j, t, k, a; a = strlen(alfavit) - 1; printf("\n\n\t vidkrytuy text \t"); scanf("%s", dwerelo); t = strlen(dwerelo) - 1; for (i=0; i<=t; i++) { for (j=0; j<=a; j++) { if (dwerelo[i] == alfavit[j]) cyftext[i] = j; } } printf("\n\t kluch \t\t"); scanf("%s", kluch); k = strlen(kluch) - 1; for (i=0; i<=k; i++) { for (j=0; j<=a; j++) { if (kluch[i] == alfavit[j]) cyfkluch[i] = j; } } for (i=0; i<=k; i++) avtocluch[i] = cyfkluch[i]; for (i=(k+1); i<=t; i++) avtocluch[i] = cyftext[i-(k+1)]; for (i=0; i<=t; i++) { cyfshyfr[i] = cyftext[i] + avtocluch[i]; if (cyfshyfr[i] > a) cyfshyfr[i] -= a; } printf("\n\n\t shyfrovanuy text \t"); for (i=0; i<=t; i++) printf("%c", alfavit[cyfshyfr[i]]); for (i=0; i<=k; i++) { cyfrozshyfr[i] = cyfshyfr[i] - cyfkluch[i]; if ( cyfrozshyfr[i] < 0) cyfrozshyfr[i] += a; } for (i=(k+1); i<=t; i++) { cyfrozshyfr[i] = cyfshyfr[i] - cyfrozshyfr[i-(k+1)]; if (cyfrozshyfr[i] < 0) cyfrozshyfr[i] += a; } printf("\n\n\t rozshyfrovanuy text \t"); for (i=0; i<=t; i++) printf("%c", alfavit[cyfrozshyfr[i]]); getch(); return; } Результат виконання програми  Блок-схема програми - + - + - + + Висновки: на даній лабораторній роботі я реалізувала класичний метод шифрування, а саме шифр з автоключем, перевагою такого шифру є простота реалізації, а недоліком-недостатня стійкість (хоча він є стійкіший у порівнянні, н-д, з шифром зсуву). Цей шифр піддається частотному аналізу, і останній буде більш ефективним, коли довжина тексту співвідносно з довжиною ключа є великою.
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!