Регистрация



Сейчас на сайте

Сейчас 37 гостей и 1 пользователь онлайн
Home Задачи
Информатика. Задачи
Задача i001-14 PDF Печать E-mail
Задача решена: 22 раз(-а) Попыток 92
Задача опубликована: 2014-04-11 09:00:00
Прислал: Dimon
Источник: http://projecteuler.net
Вес: 1 Сложность 1 Класс 10-студенты Баллы 150
Темы: авторизация
Комментариев:
Лучшее решение:
Решать: турнир закончен



Условие задачи

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

Секретный код доступа

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

* * * * *

К примеру, если код доступа - 654321, у него могут попросить ввести 1-й, 3-й и 5-й символы; ожидаемым ответом будет: 642.

Три символа кода всегда запрашивают в порядке от старшего к младшему.

* * * * *

Ниже приведены данные 50 удачных попыток авторизации.

* * * * *

Проанализируйте эти значения и определите наиболее короткий секретный код из возможных.

012
634
134
624
172
674
567
632
567
013
063
514
574
514
672
163
164
632
516
501
506
572
016
572
572
514
562
724
512
634
013
032
167
732
167
513
572
012
524
634
324
067
012
564
016
572
034
012
573
516

* * * * *



Дополнительная информация

 
Задача i002-14 PDF Печать E-mail
Задача решена: 10 раз(-а) Попыток 11
Задача опубликована: 2014-04-13 09:00:00
Прислал: Slavik
Источник:
Вес: 1 Сложность 1 Класс 10-студенты Баллы 250
Темы: шифрование
Комментариев:
Лучшее решение:
Решать: турнир закончен



Условие задачи

В задаче s008-13 олимпиады прошлого, 2013-го года, мы рассматривали взлом "одноразового блокнота", который считается абсолютно секретной системой шифрования.

* * * * *

Но только при выполнении трех условий для ключа шифрования. Ключ должен:

  1. быть истинно случайным;
  2. совпадать по длине с открытым текстом;
  3. применяться только один раз.

* * * * *

Использование "одноразового блокнота", можно рассматривать в следующем варианте. Для получения шифротекста открытый (исходный) текст объединяется операцией «исключающее ИЛИ» (XOR) с ключом (последовательностью символов). Если ключ короче исходного текста, то он "продлевается" - повторяется нужное число раз. Именно это и позволяет взломать шифр !

* * * * *

Для того, чтобы применить операцию XOR, символы исходного текста и символы ключа заменяются их ASCII-кодами.

* * * * *

Например, при шифровании строки "plain text" с ключом "key", мы должны

1) Продлить ключ

plain text
keykeykeyk

2) Заменить символы исходного текста и символы ключа их ASCII-кодами

112 108  97 105 110  32 116 101 120 116
107 101 121 107 101 121 107 101 121 107

3) Выполнить "посимвольно" операцию XOR

112 108  97 105 110  32 116 101 120 116
107 101 121 107 101 121 107 101 121 107
---------------------------------------
 27   9  24   2  11  89  31   0   1  31

4) Полученная последовательность кодов (ее можно, конечно, перевести в символы) и будет шифротекстом

5) Расшифровать такой шифротекст можно, если выполнить его XOR с тем же самым ключом:

 27   9  24   2  11  89  31   0   1  31
107 101 121 107 101 121 107 101 121 107
---------------------------------------
112 108  97 105 110  32 116 101 120 116
  p   l   a   i   n       t   e   x   t

* * * * *

А теперь задача.

Дан шифротекст, представленный ASCII-кодами его символов. Если следовать приведенному выше примеру, то мы уже находимся в пункте 4):

