Шифрование файлов случайными байтами

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

Шифрование файлов случайными байтами

Сообщение timour » Пт сен 09, 2005 8:40 pm

Изобретен и реализован в виде программы способ шифрования файлов случайными байтами.
Основная идея шифрования случайными байтами состоит в замене исходных байтов файла на адреса исходных байтов файла в некотором достаточно большом множестве. В качестве такого множества используется двумерный массив, состоящий из случайных строк байтов длиной по 256 байт. Каждая строка содержит все 256 байтов ровно по одному разу. Количество строк в двумерном массиве является случайной величиной и достигает 2048 строк.
Научная новизна алгоритма и программы:
1)Опровергается чудовищное заблуждение, которое звучит примерно так: если известен алгоритм зашифровки файла, то всегда этот файл можно расшифровать. Наш алгоритм открыт, а расшифровка невозможна.
2)Опровергается чудовищное заблуждение, которое звучит примерно так: следует считать, что нападающей стороне известны алгоритмы шифрования и все данные, кроме ключа. В этом утверждение ошибочно суждение относительно всех данных. Наша программа и алгоритм доказывают ошибочность этого суждения фактом своего существования.
3)Выявлена сущность понятия случайности. Случайность – это способ доступа к бесконечности в целом. Именно только случайность позволяет выбрать абсолютно все элементы из бесконечного множества элементов. Через случайность бесконечность становится доступной человеку.
4)По существу, нами предложен механизм генерирования случайных последовательностей байтов произвольной длины. Иными словами, наш алгоритм можно рассматривать и использовать как генератор случайных наборов байтов произвольной длины.
5)Генерация случайных байтов производится с использованием функции RND(Timer). Количество возможных псевдослучайных значений составляет 4294967296 (2 в степени 32). Однако, отображение этих всех значений через механизм взятия модуля по основанию 256 приводит к равномерному, но уже случайному распределению байтов.
Достоинства алгоритма и программы:
1)Чрезвычайная простота алгоритма.
2)Чрезвычайное многообразие доступных вариантов зашифровки одного и того же файла одной и той же программой в одном и тот же сеансе работы с программой. Программа предоставляет возможность создать до 9999 зашифрованных копий одного и того же файла. Причем, все зашифрованные копии абсолютно различны по содержанию и размеру.
3)Чрезвычайная легкость в использовании алгоритма.
4)Использование в качестве ключей произвольных по содержанию и размеру файлов.
5)Хранение ключей и другой необходимой информации в зашифрованном файле в зашифрованном виде. Невозможность установления места нахождения в зашифрованном файле ключа и другой информации, в том числе места нахождения самого зашифрованного файла. Хакерам придется отдохнуть.
6)Невозможность взлома зашифрованного файла без наличия программы, зашифровавшей файл.
7)Открытость исходного кода программы и алгоритма шифрования.
8)Невозможность создания программы по взлому исполняемого кода программы. Хакерам придется отдохнуть.
9)Защита зашифрованного файла от любых вирусов.
Генерация случайных строк осуществляется по следующему алгоритму:
1) строке присваивается значение пусто ( L = “”)
2) с помощью функции Rnd(Timer) генерируется псевдослучайное целое число в интервале от 10000 до 30000 ( I = Int(Rnd*20000) + 10000);
3) берется остаток от деления этого числа на 256 ( J = I mod 256);
4) полученный остаток преобразуется в байт ( L1 = ChrB(J))
5) проверяется наличие сгенерированного байта в строке L, если такого байта нет, то L=L+L1. Если такой байт есть в строке, то переход к пункту 2. Естественно, проверка осуществляется только в том случае, если длина строки меньше 256 байт.
Таким образом, генерируются строки со случайным расположением одних и тех же 256 байтов. Количество таких строк исчисляется как факториал от 256, что превышает 10 в степени 506. Очевидно, что использовать этот массив строк в полном объеме в программе физически невозможно в силу огромной величины числа 10 в степени 506 (1 и пятьсот шесть нулей). Поэтому мы решили использовать порции в количестве до 2048 строк. Количество вариантов генерации одной порции в 2000 строк вычисляется как биноминальный коэффициент, в числителе которого произведение 2000 чисел вида (10 в степени 506 - 0,1,2,…,1999), а в знаменателе факториал от числа 2000. Поскольку вычитание от такого гиганта, как 1 и 506 нулей, чисел 1, 2, …,1999 никакого влияния на его величину не оказывает, то будем приближенно считать все произведения равными 1 и 506 нулей. Тогда произведение 2000 чисел 10 в степени 506 приближенно равно числу 10 в степени (506 х 2000 = 1012000). Факториал от 2000 не превышает 10 в степени 6000. Следовательно, общее количество вариантов генерации 2000 случайных строк, содержащих все 256 байт, но расположенных случайным образом в строке, превышает 10 в степени (1012000 – 6000 = 1006000, или более чем 1 и миллион нулей).
Итак, для шифрования будем использовать массивы случайных строк в количестве до 2048. Такой массив, мы назвали складом базисов шифрования. Алгоритм зашифровки файла пользователя состоит в следующем:
1) берем первый байт файла пользователя и случайным образом выбираем строку из склада базисов;
2) в выбранной случайной строке ищется байт, равный байту файла пользователя. Такой байт всегда существует, так как в нашей случайной строке всего 256 байтов и все они встречаются в строке ровно по одному разу;
3) номер расположения байта файла пользователя в случайной строке – это адрес байта файла пользователя в случайной строке. Поскольку величина байтов изменяется от 0 до 255, а номера расположения байтов в случайной строке изменяются от 1 до 256, то для записи номера байта можно использовать всего один байт. Для этого достаточно от номера отнять единицу и преобразовать полученное число в байт;
4) заменяем байт файла пользователя на байт, характеризующий номер (адрес) расположения байта файла пользователя в случайной строке из склада базисов. Эта операция – есть ничто иное, как замена исходного файла пользователя на адрес расположения этого байта в случайной строке из склада базисов;
5) берем второй байт файла пользователя и случайным образом выбираем другую строку из склада базисов и переходим к пункту 2;
6) таким образом, исходный файл пользователя превращается в список адресов, по которым производится восстановление исходного файла пользователя при расшифровке;
7) при расшифровке берем первый байт из зашифрованного файла и ту же самую строку из склада базисов, которую использовали при шифровании. Этот байт преобразуем в число и увеличиваем на единицу для вычисления номера. По этому номеру из строки находим исходный байт файла пользователя и записываем его на место первого байта. Затем берем второй байт из зашифрованного файла и вторую строку из склада базисов, использованную при шифровании второго байта, и восстанавливаем исходное состояние второго байта файла пользователя и т.д.
Таким образом, для шифрования используется двумерный массив случайных строк. Если мы при расшифровке ошибочно используем не ту строку, что применяли при зашифровке, то вместо расшифровки мы зашифруем файл еще раз.
Как видно из приведенного описания, какая-либо функциональная или статистическая связь между исходными байтами файла пользователя и байтами зашифрованного файла пользователя отсутствует. Это связано с тем, что отсутствует связь между величиной байта и его местом расположения в случайных строках склада базисов, а также отсутствует какая-либо связь между величиной байта в исходном файле пользователя и местом расположения такого же байта в случайной строке. Очевидно, что исходный байт файла пользователя и адрес расположения этого же байта в складе базисов никак между собой не связаны, поэтому связь между ними совершенно случайная. Остается рассмотреть возможность повторной генерации склада базисов. Необходимо заново выбрать 2000 строк из множества размером 1 и миллион нулей. Это исключено, так как количество атомов во Вселенной является бесконечно малой величиной перед числом 1 и миллион нулей – физически негде расположить все строки. Таким образом, возможность расшифровки файлов, зашифрованных по нашему алгоритму, исключена даже теоретически. Недавно, я где-то читал о квантовых вычислениях, которые должны взламывать любой шифр. Наш алгоритм дает мощный толчок для развития и совершенствования методов расшифровки. Желаем профессионалам всяческих успехов и удач в разработке методов расшифровки наших файлов. Будем надеяться на то, что наши выводы о теоретической невозможности взлома нашего метода шифрования, являются ошибочными. В противном случае профессиональные дешифровщики просто исчезнут в связи с ненадобностью.
Далее при реализации описанного алгоритма встали вопросы:
1) где хранить склад базисов;
2) где хранить номера случайных строк, использованных при шифровании;
3) где хранить пароли (ключи), позволяющие пользователю расшифровывать свои зашифрованные файлы.
Мы применили следующие решения перечисленных вопросов:
1) склады базисов хранятся в коде программы и в отдельных файлах:
а) публичный внутренний склад базисов, генерируемый программно, вшит в код программы, у всех программ один и тот же, предназначен для обмена зашифрованными файлами между различными пользователями;
б) частный внутренний склад базисов, вшивается в код программы в момент генерации исходного кода варианта программы, у всех пользователей индивидуален и не повторим, предназначен для защиты информации пользователя;
в) публичный внешний склад базисов, генерируется по желанию пользователя в неограниченном количестве, записывается в отдельный файл, предназначен для обмена зашифрованными файлами между различными пользователями по предварительной договоренности;
г) частный внешний склад базисов, генерируется по желанию пользователя в неограниченном количестве, записывается в отдельный файл, предназначен для защиты информации пользователя.
Склады хранятся в зашифрованном виде, как в коде программы, так и во внешних файлах. Зашифровка производится тем же способом – заменой на адреса в случайных складах.
2) номера строк склада базисов, использованных при шифровании, создаются, используются и сохраняются следующим образом:
а) поскольку длина склада базисов превышает 256, то использовать один байт невозможно. Поэтому генерируются две одинаковые по длине строки, содержащие случайные байты. Длина таких строк изменяется от 512 до 2048 байт. Строки независимы. Берем первый байт из первой строки и первый байт из второй строки. Эти байты увеличиваем на единицу и перемножаем. Находим остаток от деления полученного числа на длину склада базисов и прибавляем к нему единицу. Полученное число есть номер строки склада базисов, использованной для шифрования первого байта файла пользователя. Далее, берем второй байт из первой строки и второй байт из второй строки и вычисляем номер второй строки склада базисов, использованной для шифрования второго байта файла пользователя и т.д. и т.п.;
б) случайные строки, используемые для генерации номеров строк склада базисов, храним в оболочке зашифрованного файла пользователя в зашифрованном виде по нашему алгоритму.
3) пароль (ключ) пользователя непосредственно участвует в процессе шифрования. Пароль имеет физическую длину до 1024 байта. Однако, пароль может быть взят из произвольного места в файле, если он используется в качестве пароля, и тогда логическая длина пароля становится произвольной, вплоть до максимально возможного размера файла. Пароль хранится в оболочке зашифрованного файла в зашифрованном виде по нашему алгоритму.
Как видно, из приведенного описания в нашем случае пароль может иметь произвольное содержание, в том числе пустое. Кроме того, пароль дополнительно зашифровывается по нашему алгоритму, что увеличивает его энтропию. Никаких проблем с паролями у нас нет.
Оболочка зашифрованного файла имеет случайную длину, у каждого пользователя свои параметры этой оболочки. Кроме того, при шифровании файлов у каждого пользователя изменяется случайным образом длина оболочки. Общий размер оболочки не превышает 32000 байт. В оболочке содержится информация о действительном имени исходного файла, о его размере, о структуре оболочки, об использовании при шифровании внешнем складе базисов и его имени и другая необходимая информация. Оболочка состоит из случайных областей байтов и трех областей, зашифрованных по нашему алгоритму:
1) единая зашифрованная область длиной от 7000 байт. Расшифровывается целиком и из нее берется информация о месте расположения второй области и о параметрах ее зашифровки;
2) единая зашифрованная область длиной от 2000 байт. Расшифровывается целиком и из нее берется информация о месте нахождения третьей области и параметрах ее зашифровки;
3) единая зашифрованная область длиной от 9000 байт. Расшифровывается целиком и из нее берется информация о месте нахождения зашифрованного файла пользователя и параметрах его зашифровки.
Зашифровка областей оболочки и файла пользователя производятся в разных базисах, то есть с использованием разных наборов случайных строк, взятых из одного и того же или из разных складов базисов. Оболочка свое наименование «оболочка» получила в связи с выполнением функции защиты от вирусов – она допускает в разумных пределах изменять начало и конец зашифрованного файла, так как там находятся наборы случайных байтов. Это функция защищает зашифрованный файл от вирусов.
Внешние склады базисов структурно ничем не отличаются от зашифрованного файла пользователя. Они также окружены оболочкой из случайных байтов и зашифрованных трех областей. Единственным отличием является обязательная зашифровка областей 2 и 3 в этом же внешнем складе базисов, а сами строки склада базисов зашифровываются либо в частном внутреннем, либо в частном публичном базисах.
В целом зашифрованный файл отличается от исходного файла наличием оболочки, не превосходящей по размеру 32000 байт. Структурно зашифрованный файл состоит из смеси областей со случайными байтами и зашифрованных 4 областей. Начинается зашифрованный файл с набора случайных байтов и заканчивается набором случайных байтов. Все зашифрованные области отделены друг от друга наборами случайных байтов. Длины случайных наборов генерируются случайным образом в процессе создания каждого зашифрованного файла.
Поскольку зашифрованный файл представляет собой набор адресов, то допускается неограниченная повторная зашифровка. В этом случае зашифрованный файл воспринимается как единое целое. Поскольку байты зашифрованного файла и адреса этих байтов в складах никак не связаны, то повторная зашифровка увеличивает мощность зашифровки. Разумеется, при повторной зашифровке создается новая оболочка.
Процесс зашифровки файла можно считать процессом расшифровки файла, а процесс расшифровки файла можно считать процессом зашифровки файла. Поэтому в программе эти процессы используются равновероятно, увеличивая энтропию.
Таким образом, без наличия программы, зашифровавшей файл, расшифровать его физически невозможно. При наличии программы, но при отсутствии внешнего склада базисов, расшифровать файл, зашифрованный во внешнем складе, физически невозможно.
Для исключения возможности создания программы по взлому исполняемого кода программы исходные коды программы генерируются в терминах случайных наименований процедур и функций, случайного взаимного расположения процедур и функций, случайного расположения независимых частей процедур и функций. После компиляции исходных кодов двух вариантов одной и той же программы исполняемые коды настолько различны, что не позволяют создать программу по взлому нашей программы.
Наша программа, по-видимому, является одной из самых трудно взламываемых в истории человечества на сегодняшний момент, так как изменяется случайным образом не только ее содержание, но и размер – от 8 до 16 Мегабайт. Более того, наша программа генерирует саму себя. Поэтому колоссальный труд, затраченный на анализ исполняемого кода одного варианта программы, ничего не дает для анализа другого варианта программы. Никакие хакеры, никакие программы-роботы не способны взломать исполняемый код программы, так как количество вариантов записи исходного кода программы превышает 10 в степени 3000.
Все выше изложенное позволяет нам передавать программу пользователям вместе с исходным кодом. Все равно, едва ли кто разберется с алгоритмом. А если кто, потратив уйму времени, и разберется, то едва ли он будет свой труд даром распространять.
Описанный алгоритм, только в общих чертах раскрывает содержание программы. Для реализации описанного алгоритма в виде законченного программного продукта пришлось найти решение еще множеству проблем.
Юридические основания использования программы. В соответствии с п. 2 ст. 1 Закона РФ "О лицензировании отдельных видов деятельности" действие этого закона не распространяется на использование результатов интеллектуальной деятельности.
В соответствии со ст. 7 Закона РФ "Об авторском праве и смежных правах" программа для ЭВМ является объектом авторского права и относится к категории литературных произведений. Литературная деятельность не может лицензироваться или сертифицироваться. Аналогичные нормы права содержит Закон РФ "О правовой охране программ для электронных вычислительных машин и баз данных". В соответствии с этим же законом программы для ЭВМ не подлежат обязательной государственной регистрации. Таким образом, для приобретения и использования настоящей программы ничьих разрешений, сертификатов или государственной регистрации не требуется.
Обращаться к автору: Андрейчикову Николаю Иосифовичу, тел.: (8362)-211272 дом., 412112 раб., почтовый адрес: 424033, г. Йошкар-Ола, ул. Эшкинина, д. 6, кв. 89, E-mail: nikolay@mari-el.ru, nik-andrejchikov@rambler.ru, crypto_service@yahoo.com
Nikolay Andrejchikov
timour
 
Сообщения: 3
Зарегистрирован: Пт сен 09, 2005 8:38 pm
Откуда: Russia

Re: Шифрование файлов случайными байтами

Сообщение Hide » Чт ноя 24, 2005 9:55 am

:)

Обыватель скажет:


Ничего себе!
Ах!
Ох!
НАУКА достигла НЕВЕРОЯТНЫХ высот!
Гений человеческого рода
Придумал как приручить природу!!!


Прикладной математик скажет:


Я "изобретаю" :)
такие способы каждый день
и "реализую" :)
20 раз в день вот такие программы
НО я и не догадывался, :)
(мне наверное было лень)
что RND(псевдослучайное) по модулю 256(константа)
это ЧИСЛО СЛУЧАЙНОЕ! :)


P.S. Сначала даже хотелось "поцитатно" развенчать уважаемого автора - дабы другим не повадно было мою любимую науку оскорблять, но передумал - жаль тратить время...

P.S.S Еще есть такие вот штуки: 2*2=2/(3/4*4/3)*2. "Изобретение" этого уравнения вносит, наверное, такой же мощный вклад в современную "науку и практику"... Конечно не такой изящный...
INNOCENT UNTIL PROVEN GUILTY...
Hide
 
Сообщения: 1
Зарегистрирован: Чт ноя 24, 2005 7:58 am
Откуда: Russia

Шифрование файлов случайными байтами

Сообщение timour » Пт ноя 25, 2005 11:41 am

Уважаемые коллеги. Я рад бы воспринять Ваши замечания, но их нет. Более подробная информация, а также сама программа и ее исходный код находятся на сайте http://crypto-service.narod.ru
Скачивайте, анализируйте и пользуйтесь. С уважением Андрейчиков Николай Иосифович
Nikolay Andrejchikov
timour
 
Сообщения: 3
Зарегистрирован: Пт сен 09, 2005 8:38 pm
Откуда: Russia

Сообщение Sax0n » Вт янв 03, 2006 7:00 pm

Увы Ваш алгоритм шифрования известен по крайней мере со времен Штирлица ;) Так во время Великой Отечественной войны (я не копался в истории может и раньше) разведчики использовали 2 одинаковые книги - в сообщении буква заменялась на номер страницы + номер строки + порядковый номер буквы в строке. Естественно, расшифровать такой шифр, не имея книги, невозможно, пока количество сообщений не будет многократно превышать длину ключа (то есть размер самой книги). По сути он является одной из модификации алгоритма шифрования методом квадрата Виженера (www.krugosvet.ru/articles/85/1008585/1008585a3.htm).
В приведенном Вами примере длина ключа равна 2048*256 = 512кб
Криптоанализ текста, зашифрованного таким способом возможен если в руках у аналитика будет перехваченная шифровка, где одной строкой ключа зашифровано достаточное количество символов исходного текста. Грубо прикинув для русского языка примерно 1000. то есть необходимо перехватить зашифрованный текст длиной 1000*2048 - примерно 2мб.
после этого, выделив только символы зашифрованные данной строкой,
мы получаем текст, зашифрованный простой подстановкой. Который, можно расшифровать, используя частотный анализ.
Естественно, неограниченно увеличивая длину ключа, или часто меняя ключ, можно использовать этот алгоритм. Правда, современные требования к криптографии требуют, невозможность расшифровки текста даже если известна часть зашифрованного текста, а вот этому требованию данный алгоритм не соответсвует. Ну и кроме того использования столь длинных ключей (512кб вместо достаточных например для алгоритма 3DES - 256б) тоже никак не отнесешь к достоинтсвам данного метода.

timour писал(а): Научная новизна алгоритма и программы:
1)Опровергается чудовищное заблуждение, которое звучит примерно так: если известен алгоритм зашифровки файла, то всегда этот файл можно расшифровать. Наш алгоритм открыт, а расшифровка невозможна.

Заблуждение исключительно автора программы.
timour писал(а): 2)Опровергается чудовищное заблуждение, которое звучит примерно так: следует считать, что нападающей стороне известны алгоритмы шифрования и все данные, кроме ключа. В этом утверждение ошибочно суждение относительно всех данных. Наша программа и алгоритм доказывают ошибочность этого суждения фактом своего существования.

Еще проще считать, что нападающему вообще ничего не известно ни алгоритм, ни ключи, ни факт передачи сообщения, ни перехваченые данные. Тем самым исключаем всякую возможность криптоанализа. И получаем бесконечную стойкость. :)
timour писал(а): 3)Выявлена сущность понятия случайности. Случайность – это способ доступа к бесконечности в целом. Именно только случайность позволяет выбрать абсолютно все элементы из бесконечного множества элементов. Через случайность бесконечность становится доступной человеку.

Больше не курите эту гадость...
timour писал(а): 4)По существу, нами предложен механизм генерирования случайных последовательностей байтов произвольной длины. Иными словами, наш алгоритм можно рассматривать и использовать как генератор случайных наборов байтов произвольной длины.

Доказательство случайности? Посчитаный период? Еслиб было все так просто как Вам КАЖЕТСЯ, то не заморачивались бы ученые изучением РЛЗ и ПСП. Брали бы один случайный байт к нему добавляли бы второй, третий... Поражает наивность и безграмотность автора. Но судя по всему он просто дилетант. Если так, то предыдущие и последующие упреки отменяются.
timour писал(а): 5)Генерация случайных байтов производится с использованием функции RND(Timer). Количество возможных псевдослучайных значений составляет 4294967296 (2 в степени 32). Однако, отображение этих всех значений через механизм взятия модуля по основанию 256 приводит к равномерному, но уже случайному распределению байтов.

Из псевдослучайного числа линейным преобразованием получили число реально случайное. Доказано фактом своего существования :)
timour писал(а): Достоинства алгоритма и программы:
1)Чрезвычайная простота алгоритма.
2)Чрезвычайное многообразие доступных вариантов зашифровки одного и того же файла одной и той же программой в одном и тот же сеансе работы с программой. Программа предоставляет возможность создать до 9999 зашифрованных копий одного и того же файла. Причем, все зашифрованные копии абсолютно различны по содержанию и размеру.
3)Чрезвычайная легкость в использовании алгоритма.
4)Использование в качестве ключей произвольных по содержанию и размеру файлов.
5)Хранение ключей и другой необходимой информации в зашифрованном файле в зашифрованном виде. Невозможность установления места нахождения в зашифрованном файле ключа и другой информации, в том числе места нахождения самого зашифрованного файла. Хакерам придется отдохнуть.
6)Невозможность взлома зашифрованного файла без наличия программы, зашифровавшей файл.
7)Открытость исходного кода программы и алгоритма шифрования.
8)Невозможность создания программы по взлому исполняемого кода программы. Хакерам придется отдохнуть.
9)Защита зашифрованного файла от любых вирусов.

1. прост алгоритм гаммирования.
3. приведите пример леггкости использования вашего алгоритма. им что гвозди можно забивать. или для вас нет разницы между алгоритмом и программой. и легкость и простота - это относительные сущность. говорите прще чего и легче чего.
4. хакерам да, но не криптоаналитикам. большая статистика покажет. *места нахождения самого зашифрованного файла* - бред сумашедшего.
8. че там взламывать в вашей программе-то?
9. вирусы паразитируют на исполняемых файлах к коим шифрованый файл не относится. это полезно понимать, чтоб не искать их в txt файлах.
timour писал(а): Генерация случайных строк осуществляется по следующему алгоритму:
1) строке присваивается значение пусто ( L = “”)
2) с помощью функции Rnd(Timer) генерируется псевдослучайное целое число в интервале от 10000 до 30000 ( I = Int(Rnd*20000) + 10000);
3) берется остаток от деления этого числа на 256 ( J = I mod 256);
4) полученный остаток преобразуется в байт ( L1 = ChrB(J))
5) проверяется наличие сгенерированного байта в строке L, если такого байта нет, то L=L+L1. Если такой байт есть в строке, то переход к пункту 2. Естественно, проверка осуществляется только в том случае, если длина строки меньше 256 байт.
Таким образом, генерируются строки со случайным расположением одних и тех же 256 байтов. Количество таких строк исчисляется как факториал от 256, что превышает 10 в степени 506. Очевидно, что использовать этот массив строк в полном объеме в программе физически невозможно в силу огромной величины числа 10 в степени 506 (1 и пятьсот шесть нулей). Поэтому мы решили использовать порции в количестве до 2048 строк. Количество вариантов генерации одной порции в 2000 строк вычисляется как биноминальный коэффициент, в числителе которого произведение 2000 чисел вида (10 в степени 506 - 0,1,2,…,1999), а в знаменателе факториал от числа 2000. Поскольку вычитание от такого гиганта, как 1 и 506 нулей, чисел 1, 2, …,1999 никакого влияния на его величину не оказывает, то будем приближенно считать все произведения равными 1 и 506 нулей. Тогда произведение 2000 чисел 10 в степени 506 приближенно равно числу 10 в степени (506 х 2000 = 1012000). Факториал от 2000 не превышает 10 в степени 6000. Следовательно, общее количество вариантов генерации 2000 случайных строк, содержащих все 256 байт, но расположенных случайным образом в строке, превышает 10 в степени (1012000 – 6000 = 1006000, или более чем 1 и миллион нулей).
Итак, для шифрования будем использовать массивы случайных строк в количестве до 2048. Такой массив, мы назвали складом базисов шифрования. Алгоритм зашифровки файла пользователя состоит в следующем:
1) берем первый байт файла пользователя и случайным образом выбираем строку из склада базисов;
2) в выбранной случайной строке ищется байт, равный байту файла пользователя. Такой байт всегда существует, так как в нашей случайной строке всего 256 байтов и все они встречаются в строке ровно по одному разу;
3) номер расположения байта файла пользователя в случайной строке – это адрес байта файла пользователя в случайной строке. Поскольку величина байтов изменяется от 0 до 255, а номера расположения байтов в случайной строке изменяются от 1 до 256, то для записи номера байта можно использовать всего один байт. Для этого достаточно от номера отнять единицу и преобразовать полученное число в байт;
4) заменяем байт файла пользователя на байт, характеризующий номер (адрес) расположения байта файла пользователя в случайной строке из склада базисов. Эта операция – есть ничто иное, как замена исходного файла пользователя на адрес расположения этого байта в случайной строке из склада базисов;
5) берем второй байт файла пользователя и случайным образом выбираем другую строку из склада базисов и переходим к пункту 2;
6) таким образом, исходный файл пользователя превращается в список адресов, по которым производится восстановление исходного файла пользователя при расшифровке;
7) при расшифровке берем первый байт из зашифрованного файла и ту же самую строку из склада базисов, которую использовали при шифровании. Этот байт преобразуем в число и увеличиваем на единицу для вычисления номера. По этому номеру из строки находим исходный байт файла пользователя и записываем его на место первого байта. Затем берем второй байт из зашифрованного файла и вторую строку из склада базисов, использованную при шифровании второго байта, и восстанавливаем исходное состояние второго байта файла пользователя и т.д.
Таким образом, для шифрования используется двумерный массив случайных строк. Если мы при расшифровке ошибочно используем не ту строку, что применяли при зашифровке, то вместо расшифровки мы зашифруем файл еще раз.
Как видно из приведенного описания, какая-либо функциональная или статистическая связь между исходными байтами файла пользователя и байтами зашифрованного файла пользователя отсутствует. Это связано с тем, что отсутствует связь между величиной байта и его местом расположения в случайных строках склада базисов, а также отсутствует какая-либо связь между величиной байта в исходном файле пользователя и местом расположения такого же байта в случайной строке. Очевидно, что исходный байт файла пользователя и адрес расположения этого же байта в складе базисов никак между собой не связаны, поэтому связь между ними совершенно случайная. Остается рассмотреть возможность повторной генерации склада базисов. Необходимо заново выбрать 2000 строк из множества размером 1 и миллион нулей. Это исключено, так как количество атомов во Вселенной является бесконечно малой величиной перед числом 1 и миллион нулей – физически негде расположить все строки. Таким образом, возможность расшифровки файлов, зашифрованных по нашему алгоритму, исключена даже теоретически. Недавно, я где-то читал о квантовых вычислениях, которые должны взламывать любой шифр. Наш алгоритм дает мощный толчок для развития и совершенствования методов расшифровки. Желаем профессионалам всяческих успехов и удач в разработке методов расшифровки наших файлов. Будем надеяться на то, что наши выводы о теоретической невозможности взлома нашего метода шифрования, являются ошибочными. В противном случае профессиональные дешифровщики просто исчезнут в связи с ненадобностью.

Разницу между расшифрованием и дешифрованием не понимаете. Если нельзя расшифровать зашифрованый файл, то нафига нужен такой алгоритм. Полезность его такая же как и у устройства с возможностью записи, но без возможности чтения. :) Поэтому если у вашего алгоритма исключена даже теоретически возможность расшифрования, то... а в прочем все равно пока не поймете. пока не посмотрите значения слов расшифровать и дешифровать.
Все описаное Вами далее тоже бред...
Вы хоть бы почитали бы что-нибудь прежде чем такие опусы писать. Хотябы на чем основана стойкость шифров. Симметричных и асимметричных. Про существовавшие и существующие алгоритмы (шифр гаммирования, RSA, ГОСТ, эл-гамаль).
Вобщем посмешили вы малость грамотных людей (совсем грамотным просто тошно с первых строк ваш пост читать). Полное непонимание и отсутствие всяких (даже фундаментальных) знаний в описаной области. Диагноз: пишите лучше текстовый редактор...
А критики, доступной вашему пониманию вы увы не дождетесь, т.к. на другом языке говорите.
Sax0n
 
Сообщения: 1
Зарегистрирован: Вт янв 03, 2006 12:52 pm

Сообщение nfnick » Вс фев 12, 2006 11:17 am

а может ли человек плохо знающий математику хорошо разбираться в крипторграфии ?
если да то какие книги ему следует читать?
(я не посягаю на вашу любимую науку - даже если вы ответите я всёравно их читать небуду но всёже интересно полистать )
nfnick
участник
 
Сообщения: 33
Зарегистрирован: Пт фев 10, 2006 2:34 pm

Взлом и защита

Сообщение timour » Вс фев 12, 2006 2:02 pm

Я не понимаю, почему уважаемым людям не показать на практике свои знания. На сайте http://crypto-service.narod.ru представлены примеры шифрования слова, фразы, текста и файла. Предлагается за расшифровку деньги. Чего проще взял 10000 вариантов зашифровки слова или фразы и выдал результат. А так почему-то на ум приходят басни Эзопа "Лиса и виноград" и Крылова "Слон и Моська". С уважением автор - Андрейчиков Н.И., изобретатель способа шифрования файлов случайными байтами. PS, на сайте имеется программа с использованием в качестве открытых и закрытых паролей фотографий политических деятелей России. Самый крутой - это В.В. Путин
Nikolay Andrejchikov
timour
 
Сообщения: 3
Зарегистрирован: Пт сен 09, 2005 8:38 pm
Откуда: Russia

Re: Шифрование файлов случайными байтами

Сообщение mari27seksi » Вт ноя 03, 2015 9:58 am

как то тоже прилетела такое ..... не чем хорошим не закончилось

------------------------
тут
mari27seksi
участник
 
Сообщения: 24
Зарегистрирован: Ср окт 14, 2015 10:48 am

Шифрование файлов случайными байтами

Сообщение eSovenok » Пн дек 28, 2015 7:33 pm

Вот сижу сейчас и тупо складываю кучу текстовых файлов, копируя текст в каждом по очереди и вставляя в один. А может есть в винде какая команда что б просто выделить их мышкой и объединить?
.
eSovenok
 
Сообщения: 5
Зарегистрирован: Вт ноя 24, 2015 10:27 pm
Откуда: Беларусь


Вернуться в Компьютерный терроризм

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рассылки Subscribe.Ru Лента "Новости Центра исследования компьютерной преступности"

cron