Треки
/
Delphi Pascal
Delphi Pascal
/
Вправи
/
Обертальний шифр
Обертальний шифр

Обертальний шифр

Середня

Вказівки

Створіть реалізацію ротаційного шифру, який іноді називають також шифром Цезаря.

Шифр Цезаря - простий шифр зсуву, який ґрунтується на зсуві всіх літер алфавіту на значення цілого ключа від 0 до 26. Використання ключа 0 або 26 завжди даватиме той самий результат через модульну арифметику. Літера зсувається на стільки значень, скільки становить значення ключа.

Загальне позначення ротаційних шифрів - ROT + <key>. Найпоширеніший ротаційний шифр - ROT13.

Ось як працює ROT13 для латинського алфавіту:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: nopqrstuvwxyzabcdefghijklm

Він стійкіший за шифр Атбаш, бо має 27 можливих ключів і 25 придатних.

Шифротекст записується в тому самому форматі, що й вхідні дані, включно з пробілами та розділовими знаками.

Приклади

  • ROT5 omg дає trl
  • ROT0 c дає c
  • ROT26 Cool дає Cool
  • ROT13 The quick brown fox jumps over the lazy dog. дає Gur dhvpx oebja sbk whzcf bire gur ynml qbt.
  • ROT13 Gur dhvpx oebja sbk whzcf bire gur ynml qbt. дає The quick brown fox jumps over the lazy dog.

Джерело

WikipediaПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Delphi Pascal Exercism

Час розпочати Обертальний шифр?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Delphi Pascal, а також 76 вправ та справжнє наставництво від людей, і все це безкоштовно.