0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 16
1

Криптографическая атака на шифр простой замены

19.12.2015, 10:07. Показов 5125. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кто-нибудь знает,как выполнить это задание?Помогите,если можете!
Используя частотный анализ текста, расшифруйте следующее
сообщение: «ТПБЙ АБРЮЙ ЕДТБПРЛМ, ЦРМ Т ЙМОБ ТМАВ
ПМИБЛВЮ, В Т ОБЗБ НОБПЛВЮ. НМНОМЯМТВТ ББ ЛВ ТЗСП,
ЙМГЛМ МЧСРЕРЫ ЛБ НОМПРМ ЛБНОЕЮРЛЪЖ ТЗСП, В
ЛВПРМЮЧСЭ КМОБЦЫ ТМ ОРС. ЦВПРМ АБРЕ ДВАСЙЪТВЭРПЮ
ЛВА РБЙ, НМЦБЙС ЙМОБ ПМИБЛМБ, ЗВЗ РСАВ НМНВАВБР ПМИЫ Е
МРЗСАВ МЛВ ЯБОБРПЮ?». Для автоматизации процесса можно
использовать любые известные вам средства статистической обработки
информации
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2015, 10:07
Ответы с готовыми решениями:

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

Криптографическая атака на шифр Венжера
Друзья, помогите с задачкой: Расшифруйте следующее сообщение: «ДНРСМ (ХЖРЧСР ЛЭЪШ, ФЗСЁЧВ МЦХ,...

Криптографическая атака на шифр Виженера
Помогите, если сможете!!!!!!!Пожалуйста!!!!!!! Расшифруйте следующее сообщение: «ХЯХХ ДРЛХХЯ –...

Шифр простой замены
Одним из самых простых способов шифрования открытого текста является шифр простой замены. Он...

8
Модератор
9821 / 5175 / 3297
Регистрация: 17.08.2012
Сообщений: 15,826
21.12.2015, 00:46 2
Лучший ответ Сообщение было отмечено fedorovavik как решение

Решение

Как будет указано ниже, частотный анализ букв в заданном сообщении не позволяет дешифровать его, слишком оно короткое. Можно, конечно, найти в этом тексте уникальные леммы и анализировать это дело с помощью частотного анализа. Однако, для этого нужно в программе использовать частотный словарь лемм. Вряд ли кто возьмётся за написание такого анализатора, мне, например, лень. Поэтому я состряпал программку (иначе не скажешь, не оптимизированная, сырая программа, однако, задачу свою она выполнила):
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
const freq = 'ОАЕИНТРСЛВКПМУДЯЫЬЗБГЙЧЮХЖШЦЩФЭЪЁ';
      fd = length(freq);
      txt: array [1..6] of string =
        ('ТПБЙ АБРЮЙ ЕДТБПРЛМ, ЦРМ Т ЙМОБ ТМАВ',
         'ПМИБЛВЮ, В Т ОБЗБ НОБПЛВЮ. НМНОМЯМТВТ ББ ЛВ ТЗСП,',
         'ЙМГЛМ МЧСРЕРЫ ЛБ НОМПРМ ЛБНОЕЮРЛЪЖ ТЗСП, В',
         'ЛВПРМЮЧСЭ КМОБЦЫ ТМ ОРС. ЦВПРМ АБРЕ ДВАСЙЪТВЭРПЮ',
         'ЛВА РБЙ, НМЦБЙС ЙМОБ ПМИБЛМБ, ЗВЗ РСАВ НМНВАВБР ПМИЫ Е',
         'МРЗСАВ МЛВ ЯБОБРПЮ?');
var s: array [1..fd] of byte;
    fr, code, prn, chg: string;
    b: char;
    i, j, p, t: byte;
begin
  fr := freq;
  code := freq;
  for i := 1 to fd do s[i] := 0;
  for i := 1 to 6 do
    for j := 1 to length(txt[i]) do
      if pos(txt[i][j], fr) > 0 then inc(s[pos(txt[i][j], fr)]);
  for i := 1 to fd - 1 do
    begin
      p := i;
      for j := i + 1 to fd do if s[p] < s[j] then p := j;
      if p <> i
        then begin
          t := s[i];
          s[i] := s[p];
          s[p] := t;
          b := code[i];
          code[i] := code[p];
          code[p] := b
        end;
    end;
  for i := 1 to fd do write(code[i], s[i]:2, ' ');
  writeln;
  repeat
    for i := 1 to 6 do
      begin
        prn := txt[i];
        for j := 1 to length(prn) do if pos(prn[j], code) > 0 then prn[j] := fr[pos(prn[j], code)];
        writeln(prn)
      end;
    write('2 буквы: ');
    readln(chg);
    if length(chg) = 2
      then begin
        i := pos(chg[1], fr);
        j := pos(chg[2], fr);
        b := fr[i];
        fr[i] := fr[j];
        fr[j] := b
      end
  until length(chg) = 1;
  for b := 'А' to 'Е' do write(b); write('Ё'); for b := 'Ж' to 'Я' do write(b);
  writeln;
  for b := 'А' to 'Е' do write(code[pos(b, fr)]); write(code[pos('Ё', fr)]); for b := 'Ж' to 'Я' do write(code[pos(b, fr)]);
  writeln;
  readln
end.
Запускаем... И видим отсортированные количества повторения различных букв в заданной фразе:

М25 О25 А25 Е25 И25 Н25 Т25 Р25 С25 Л25 В25 К25 П25 Б22 У22 Д22 Я22 Ы22 Ь22 З22
Й 8 Г 8 Ю 7 Ч 7 Ц 4 Х 4 Ж 4 Ш 4 Э 2 Щ 2 Ф 2 Ъ 2


Как видим, имеется шесть групп символов, частоты которых одинаковы: МОАЕИНТРСЛВКП, БУДЯЫЬЗ, ЙГ, ЮЧЦ, ХЖШ, ЭЩФЪ. Получается, ничего с помощью частотного анализа появления букв из фразы не выловить.

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

ВСЕМ ДЕТЯМ ИЗВЕСТНО, ЧТО В МОРЕ ВОДА
СОЛЕНАЯ, А В РЕКЕ ПРЕСНАЯ. ПОПРОБОВАВ ЕЕ НА ВКУС,
МОЖНО ОЩУТИТЬ НЕ ПРОСТО НЕПРИЯТНЫЙ ВКУС, А
НАСТОЯЩУЮ ГОРЕЧЬ ВО РТУ. ЧАСТО ДЕТИ ЗАДУМЫВАЮТСЯ
НАД ТЕМ, ПОЧЕМУ МОРЕ СОЛЕНОЕ, КАК ТУДА ПОПАДАЕТ СОЛЬ И
ОТКУДА ОНА БЕРЕТСЯ?


И выяснена таблица замены:

АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
ВЯТКАБГДЕЖЗИЙЛМНОПРСЩЬШЦХЧУЪЫФЭЮ


Видно, что применена простая замена с кодовым словом, кодовое слово "ВЯТКА" (или "ВЯТК").
2
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 16
21.12.2015, 14:53  [ТС] 3
Огромное спасибо!Я тоже пыталась путем подбора и перестановок расшифровать текст, но у меня всякий бред получался, чуть голова не закипела!!!!!!!!!)))))
0
Модератор
9821 / 5175 / 3297
Регистрация: 17.08.2012
Сообщений: 15,826
21.12.2015, 16:03 4
Сначала глаз зацепился за ББ, я предположил, что буква Ё не используется, а две одинаковых буквы в двухбуквенном слове... ЕЁ только, или, если без Ё, то ЕЕ. Далее обратил внимание на ЗВЗ. Ну что это может быть? ИЛИ, КАК, ТУТ, ТОТ, в крайнем случае, ПОП. Заодно отслеживал однобуквенные слова, чтобы они были похожи на предлоги, в крайнем случае, на местоимение "Я". Ну и, так далее, подумал, переставил буквы, оценил...
0
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 5
21.12.2015, 16:45 5
Добрый день! Пробую использовать данную программу, не получается даже компилировать. Пишется: "переменной t присвоено значение, но оно нигде далее не используется". Может кто может помочь с подобной расшифровкой? Нужно расшифровать следующее: "«ЗЯЗ ГВ НОЕЮРКМ ТЪЖРЕ ЮПКЪЙ БКЁЙ КЯ НОЕОМБС Е КЯПИЯБЕРЫПЮ ФМОМЩЕЙ ТЕБМЙ, НОВЗОЯПКМЖ НМАМБМЖ Е АМИСЛЪЙ КВЛМЙ. ПЯЙМВ ЗОЯПЕТМВ – ЕЙВККМ ИЯДСОКМВ КВЛМ. ЕЙ РЯЗ БЯТКМ ИЭЛСЭРПЮ ИЭБЕ, ЦРМ БЯГВ НОЕБСЙЯИЕ КЯДТЯКЕВ ХТВРЯ, – КВЛВПКМ-АМИСЛМЖ.»
0
fedorovavik
21.12.2015, 17:30  [ТС]
  #6

