воскресенье, 2 августа 2020 г.

Релиз моего шифратора Cryptos 2.5

Новый релиз 2.5 вышел уже с учётом замечаний https://pikabu.ru/story/reliz_moego_shifratora_cryptos_23_7520302#comments к предыдущему релизу https://pikabu.ru/story/reliz_moego_shifratora_cryptos_23_7520302

Релиз на SourceForge: https://sourceforge.net/projects/cryptos-encoder/files/Cryptos%202.5/

Релиз на GitHub: https://github.com/alexwolf1975/CryptosEncoder/tree/master/Cryptos%202.5

Добавились новые функции! Назначение новых ключей приведено ниже. Теперь можно не создавать ключи шифрованием, а вместо этого напрямую написать любой текст. А ещё появилась возможность использовать в качестве шифра что угодно, хоть картинку, желательно не большую, а в пределах килобайта размером.

Достоинства и преимущества шифратора по сравнению с другими, которые можно скачать из интернета.

1. Открытый код, простой для понимания машинный язык, не требующий компиляции. Скачивая из интернета программу для шифрования на компилируемых языках можно поймать в скомпилированном коде закладку, если не проверить чек-сумму, что для компиляции малополезно. И это преимущество подтверждено специалистами https://pikabu.ru/story/reliz_moego_shifratora_cryptos_23_7520302?cid=172018580

2. Простые и понятные алгоритмы шифрования: гаммирование, рассеивание и самое главное — деление на очень большое число вместо умножения! Важность понимания способа шифрования подтверждена специалистами https://pikabu.ru/story/reliz_moego_shifratora_cryptos_23_7520302?cid=172017982 в предыдущем релизе. Поиск простых чисел и разложение на множители больше не помогут! Если нет множителя — нет и расшифровки, а перебор всех значений ключа в многие килобиты длиной займёт времени примерно до конца света.

3. Возможность использовать что угодно для шифрования в качестве ключа. При этом ничего нигде для хэширования дополнительно скачивать не надо. Как правильно заметили специалисты https://pikabu.ru/story/reliz_moego_shifratora_cryptos_23_7520302?cid=172015107 в предыдущем релизе, сложно не столько написать хороший симметричный шифратор, сколько доказать, что он хороший.

4. Принципиально (во всяком случае аналогов я не нашёл) новый способ шифрования: вместо умножения на очень большое простое число теперь используется деление. Разложение на множители больше не требуется и ничем не грозит, как и проверка простоты чисел. Теперь стойкость к взлому не зависит от возможности разложить число на множители, а без правильного ключа придётся перебирать все варианты, которых имеется практически неисчерпаемое множество.

5. Ключом для шифра может быть файл с любым содержанием: хоть картинка, хоть фраза, хоть любой набор символов. Больше не надо запоминать огромные ключи, которые надо ещё где-то хранить и не потерять во всех смыслах этого слова. Можно прятать шифры где угодно и как угодно, хоть в книгах или картинках.

Теперь проделаем всё то же самое, что и в предыдущем релизе, но в новом формате. Рассмотрим работу на конкретном примере. Возьмём любой файл с любым содержанием. Чтобы понять было проще, возьмём просто небольшой текст и сохраним в Послание.txt.

Этот файл содержит ужасные оскорбления всех, за которые автора обязательно посадят!
А здесь вообще государственная тайна! Тут — военная! Здесь — номера банковских счетов,
может быть, в швейцарском банке. А это компромат на всё правительство.


Чтобы никто и никогда, кроме владельцев ключа, не расшифровал это послание, мы его зашифруем ключевой фразой.

Сотрудник мой — КОЗЁЛ!!! Ребёнок мой — урод! Жена моя — паскуда и тёща моя — тварь!

Нормальный человек до таких гадостей точно не додумается, поэтому повторить высказывание будет некому. Поместим его в файл Шифр.txt.

А теперь шифруем! Чтобы не задумываться о кодировках, возьмём бинарный формат ключа и бинарный формат вывода, чтобы размер выходного файла получился наименьшим. Чем длиннее секретный ключ и больше исходный файл, тем дольше происходит шифрование.

>: python3 cryptos2.5.py -e -bin -c Шифр.txt -b256 -i Послание.txt -o Послание.txt.crp

В итоге получаем файл Послание.txt.crp бинарного содержания, поэтому мы его здесь не показываем. Желающие могут попробовать сжать его архиватором, но делать этого не нужно потому, что файл становится больше! Теперь можете хоть посылать почтой, хоть выкладывать на сайт в открытый доступ. Можно даже на страницу выложить в интернете, хотя это лучше делать в двух других форматах: -b16 или -b64. Расшифровать это без ключа не получится! А когда понадобится расшифровать файл Послание.txt.crp выполняем обратное действие с выводом в Послание.txt.dcd.

>: python3 cryptos2.5.py -d -bin -c Шифр.txt -b256 -i Послание.txt.crp -o Послание.txt.dcd

Открывая файл Послание.txt.dcd находим в нём сакраментальную фразу.

Этот файл содержит ужасные оскорбления всех, за которые автора обязательно посадят!
А здесь вообще государственная тайна! Тут — военная! Здесь — номера банковских счетов,
может быть, в швейцарском банке. А это компромат на всё правительство.


Формат команды немного изменился. Алгоритм шифрования остался один, зато форматов стало больше.

>: python3 cryptos2.5.py [-h] [-v] (-e | -d) (-dig | -txt | -bin) -c cipher_file (-b16 | -b64 | -b256) -i input_file -o output_file

-h, --help: показать помощь по использованию.
-v, --verification: выводить больше информации.
-e, --encryption: шифрование.
-d, --decryption: расшифровка.
-dig, --digital: цифровой ключ в десятичном, шестнадцатеричном, восьмеричном или двоичном виде.
-txt, --text: текстовый ключ. Рекомендуется для запоминаемых ключей.
-bin, --binary: бинарный ключ из файла любого формата. Можно использовать картинки в сотни байт и килобайты длиной.
-c file, --cipher file: файл с ключом шифра.
-b16, --io_base16: чтение и запись в формате base16.
-b64, --io_base64: чтение и запись в формате base64.
-b256, --io_base256: чтение и запись в бинарном формате.
-i file, --input file: шифруемый входной файл.
-o file, --output file: зашифрованный выходной файл.

Да пребудет с вами Хаос тайна!

Комментариев нет:

Отправить комментарий