М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
муркот11
муркот11
26.01.2023 11:55 •  Информатика

Шифр Цезаря - один из самых простых и широко известных методов шифрования. Также известен как шифр сдвига. Для шифрования используется ключ к, который является числом. Зашифрованный текст получается из исходного, путем замены каждого символа на отстоящий от него на величину k(y i =x i +k , соответственно x 1 =y 1 -k) Например, слово ЯБЛОКО при k = 1 после шифрования будет иметь вид АВМПЛП (каждая буква заменена на следующую за ней в алфавитном порядке).

ответом является фраза, записанная прописными буквами без использования

Была зашифрована фраза на английском языке, причем для шифрования четных и нечетных символов были использованы разные ключи К. После шифрования получился следующий текст: WWOLZIGSOWOZVFIWQWM. Требуется выяснить искомую фразу при условии, что разница между ключами k1 и k2 равна 3.

👇
Ответ:
kbbekvwo
kbbekvwo
26.01.2023

Better late than never - Лучше поздно чем никогда

Объяснение:

Если четные и нечетные символы зашифрованы разными ключами, то вначале нужно привести их к одному ключу. Известно что разность между k1 и k2 составляет 3 символа. Значит нечетный ключ больше четного на 3. Например если для нечетных символов использовался сдвиг 5, то для четных будет использован сдвиг 2 (потому что 5-3=2).

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

W - не трогаем

W- меняем на Z

O - не трогаем

L - меняем на O

Z - не трогаем

I - меняем на L

G - не трогаем

S - меняем на V

O - не трогаем

W - меняем на Z

O - не трогаем

Z - меняем на C

V - не трогаем

F - меняем на I

I - не трогаем

W - меняем на Z

Q - не трогаем

W - меняем на Z

M - не трогаем

Получаем новую фразу:

W Z O O Z L G V O Z O C V I I Z Q Z M

где нечетные и четные символы зашифрованы одним и тем же ключом.

Поскольку в английском алфавите всего 26 букв, то число ключей составляет всего 25 штук, после чего они просто начнут повторятся.

Используя новую полученную фразу и английский алфавит пробуем заменить все буквы на следующие по порядку со сдвигом 1. Получаем текст

XAPPAMHWPAPDWJJARAN - бессмыслица. Тогда пробуем заменить текст со сдвигом на 2 буквы. получим фразу:

YBQQBNIXQBQEXKKBSBO - тоже не имеет смысла.

Сдвиг на 3 и на 4 буквы дает соответственно фразы

ZCRRCOJYRCRFYLLCTCP

ADSSDPKZSDSGZMMDUDQ

что тоже не имеет смысла.

Сдвиг на 5 символов дает фразу

BETTEQLATETHANNEVER - что очень похоже на английские слова (с одной ошибкой).

Делим полученную фразу на слова

BETTEQ LATE THAN NEVER

и приходим к выводу, что зашифровано было английское выражение

Better late than never - Лучше поздно чем никогда.

PS. Единственное, тут есть одна ошибка, вместо слова BETTER после расшифровки получаем слово BETTEQ. Не знаю чем это объяснить. В исходной фразе на этом месте стоит символ I. После приведения к одному коду на этом месте появляется символ L , который стоит на 3 позиции дальше от I. При расшифровке, вместо L получаем символ Q, который стоит на 5 символов дальше L и именно это Q попадает в слово BETTEQ. Скорее всего тут ошибка в условии задачи.

4,4(74 оценок)
Открыть все ответы
Ответ:
Emma190
Emma190
26.01.2023

"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?


про пятеричные записи ничего не понял...  :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию

var x,a,b: longint;


begin

   for var i := 999 DownTo 100 do begin

       a := 0;

       b := 1;

       x := i;

       while x>0 do begin

           if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);

           x := x div 5;

       end;

       if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);

   end;

end.


прога проводит расчет для всх трехзначных чисел от 999 до 100

итого мы видим что максимальное подходящее число это 960

при необходимости прогу можно переделать чтобы она находила только максимальное число.

4,8(15 оценок)
Ответ:
mkudrya
mkudrya
26.01.2023

Меньше чем 3-х основание СС быть не может. (Сама догадайся почему ;-)  

 

Делим:  

 

23 : 3 = 7 ост. 2 — подходит  

23 : 4 = 5 ост. 3 — не подходит  

23 : 5 = 4 ост. 3 — не подходит  

23 : 6 = 3 ост. 5 — не подходит  

23 : 7 = 3 ост. 2 — подходит  

23 : 8 = 2 ост. 7 — не подходит  

23 : 9 = 2 ост. 5 — не подходит  

23 : 10 = 2 ост. 3 — не подходит  

23 : 11 = 2 ост. 1 — не подходит  

23 : 12 = 1 ост. 11 — не подходит  

23 : 13 = 1 ост. 10 — не подходит  

23 : 14 = 1 ост. 9 — не подходит  

23 : 15 = 1 ост. 8 — не подходит  

23 : 16 = 1 ост. 7 — не подходит  

23 : 17 = 1 ост. 6 — не подходит  

23 : 18 = 1 ост. 5 — не подходит  

23 : 19 = 1 ост. 4 — не подходит  

23 : 20 = 1 ост. 3 — не подходит  

23 : 21 = 1 ост. 2 — подходит  

23 : 22 = 1 ост. 1 — не подходит  

23 : 23 = 1 ост. 0 — не подходит  

 

Далее для всех СС больше 23 остаток будет 23. Следовательно нет смысла их рассматривать.  

 

Итого: 2, 7 и 21.

4,4(55 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