Track 3 — Learn & Apply · Crypto · 350 pts
Шифр «Каракум» — полиалфавитный шифр с одним ключевым словом. Назван в честь пустыни Каракум. Шифр исторически не был широко описан в открытой литературе; ниже приведена его полная спецификация.
A…Z (26 символов). Любые другие символы (пробелы, цифры, пунктуация) отбрасываются до шифрования.A…Z. В этой задаче длина ключа — от 5 до 10 букв.A=0, B=1, …, Z=25.C[i] = (P[i] + K[i mod |K|]) mod 26, где |K| — длина ключа.P[i] = (C[i] − K[i mod |K|] + 26) mod 26.Если ключ — SAND, открытый текст HELLO шифруется так:
| i | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| P | H (7) | E (4) | L (11) | L (11) | O (14) |
| K | S (18) | A (0) | N (13) | D (3) | S (18) |
| C | Z (25) | E (4) | Y (24) | O (14) | G (6) |
То есть HELLO → ZEYOG.
Расшифруйте следующий текст. Ключевое слово выберите из контекста этой задачи.
DHVDOMQBTIEWYYLEIS
Открытый текст — короткая фраза на английском. Введите его заглавными латинскими буквами без пробелов в форму ниже.
«Қарақұм» шифры — бір кілт сөзі бар полиалфавиттік шифр. Қарақұм шөлінің атымен аталған. Шифр тарихи түрде ашық әдебиетте кеңінен сипатталмаған; төменде толық сипаттамасы берілген.
A…Z латын әріптері (26 таңба). Басқа таңбалар (бос орындар, сандар, тыныс белгілері) шифрлеу алдында алынып тасталады.A…Z әріптерінен тұратын қысқа сөз. Бұл тапсырмада кілт ұзындығы — 5-тен 10 әріпке дейін.A=0, B=1, …, Z=25.C[i] = (P[i] + K[i mod |K|]) mod 26, мұндағы |K| — кілт ұзындығы.P[i] = (C[i] − K[i mod |K|] + 26) mod 26.Егер кілт — SAND болса, HELLO ашық мәтіні мынадай шифрланады:
| i | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| P | H (7) | E (4) | L (11) | L (11) | O (14) |
| K | S (18) | A (0) | N (13) | D (3) | S (18) |
| C | Z (25) | E (4) | Y (24) | O (14) | G (6) |
Яғни HELLO → ZEYOG.
Төмендегі мәтінді шешіңіз. Кілт сөзін осы тапсырманың контекстінен таңдаңыз.
DHVDOMQBTIEWYYLEIS
Ашық мәтін — ағылшын тіліндегі қысқа сөз тіркесі. Бас әріптермен, бос орынсыз төмендегі формаға енгізіңіз.
RU: Введите расшифрованный текст. Сервер вернёт ваш персональный флаг.
KK: Шешілген мәтінді енгізіңіз. Сервер сізге жеке жалаушаны қайтарады.
RU: Каждая подсказка снимает баллы. Открывайте только если действительно нужно.
KK: Әр кеңес ұпайды кемітеді. Шынымен қажет болғанда ғана ашыңыз.