2022 [11] Мессенджер

В компании для общения между сотрудниками используется мессенджер собственной разработки, который передает сообщения в зашифрованном виде. Шифрование производится с использованием метода «двоичного гаммирования» или путем выполнения операции «побитового исключающего ИЛИ» между байтами сообщения и ключа. Для каждого сотрудника ежедневно генерируется новый ключ по следующей формуле
К = (Ф1*И1 + Ф2И2 + … +ФNИN) div C,
где Ф1,Ф2,…,ФN – код букв дополненной фамилии в соответствии с таблицей ASCII (регистр учитывается),
И1,И2,…,ИN – код букв дополненного имени в соответствии с таблицей ASCII (регистр учитывается),
N – максимум из длин фамилии и имени сотрудника, 
C – сумма всех цифр текущей даты в формате ДД-ММ-ГГГГ,
div – операция целочисленного деления (целая часть от деления).
Если длина фамилии меньше длины имени, то фамилия дополняется путем дозаписи в конец циклического повторения букв фамилии, пока её длина не сравняется с длиной имени. Аналогично с именем, если его длина меньше длины фамилии.

Например, для сотрудника с ФИО 'Ivanov Petr' 5 марта 2023 ключ будет вычисляться следующим образом: 
1. Выравнивание длин имени и фамилии – имя дополняется двумя дополнительными символами: 
Ivanov – 73 118 97 110 111 118
PetrPe – 80 101 116 114 80 101
2. Вычисление суммы цифр даты:
C = 0 + 5 + 0 + 3 + 2 + 0 + 2 +3 = 15
3. Вычисление ключа:
K = (73*80+118*101+97*116+110*114+111*80+118*101) div 15 =
= 4156(10-я) = 103C(16-я) = 0001 0000 0011 1100(2-я).
Далее байты текстового сообщения складывается по модулю 2 с байтами, полученными циклическим повторением последовательности байтов вычисленного ключа.

Руководитель отдела разработки дал поручения своим сотрудникам в течение дня 21 февраля 2023 года написать в чат название аэропорта, откуда им удобнее вылетать в командировку: VKO или DME. Проанализируйте полученный им зашифрованный поток сообщений из мессенджера и определите: 
1) кто не выполнил поручение руководителя?
2) за какой аэропорт проголосовало большинство сотрудников?

К задаче прилагается: 
list_v1.txt – список сотрудников;
cypher_v1.txt – зашифрованный текст переписки в мессенджере.

Показать подсказку

Показать решение

Показать ответ




<< Назад в раздел (Все задания)

Ваше сообщение получено!