Шифрование строки - PullRequest
       1

Шифрование строки

1 голос
/ 03 февраля 2020

Есть программа, которая шифрует любые значения. Проблема в том, что я не могу понять, что это за алгоритм. Так, например,

входное значение равно 1, выходное значение равно cwjtCNNxuYsB+fns/5h66g==

входное значение равно 2, выходное значение равно UR/EJ8GNC/eG5zFXBwbXDw== и так далее.

Когда вход увеличивается, выход также увеличивается:

вход London is the capital of Great Britain, выход mnmxU29GVF+e+zn6Y8k246TdbF3wafzl7/ohdgA9KEvZNoLG02JW5HdcwZJNiZmA.

Странные вещи здесь - это "+", "/" и "=".

Я не могу понять, как классифицировать такой шифр.

1 Ответ

0 голосов
/ 03 февраля 2020

Эти выходные данные (с "+", "/" и "=") имеют кодировку base64.

Base64 - это стандарт кодирования, который использует ряд символов ASCII для представления двоичных данных , переводя его в представление radix-64.

Он широко используется для упрощения передачи зашифрованных сообщений по электронной почте, WhatsApp, iMessage и др. c.

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

Я ожидаю, что это некоторый тип симметричного c блочного шифра .

AES - расширенный стандарт шифрования, имеет размер блока 128 бит. Er go, независимо от того, насколько мал вход (даже 1 бит), он будет дополнен как минимум до 128 бит. Учитывая, что ваши входные данные '1' и '-2' фактически зашифрованы для 128-битного вывода, я ожидаю, что это вероятно AES.

Действительно, «Лондон - столица Великобритании» также является кратным 128-битного кода с 384-битным шифротекстом.

mnmxU29GVF+e+zn6Y8k246TdbF3wafzl7/ohdgA9KEvZNoLG02JW5HdcwZJNiZmA ->

100110100111100110110001010100110110111101000110010101000101111110011110111110110011100111111010011000111100100100110110111000111010010011011101011011000101110111110000011010011111110011100101111011111111101000100001011101100000000000111101001010000100101111011001001101101000001011000110110100110110001001010110111001000111011101011100110000011001001001001101100010011001100110000000 == 384-bits/128-bit block size = 3 блока данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...