Не по теме:

У меня еще вопрос почти по данной теме!Вот это задание: Криптографическая атака на шифр Виженера можно выполнить таким же методом?

0
Модератор
9821 / 5175 / 3297
Регистрация: 17.08.2012
Сообщений: 15,826
21.12.2015, 21:47 7

Не по теме:

Цитата Сообщение от fedorovavik Посмотреть сообщение
можно выполнить таким же методом?
fedorovavik, не совсем. В программу нужно добавить поиск длины кодового слова и изменить вид таблицы замены. Будет время, сделаю.

Цитата Сообщение от Maxmax91 Посмотреть сообщение
не получается даже компилировать
Компилировать-то получается... А вот я слишком старался писать сообщение, и по невнимательности оставил в теме черновой вариант кода... Доулучшался... Алгоритмическая ошибка в строке 29... И алгоритмическая ошибка в строках 45..50... Исправил. Также добавил Ё в первую строку.
Цитата Сообщение от Maxmax91 Посмотреть сообщение
Может кто может помочь
Да запросто. Изменяем строки:
Pascal
4
5
6
7
8
9
        ('ЗЯЗ ГВ НОЕЮРКМ ТЪЖРЕ ЮПКЪЙ БКЁЙ ',
         'КЯ НОЕОМБС Е КЯПИЯБЕРЫПЮ ФМОМЩЕЙ ТЕБМЙ, ',
         'НОВЗОЯПКМЖ НМАМБМЖ Е АМИСЛЪЙ КВЛМЙ. ',
         'ПЯЙМВ ЗОЯПЕТМВ – ЕЙВККМ ИЯДСОКМВ КВЛМ. ',
         'ЕЙ РЯЗ БЯТКМ ИЭЛСЭРПЮ ИЭБЕ, ЦРМ ',
         'БЯГВ НОЕБСЙЯИЕ КЯДТЯКЕВ ХТВРЯ, - КВЛВПКМ-АМИСЛМЖ.');
Запускаем...

Частотное распределение букв в сообщении:

М21 К16 Е15 Я15 В13 Й10 О 9 Б 9 П 8 Р 7 И 7 Л 6 С 6 Т 6 З 5 Н 5 Ю 4 Ж 4 А 3 Э 3
Ъ 3 Д 2 Г 2 Ы 1 Х 1 Ц 1 Щ 1 Ф 1 Ё 1 Ь 0 У 0 Ч 0 Ш 0


Аж 15 групп! Прекрасно!

Расшифрованное сообщение:

КАК ЖЕ ПРИЯТНО ВЫЙТИ ЯСНЫМ ДНЁМ
НА ПРИРОДУ И НАСЛАДИТЬСЯ ХОРОШИМ ВИДОМ,
ПРЕКРАСНОЙ ПОГОДОЙ И ГОЛУБЫМ НЕБОМ.
САМОЕ КРАСИВОЕ - ИМЕННО ЛАЗУРНОЕ НЕБО.
ИМ ТАК ДАВНО ЛЮБУЮТСЯ ЛЮДИ, ЧТО
ДАЖЕ ПРИДУМАЛИ НАЗВАНИЕ ЦВЕТА, - НЕБЕСНО-ГОЛУБОЙ.


Таблица замены:

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
ЯЛТАБВЁГДЕЖЗИЙКМНОПРСЬФХЦЩШЧЪЫУЭЮ


Простая замена с кодовым словом, кодовое слово "ЯЛТА" (или "ЯЛТ").
1
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 5
22.12.2015, 04:58 8
Большое спасибо за помощь! Из данного текста до этого было расшифрованно только несколько букв, К,А,Т,Д,Р,И, теперь все сходится!
0
Модератор
9821 / 5175 / 3297
Регистрация: 17.08.2012
Сообщений: 15,826
22.12.2015, 13:26 9
Небольшой секрет Полишинеля. При замене следует пользоваться статистикой частоты букв в русском языке. Наиболее часто встречающиеся в русском языке буквы составляют слово "осетрина", и в первом приближении соответствия удобно искать по "осетрина", а далее по смыслу.

Добавлено через 1 минуту

Не по теме:

Что делать... Исконно русская еда...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 13:26
Помогаю со студенческими работами здесь

Расшифровать числовой шифр (предположительно шифр простой замены)
Доброго времени суток! Не могу расшифровать такое вот послание: ...

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

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

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

Шифр простой замены
Доброго времени суток, помогите расшифровать текст. В нем нет пробелов и знаков препинания....

Шифр простой замены
Здравствуйте,помогите,пожалуйста,расшифровать текст: &quot;61 52 16 36 26 14 54 16 45 24 29 45 95 11 29...


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

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

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