20 / 20 / 11
Регистрация: 26.11.2012
Сообщений: 164
Записей в блоге: 2
1

Шифр монофонической замены

06.06.2013, 17:11. Показов 6294. Ответов 2
Метки нет (Все метки)

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

А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я _
Ф Н ( Щ И Г Е R A Д Ы ~ @ S Л Я Ж ^ C Ш М Б Q П Т Х Ю Ъ Р } \ _ #
* Н У Щ D + Е R = Д Ц Й Ч [ В Ь ) O & { М Б Q П Т Х Ю Ъ Р } \ _ <
Л Н ( Щ И ] Е R % Д Ы ~ @ G / Я Э З " Ш М Б Q П Т Х Ю Ъ Р } \ _ W
Ф Н У Щ D К Е R A Д Ц Й Ч S + Ь Ж ^ C { М Б Q П Т Х Ю Ъ Р } \ _ V

в инете не нашла готовой программы, а самой делать сложно =( помогите пожалуйста!

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

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

Добавлено через 16 минут
Шифрование проводится так же, как и при простой подстановке, с той лишь разницей, что после шифрования каждого символа соответствующий ему столбец алфавитов циклически сдвигается вверх на одну позицию. Таким образом, столбцы алфавитов как бы образуют независимые друг от друга кольца, поворачиваемые вверх на один знак каждый раз после шифрования соответствующего знака исходного текста.
- мне вот это непонятно объясните человеческим языком хотя бы..
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2013, 17:11
Ответы с готовыми решениями:

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

Криптографическая атака на шифр простой замены
Кто-нибудь знает,как выполнить это задание?Помогите,если можете! Используя частотный анализ...

Криптографическая атака на шифр простой замены
Добрый день! Может ли кто справиться с данной задачей? Используя частотный анализ текста,...

Вывести файл до замены и после замены.
Нужно что бы было видно файл до замены и после замены. Program fail; uses crt; var f:text; ct:...

2
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
12.06.2013, 11:53 2
Лучший ответ Сообщение было отмечено mute как решение

Решение

...как я себе все это представляю по условию (написано в Pascalabc)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
uses crt;
type mas=array [1..5,1..33] of char;
const StartTable: mas =
     (('А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ы','Ъ','Э','Ю','Я',' '),
      ('Ф','Н','(','Щ','И','Г','Е','R','A','Д','Ы','~','@','S','Л','Я','Ж','^','C','Ш','М','Б','Q','П','Т','Х','Ю','Ъ','Р','}','\',' ','#'),
      ('*','Н','У','Щ','D','+','Е','R','=','Д','Ц','Й','Ч','[','В','Ь',')','O','&','{','М','Б','Q','П','Т','Х','Ю','Ъ','Р','}','\',' ','<'),
      ('Л','Н','(','Щ','И',']','Е','R','%','Д','Ы','~','@','G','/','Я','Э','З','"','Ш','М','Б','Q','П','Т','Х','Ю','Ъ','Р','}','\',' ','W'),
      ('Ф','Н','У','Щ','D','К','Е','R','A','Д','Ц','Й','Ч','S','+','Ь','Ж','^','C','{','М','Б','Q','П','Т','Х','Ю','Ъ','Р','}','\',' ','V'));
 
procedure CodeString(var s: string);
var ShifrTable: mas;
    i,number: byte;
 
procedure Drift(nj: byte; var z: mas);
var i: byte;
    buf: char;
begin
buf:=z[2,nj];
for i:=2 to 4 do
    z[i,nj]:=z[i+1,nj];
z[5,nj]:=buf;
end;
 
function ColumnNumber(c: char): byte;
var i,temp: byte;
begin
ColumnNumber:=0;
for i:=1 to 33 do
    if upcase(c)=StartTable[1,i] then ColumnNumber:=i;
end;
 
begin
ShifrTable:=StartTable;
for i:=1 to length(s) do
    begin
    number:=ColumnNumber(s[i]);
    if number<>0 then
       begin
       s[i]:=ShifrTable[2,number];
       Drift(number,ShifrTable);
       end;
    end;
end;
 
procedure DeCodeString(var s: string);
var ShifrTable: mas;
    i,number: byte;
 
procedure DriftDown(nj: byte; var z: mas);
var i: byte;
    buf: char;
begin
buf:=z[5,nj];
for i:=5 downto 3 do
    z[i,nj]:=z[i-1,nj];
z[2,nj]:=buf;
end;
 
function ColumnNumber(c: char; z: mas): byte;
var i: byte;
begin
ColumnNumber:=0;
for i:=1 to 33 do
    if c=z[2,i] then ColumnNumber:=i;
end;
 
begin
ShifrTable:=StartTable;
for i:=1 to length(s) do
    begin
    number:=ColumnNumber(s[i],ShifrTable);
    if number<>0 then
       begin
       s[i]:=ShifrTable[1,number];
       DriftDown(number,ShifrTable);
       end;
    end;
end;
 
var str: string;
begin
write('str='); readln(str);
CodeString(str);
writeln('str=',str);
DeCodeString(str);
writeln('str=',str);
readkey
end.
2
20 / 20 / 11
Регистрация: 26.11.2012
Сообщений: 164
Записей в блоге: 2
12.06.2013, 17:04  [ТС] 3
ОО спасиба (слёзы счастия ) даже разбираться не буду наверняка правильно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 17:04
Помогаю со студенческими работами здесь

Возможно ли, чтобы предложение для замены слова писалось перед словами для замены
Возможно ли, чтобы предложение для замены слова писалось перед словами для замены?program Project1;...

Шифр монофонической замены
Этот шифр более криптостойкий по сравнению с обычным шифром замены. В данном случае 6 символов...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru