Как написать функцию расшифровки этого алгоритма? Всем привет. Есть такая вот функция для шифрования каждых двух байтов на С:// state = два байта из файла for (r = 0; r < 34567890; r = r + 1) { state = state ^ 27569; state = state * -1635 - 16196; state = state * 31663; state = state + 14122; state = state * 25561; state = state ^ 17548; state = state * 18199 - 11258; state = state * 21727; } // (для удобства разбил действия на строки) Нужно написать функцию расшифровку. Пробовал много разных способов - умножение заменить на деление, минус на плюс и вверх ногами перевернуть - не получается... Может проблема в алгоритме UPD: короче, в алгоритме скорее всего переполнение

26 Дек 2021 в 19:55
194 +1
1
Ответы
1

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

Приведу пример функции для расшифровки данного алгоритма:

void decrypt(unsigned short& state) {
state = state / 21727;
state = state * -9412 + 11258;
state = state / 18199;
state = state ^ 17548;
state = state / 25561;
state = state - 14122;
state = state / 31663;
state = state * 16196 + 1635;
state = state ^ 27569;
}

Эта функция преобразует шифрованные данные обратно в исходное состояние. При использовании этой функции необходимо передать переменную state, которая содержит зашифрованные два байта.

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

16 Апр в 19:57
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир