Скажімо, у вас є текст, і ви хочете, щоб він надіслав його своєму другові, але ви не хочете, щоб його читали інші. Це, ймовірно, означає, що ви хочете зашифрувати його, щоб читати його могли лише ви та ваш друг. Але є проблема: ви та ваш друг забули домовитися про метод шифрування, тому, якщо ви надішлете їм повідомлення, вони не зможуть його розшифрувати!
Подумавши про це деякий час, ви вирішите просто надіслати своєму другові код, щоб зашифрувати ваше повідомлення разом із повідомленням. Ваш друг дуже розумний, тому вони, ймовірно, можуть з’ясувати, як розшифрувати повідомлення, вивчивши метод шифрування.
Звичайно, оскільки інші люди, можливо, читають повідомлення, ви хочете вибрати схему шифрування, яка робить її максимально важкою для розлому (з'ясуйте схему розшифровки).
Завдання копів
У цьому виклику Cops зіграють роль сценариста: ви розробите схему шифрування, яка перетворює рядки в рядки. Однак ця схема шифрування повинна бути біективною , це означає, що жоден два рядки не повинні відображатися в іншій рядку, і кожну рядок можна зіставити за допомогою введення. Він повинен зайняти лише один вхід - рядок, який потрібно закодувати.
Потім ви опублікуєте код, який виконує шифрування, і одне повідомлення, зашифроване за схемою, деталізованою вашим кодом.
Оскільки ви відправляєте байтом для надсилання повідомлень, вашим рахунком буде довжина вашого коду плюс довжина шифротексту . Якщо ваша відповідь зламається, у вас буде оцінка нескінченності.
Через тиждень ви можете розкрити текст і позначити свою відповідь безпечною . Безпечні відповіді - це ті, які неможливо зламати.
Завдання розбійників
Розбійники будуть грати або як друга письменника, або злісного середнього чоловіка (матеріальної різниці немає, але ви можете грати в ролі так, як якщо це зробить це веселіше). Вони візьмуть схеми шифрування та шифротекст та спробують розібрати зашифроване повідомлення. Після того, як вони з'ясують зашифроване повідомлення, вони опублікують його в коментарі. (Для цього питання не буде окремої нитки розбійників.)
Переможцем стане грабіжник з найбільшою тріщиною.
Ось приклад того, як може виглядати зламане рішення: