|
Алгоритм является многослойным. Два первых слоя представляют собой, в определенной степени, "плагиат" алгоритмов AES и Blowfish. Содержание остальных слоёв зависит от самой шифруемой информации, ключей случайно переменной длины и последовательности случайных чисел (СЧ). При формировании этих слоев, кроме самого последнего, использовались элементы как блочного, так и потокового шифрования. В элементах блочного шифрования используются блоки случайно переменной длины со взаимно перекрывающимися "стыками". Каждый последующий слой при своем формировании, в числе прочего, использует все ранее полученные результаты шифрования. Последний слой полностью состоит из СЧ. Пароль (или его хэш) не хранится в зашифрованном файле, в определенном смысле - сам файл и является паролем, при расшифровке не происходит сравнения введенного пароля с каким-либо "правильным" паролем (хэша с хэшем), а возможно лишь после полного анализа содержимого файла и введенного пользователем пароля утверждать, что пароль неверный. Каждое следующее шифрование одной и той же исходной информации дает различные результаты. Дешифровка возможна только целиком, невозможна "дешифровка по частям". Для получения СЧ использовались случайные процессы, неизбежно происходящие в компьютере, как в реальном автомате, и не имеющие ничего общего с так хорошо всем известным RANDOM... Практически, СЧ получаются в результате проведения реального эксперимента, подобного бросанию кучи игральных костей. Анализ полученных последовательностей СЧ показал их полное соответствие закону больших чисел. Выделить в получаемых числовых последовательностях повторяющиеся подпоследовательности невозможно. Собственно говоря, именно обнаружение такой возможности получения СЧ и послужило толчком к написанию программы и именно этим, в первую очередь, она отличается от других разработок.
|
|