Чтобы хоть как-то обезопасить свою переписку по открытым каналам сети Интернет, её надо хорошо шифровать. Программы для шифрования часто бывают недоступны сторонам, ведущим переписку, в таком случае очень может помочь программа 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 каждому новому шифруемому сообщению соответствует своя индивидуальная гамма какой угодно длины. Это обеспечивает криптостойкость алгоритмов шифрования.