46, 2, 9, 79, 7, 22, 79, 26, 10, 79, 0, 10, 79, 30, 16, 29, 30, 10, 28, 11, 
73, 79, 29, 4, 6, 10, 69, 27, 6, 0, 79, 62, 23, 10, 15, 6, 7, 11, 23, 67, 78, 
4, 3, 2, 69, 27, 6, 0, 79, 25, 4, 22, 29, 69, 0, 8, 69, 2, 15, 11, 79, 15, 23,
10, 78, 17, 0, 78, 11, 0, 78, 21, 26, 28, 21, 0, 29, 0, 65, 78, 50, 7, 15, 17,
79, 7, 22, 79, 15, 69, 2, 15, 11, 79, 30, 23, 0, 8, 12, 27, 11, 1, 79, 12, 28,
79, 15, 9, 3, 78, 13, 6, 29, 69, 24, 1, 23, 4, 78, 18, 7, 7, 6, 7, 78, 13, 10,
78, 1, 0, 11, 22, 79, 27, 11, 11, 11, 23, 79, 26, 13, 10, 78, 22, 26, 0, 90, 
79, 33, 11, 10, 78, 2, 10, 0, 0, 29, 15, 17, 6, 1, 11, 79, 9, 10, 10, 29, 69, 
14, 0, 1, 79, 15, 11, 0, 26, 13, 10, 28, 69, 12, 1, 8, 10, 29, 94, 79, 12, 16, 
27, 78, 17, 7, 11, 69, 10, 15, 23, 27, 6, 69, 6, 29, 69, 9, 1, 23, 79, 11, 19, 
10, 28, 75, 79, 58, 13, 10, 78, 22, 26, 0, 69, 12, 1, 8, 10, 29, 69, 26, 30, 69, 
14, 0, 1, 79, 26, 13, 10, 78, 22, 26, 0, 69, 8, 1, 0, 28, 78, 1, 0, 25, 11, 67, 
78, 4, 1, 10, 69, 8, 1, 0, 28, 78, 20, 26, 7, 6, 4, 2, 28, 79, 12, 4, 12, 5, 69, 
27, 1, 69, 27, 6, 0, 79, 30, 9, 14, 13, 0, 79, 25, 13, 10, 28, 0, 79, 6, 0, 79, 
13, 4, 2, 11, 69, 26, 30, 75, 79, 58, 13, 10, 78, 18, 6, 0, 1, 79, 9, 10, 10, 
29, 69, 27, 1, 69, 27, 6, 0, 79, 29, 10, 26, 26, 13, 67, 78, 17, 26, 28, 11, 6, 
0, 2, 79, 12, 4, 12, 5, 69, 14, 9, 4, 6, 0, 69, 27, 1, 69, 27, 6, 0, 79, 0, 10, 
29, 26, 13, 84, 78, 6, 6, 28, 6, 3, 7, 11, 8, 78, 23, 0, 27, 11, 11, 78, 3, 0, 
28, 69, 10, 24, 0, 29, 64, 69, 46, 2, 9, 79, 26, 13, 10, 78, 23, 6, 24, 0, 29, 
29, 69, 8, 1, 69, 11, 1, 18, 1, 78, 17, 0, 78, 17, 7, 11, 69, 28, 11, 4, 67, 78, 
7, 26, 26, 69, 27, 6, 0, 79, 29, 0, 14, 78, 12, 28, 78, 11, 0, 26, 69, 9, 27, 9, 
3, 85, 69, 27, 1, 69, 27, 6, 0, 79, 30, 9, 14, 13, 0, 79, 25, 13, 10, 28, 0, 79, 
26, 13, 10, 78, 23, 6, 24, 0, 29, 29, 69, 8, 1, 73, 79, 26, 13, 10, 28, 0, 79, 
26, 13, 10, 23, 69, 8, 1, 69, 14, 9, 4, 6, 0, 75, 79, 47, 9, 3, 78, 17, 7, 7, 
11, 8, 29, 69, 14, 28, 0, 79, 8, 16, 3, 2, 69, 0, 8, 69, 24, 11, 4, 29, 7, 11, 
10, 29, 22, 84, 78, 8, 14, 0, 69, 2, 15, 28, 79, 0, 10, 27, 78, 2, 6, 24, 0, 79, 
26, 13, 10, 7, 23, 79, 29, 17, 0, 28, 28, 85, 78, 17, 7, 11, 69, 10, 23, 0, 79, 
6, 4, 28, 78, 11, 10, 24, 0, 29, 78, 0, 1, 1, 16, 8, 6, 69, 0, 8, 69, 6, 26, 22, 
79, 29, 0, 10, 7, 11, 8, 66, 69, 0, 28, 69, 27, 6, 0, 79, 11, 4, 29, 78, 10, 9, 
78, 12, 27, 29, 69, 7, 11, 4, 29, 7, 11, 8, 64, 69, 59, 6, 4, 27, 78, 18, 7, 7, 
6, 7, 78, 13, 14, 29, 69, 13, 11, 0, 1, 66, 69, 6, 29, 69, 27, 6, 4, 27, 78, 18, 
7, 7, 6, 7, 78, 12, 28, 78, 17, 0, 78, 7, 10, 66, 69, 14, 0, 1, 79, 26, 13, 14, 
26, 69, 24, 6, 12, 12, 6, 69, 7, 15, 22, 79, 12, 0, 10, 0, 69, 11, 1, 11, 10, 
66, 69, 6, 29, 69, 27, 6, 4, 27, 78, 18, 7, 7, 6, 7, 78, 18, 6, 2, 9, 79, 12, 0, 
79, 10, 10, 1, 11, 73, 79, 15, 11, 11, 78, 17, 7, 11, 23, 10, 78, 12, 28, 78, 
11, 0, 78, 11, 10, 25, 69, 27, 6, 12, 1, 9, 69, 26, 0, 1, 10, 28, 69, 27, 6, 0, 
79, 29, 16, 1, 64, 69, 38, 29, 69, 27, 6, 0, 29, 11, 69, 14, 0, 28, 27, 6, 12, 
1, 9, 69, 0, 8, 69, 24, 6, 12, 12, 6, 69, 2, 11, 11, 79, 29, 4, 22, 66, 69, 60, 
11, 0, 67, 78, 17, 7, 7, 22, 79, 7, 22, 79, 0, 0, 24, 81, 69, 38, 26, 69, 7, 15, 
22, 79, 12, 0, 10, 0, 69, 6, 0, 69, 27, 6, 0, 79, 1, 9, 11, 78, 17, 6, 3, 0, 79, 
25, 13, 6, 13, 13, 79, 25, 4, 28, 78, 7, 10, 8, 10, 29, 11, 69, 26, 29, 75

* * * * *

Мы не знаем ключ шифрования и не владеем языком, на котором написан исходный текст. Известно только, что это английский, который мы когда-то изучали в школе. И помним только, что едва ли не самое важное (часто встречающееся !) английское слово - это "the" :)

* * * * *

Необходимо найти ключ шифрования, если известно, что он состоит из трех строчных (маленьких) английских букв, и расшифровать этот английский текст.

* * * * *

В качестве ответа введите найденный ключ, а затем, поставив запятую, введите сумму ASCII-кодов расшифрованного текста (это подтвердит, что текст Вы расшифровали правильно)



Дополнительная информация

 




Работает на Joomla!. Designed by: cheap gt cockpit best hosting provider uk Valid XHTML and CSS.