Мне нужно знать, насколько силен мой алгоритм шифрования - PullRequest
0 голосов
/ 05 мая 2018


Я создал алгоритм шифрования (в Python), который будет генерировать случайную строку из 255 символов - это мой ключ для шифрования.
Пример шифрования:

originalString = ‘A Quick Brown fox Jumps over a Lazy Dog!’
enCrypted_String = rrG1dcvuPvs2ada7kC6Ht6AlwwX1s8GcC7lG1wX1s8vuPvs2GrG1dc21RFL2R1RFL2lHt6Al11RFL2vuPvs2cyecQOR1RFL2yyN8OFvuPvs2xWvPBx6Ht6Al8wX1s8F1RFL2HHt6AlvuPvs2R1RFL2AHt6AleyecQO21RFL2vuPvs27cC7lGvuPvs2LwLMpP7cC7lG8yN8OFNyN8OFvuPvs2drG1dcR1RFL2QyecQOsuPvs2

Было бы здорово, если бы вы могли расшифровать строку, чтобы я мог проверить надежность моего кода и найти недостатки в моем алгоритме.

Дополнительная информация:

длина строки = 40
Длина зашифрованной строки = 240 (40 + 40 * 5)

Информация о секретном ключе

Закрытый ключ = длина 255 символов - представляет 255 символов таблицы ASCII

Алгоритм является модификацией шифра Цезаря. В моем алгоритме каждый символ заменяется символом из закрытого ключа с дополнительными пятью символами из закрытого ключа, то есть

A = rrG1dc = r-rG1dc, where r = 65th Character of Private Key
a = 7cC7lG = 7-cC7lG, where 7 = 97th Character of Private Key

Дайте мне знать, если вы можете сломать это, как вы это сделали, иначе, если потребуется какая-либо другая информация.
[Примечание: я не предоставляю закрытый ключ - так как он должен быть закрытым!]

Пример шифрования (для декодирования):

BaObwBRJ0kRd7cC7lG

Информация: строка из 3 символов - содержит цифры и буквы.

1 Ответ

0 голосов
/ 05 мая 2018

Цезарь шифр о сдвиге, ваш обычный заменитель шифра . Представление алфавита с помощью 6-символьных групп ничего не добавляет к безопасности, таких групп будет 256, и криптоанализ начнется с их сбора и замены их числами от 0 ... 255 (на практике гораздо меньше, поскольку аналитик придется работать только с теми символами, которые фактически появляются в зашифрованном тексте).

Ваш трехсимвольный текст безопасен, конечно, только не потому, что надежный шифр, а небольшой объем данных, который не позволяет использовать статистические методы. Однако уже можно сказать, что вы закодировали 3 разных символа, чего нельзя сказать с помощью надежного шифрования.

...