Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Программная реализация методов симметричного шифрования

Автор:   •  Октябрь 16, 2019  •  Реферат  •  1,266 Слов (6 Страниц)  •  523 Просмотры

Страница 1 из 6

СОДЕРЖАНИЕ

1.        Задание        3

2.        Описание выбранного метода шифрования        4

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

4.        Пример реализации        6


  1. Задание

  1. Ознакомиться с теоритической частью.
  2. Выбрать любой из симметричных шифров, реализовать его программно, используя любой язык программирования.
  3. Оформить практическую работу в виде отчёта, согласно шаблону.
    2) Описание выбранного метода шифрования

Опишите как можно подробнее выбранный метод с математическими выкладками, иллюстрациями, ссылками на источники литературы. Ссылки на источники оформите по ГОСТ 7.1-2003

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

б

в

г

д

ж

з

к

л

м

н

щ

ш

ч

ц

х

ф

т

с

р

п

То есть, все согласные буквы делились на две равные части, вторая часть записывалась под первой с обратной стороны (первой букве из первой части соответствовала последняя буква из второй и т.д.).

В нашем случае используются латинские буквы, и первой букве из первой части  также соответствует последняя буква из второй (b -> z т.д.).

b

c

d

f

g

h

j

k

l

m

z

x

w

v

t

s

r

q

p

n


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

Приводится исходный код программы с комментариями

#pragma hdrstop

#pragma argsused

#include //подключение библиотеки ввода и вывода

#include // подключение математических операций

#include

#include

#include // подключение русской библиотеки, для вывода простого меню

char* rus(const char* text)

{ char* buffRus=new char[strlen(text)];

CharToOem(text, buffRus);

return buffRus;}

using namespace std;

int main(void)

{cout<

printf("\n");

{

{int size; // задается переменная размера массива

cout<

cin >>size; // ввод размерности массива с клавиатуры

char *p_darr = new char[size]; //задание массива с размерностью, введенной ранее

cout <

for (int i=0; i

cin>> p_darr[i];

for (int i=0; i

{

if (p_darr[i]=='a'||p_darr[i]=='A') {cout<<"a";}

                if (p_darr[i]=='b'||p_darr[i]=='B') {cout<<"z";}

                if (p_darr[i]=='c'||p_darr[i]=='C') {cout<<"x";}

                if (p_darr[i]=='d'||p_darr[i]=='D') {cout<<"w";}

...

Скачать:   txt (7.5 Kb)   pdf (505.5 Kb)   docx (379 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club