Чтобы хоть как-то обезопасить свою переписку по открытым каналам сети Интернет,
её надо хорошо шифровать. Программы для шифрования часто бывают недоступны сторонам,
ведущим переписку, в таком случае очень может помочь программа Yozhix.
Браузерные реализации алгоритмов шифрования Yozhix-6969 и Yozhix64
Устаревшая версия программы yozhix.html представляет шифрованные данные в шестнадцатиричном формате. Новая версия yozhix64.html создаёт шифровку в более компактном формате Base64.
Yozhix - это браузерная программа, предназначенная для шифрования сообщений прямо
в браузере пользователя. Т.е., имея любой популярный интернет-браузер
(FireFox, Chrome, Opera, Netscape Navigator, Internet Explorer и др.),
Вы можете шифровать свои сообщения и после размещать их на любом открытом
сетевом сервисе. Теперь их сможет прочитать только тот, кто знает секретный пароль
(ключ шифрования), а не все любопытствующие.
Yozhix - это алгоритм шифрования с закрытым ключом! Это значит, что парольная фраза
ни в коем случае не должна пересылаться по сети, чтоб не стать известной посторонним
лицам. Ключ можно заранее шёпотом оговорить при личной встрече или использовать
в качестве ключа какие-то секретные факты. Например, "пятое слово из нашего любимого
стихотворения", но ни в коем случае "мой мобиный номер" или "твой день рождения" - это
слишком простые ключи.
Многие сетевые сервисы не позволяют размещать слишком длинные последовательности букв,
поэтому в программе предусмотрена возможность разбивки зашифрованных сообщений на короткие куски.
Краткое описание алгоритмов
Yozhix-6969 и Yozhix64 - симметричные методы шифрования, являющиеся разновидностями метода сложения по модулю N.
Метод сложения по модулю N
Перед шифрованием символы заменяются их числовыми кодами. Основание модуля N определяет количество возможных кодов, от 0 до N-1. Шифрование выполняется по формуле
C[i] = (T[i] + G[i]) mod N,
где T[i] - это символы исходного сообщения, C[i] - символы зашифрованного сообщения, G[i] - символы гаммы (секретной последовательности).
Дешифрование выполняется по формуле
T[i] = (C[i] - G[i] + N) mod N.
Для шифрования каждого сообщения необходимо использовать новую гамму. Повторное использование гаммы недопустимо. Длина гаммы должна быть не меньше защищаемого сообщения.
Специфические особенности алгоритмов шифрования Yozhix-6969 и Yozhix64
Методы Yozhix-6969 и Yozhix64 - это методы сложения по модулю N, в которых элементы G[i] гаммы вычисляются на основе тригонометрической формулы
G[i] = round(
kA[0]*sin(kB[0]*i+kC[0]) +
kA[1]*sin(kB[1]*i+kC[1]) +
kA[2]*sin(kB[2]*i+kC[2]) +
kA[3]*sin(kB[3]*i+kC[3]) +
kA[4]*sin(kB[4]*i+kC[4]) +
kA[5]*sin(kB[5]*i+kC[5]) +
kA[6]*sin(kB[6]*i+kC[6]) +
kA[7]*sin(kB[7]*i+kC[7])),
где kA[j] - двухбайтовые целые составляющие MD5-образа ключа шифрования,
kB[j] - простые числа 69691, 69697, 86969, 116969, 169691, 169693, 296969, 356969,
kС[j] - двухбайтовые целые составляющие MD5-образа текста исходного сообщения.
Видим, что в криптографических методах Yozhix-6969 и Yozhix64 каждому новому шифруемому сообщению соответствует своя индивидуальная гамма какой угодно длины. Это обеспечивает криптостойкость алгоритмов шифрования.