Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31

Шифр простой замены

08.03.2017, 13:21. Показов 9991. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Одним из самых простых способов шифрования открытого текста является шифр
простой замены. Он состоит в том, что каждая буква в алфавите, которым написано
открытое сообщение, заменяется на какой-то другой символ, например, другую букву того
же алфавита. Пусть дана таблица замены, использующая для замены только 33 буквы
русского алфавита в верхнем регистре (заглавные буквы):

СообщениеШифртекстСообщениеШифртекстСообщениеШифртекст
АГКТХЗ
БШЛХЦЖ
ВЫМЯЧЛ
ГОНЬШЁ
ДЭОФЩН
ЕЦПУЪД
ЁМРКЫЕ
ЖЪСЮЬБ
ЗЩТРЭЧ
ИАУПЮИ
ЙВФСЯЙ

Если применить замену, заданную такой таблицей, к слову «ДОМ», получится
зашифрованный текст «ЭФЯ». Если применить замену к полученному результату, из
«ЭФЯ» получится «ЧСЙ», а из «ЧСЙ» таким способом можно получить текст «ЛЮВ».
Известно, что через некоторое количество применений замены полученный результат
совпадет с исходным словом «ДОМ», после чего результаты замены начнут повторяться.
Определите, сколько различных шифртекстов (включая совпадающий с исходным
словом) можно получить из произвольного заданного слова по произвольно заданной
таблице замены таким способом.
Рекомендации.
До начала работы над программной реализацией постарайтесь найти ответы на
следующие вопросы:
1. Сколько различных зашифрованных текстов (включая и совпадающий с открытым
текстом) можно получить одной операцией замены из открытого текста с n
различными буквами, используя все возможные таблицы замены.
2. Можно ли получить все возможные зашифрованные тексты (число которых
установлено в пункте 1), применяя к результату зашифрования операцию замены
символов по одной и той же таблице неограниченное число раз.
Формат входного файла:
В первой строке файла задана последовательность заглавных букв, заменяющих буквы,
стоящие в алфавитном порядке (таблица замены). Например, приведенной выше таблице
соответствует строка «ГШЫОЭЦМЪЩАВТХЯЬФУКЮРПСЗЖЛЁНДЕБЧИЙ». В
следующей строке задано слово, являющееся открытым текстом – в верхнем регистре
(заглавными буквами) без пробелов. Например, слово «КРИПТОАНАЛИЗ».
Каждая из этих строк заканчивается либо символами с кодами 13, 10 (окончание строк
DOS – для Pascal ABC .NET), либо символом с кодом 10 (окончание строк Unix) в
зависимости от выбранного при сдаче программы типа конца строк. Никаких других
символов в двух входных строка не встречается.
Русский текст задан в кодировке Windows-1251 (cp1251). В ней заглавные русские буквы
от "А" до "Я" кроме буквы "Ё" имеют коды от 192 (шестнадцатеричное C0) до 223
(шестнадцатеричное DF). Буква "Ё" имеет код 168 (шестнадцатеричное A8). Русские
буквы (кроме "Ё") упорядочены по алфавиту.
Формат выходного файла:
В единственной строке выведите число, соответствующее количеству различных
возможных шифртекстов, которые можно получить из заданного открытого текста с
помощью заданной таблицы замены.

Примеры:

in.txtout.txt
ГШЫОЭЦМЪЩАВТХЯЬФУКЮРПСЗЖЛЁНДЕБЧИЙ
КРИПТОАНАЛИЗ
42
УКЮРПСЗЖЛЁНДЕБЧИЙГШЫОЭЦМЪЩАВТХЯЬФ
СВЕРХСЕКРЕТНО
154
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2017, 13:21
Ответы с готовыми решениями:

Шифр Омофонной замены
Программа расшифровывания закрытого текста, зашифрованного с помощью шифра омофонной замены Очень нужна помощь этой программой, её...

Шифрование методом простой замены в Pascal ABC
Доброго времени суток! Имею такое задание: Дан тест, зашифрованный методом простой замены. Требуется выполнить его дешифровку. Нужно...

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

3
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,434
08.03.2017, 13:51
Криптографическая атака на шифр простой замены
0
Модератор
10428 / 5716 / 3404
Регистрация: 17.08.2012
Сообщений: 17,380
09.03.2017, 10:52
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const a = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var f: text;
    c, t, m: string;
    i, k: integer;
begin
  assign(f, 'in.txt');
  reset(f);
  readln(f, c);
  readln(f, t);
  close(f);
  m := t;
  k := 0;
  repeat
    for i := 1 to length(m) do m[i] := c[pos(m[i], a)];
    inc(k)
  until t = m;
  assign(f, 'out.txt');
  rewrite(f);
  writeln(f, k);
  close(f)
end.
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31
09.03.2017, 12:51  [ТС]
спасибо, а вы не думали над вопросами , ведь в 1 насколько я понимаю ответ n^33 , а это задание олимпиадное, и могут дать такой тест что по времени программа не справится, у меня такое же решение сначала было но потом я подумал что тут все не так просто
Цитата Сообщение от Khooni Посмотреть сообщение
1. Сколько различных зашифрованных текстов (включая и совпадающий с открытым
текстом) можно получить одной операцией замены из открытого текста с n
различными буквами, используя все возможные таблицы замены.
2. Можно ли получить все возможные зашифрованные тексты (число которых
установлено в пункте 1), применяя к результату зашифрования операцию замены
символов по одной и той же таблице неограниченное число раз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2017, 12:51
Помогаю со студенческими работами здесь

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

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

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

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

Сортировка массива по возрастанию/убыванию методами простого выбора и простой замены
Написать 2 процедуры или функции, которые выполняют сортировку массива по возрастанию ( или по убыванию ) методами простого выбора и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru