LINUX.ORG.RU

Помогите определить метод шифрования

 


0

4

В получаемом потоке данных первые два байта - это длина сообщения в байтах. Следующие два байта - это идентификатор сессии. Например, вводим 100 букв a (англ)

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

получаем


0000 d5 00 31 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0010 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0020 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0030 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0040 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0050 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0060 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0070 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0080 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
0090 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
00a0 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
00b0 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 4b 26 df e5
00c0 c3 41 30 d3 90 fd 04 3e 18 9a eb 08 2a 47 91 c2
00d0 e2 07 76 f4 d6


0000 d5 00 31 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0010 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0020 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0030 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0040 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0050 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0060 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0070 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0080 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
0090 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
00a0 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
00b0 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 b6 db d7 ed
00c0 c4 41 30 d3 90 fd f1 cb e2 67 16 f5 d7 ba 99 ca
00d0 e5 07 76 f4 d6

вводим одну букву a (две попытки):

a


0000 0f 00 31 d3 90 fd bf 85 82 63 14 90 d3 df 9d
0000 0f 00 31 d3 90 fd ad 97 90 73 04 80 c3 cf 9f

Таким образом: 0f 00 - длина сообщения. 31 d3 - идентификатор сессии

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


0000 75 00 31 d3 90 fd 41 7b 53 5a 2e cd 8a e7 5f 65
0010 49 40 38 db 90 fd 49 73 53 5a 26 c5 8a e7 57 6d
0020 49 40 20 c3 90 fd 51 6b 53 5a 3e dd 8a e7 4f 75
0030 49 40 28 cb 90 fd 59 63 69 60 32 d1 b0 dd 47 7d
0040 73 7a 2c cf aa c7 51 6b 69 60 3a d9 b0 dd 4f 75
0050 73 7a 24 c7 aa c7 49 73 69 60 22 c1 b0 dd 57 6d
0060 73 7a 3c df aa c7 41 7b 69 60 2a c9 eb 86 16 45
0070 69 07 76 f4 d6



Последнее исправление: ret000 (всего исправлений: 5)

На шифрование это не слишком похоже, но предположим.

Зашифруй строку пробелов (или нулей 0х00) и зашифруй текст «a-zA-Z» и потом сделай XOR двух шифротекстов. Может чего и проявится.

anto215 ★★
()
Ответ на: комментарий от anto215

Поправил сообщение. Очень похоже на AES CBC шифр. Можно попробовать тут aes.online-domain-tools.com. Но тут блоки дублируются в два раза больше

ret000
() автор топика
Ответ на: комментарий от ret000

И похоже на то, что ключ находится в этом же сообщении

ret000
() автор топика
Ответ на: комментарий от ret000

Если бы это был AES, то у него размер блока 128 бит, тогда минимальный шифротекст от одного символа был бы длиной 16 байт. А у тебя тупо, 1 символ в опентекст добавляешь - 2 символа добавляются в шифротекст, а должно бы добавляться скачками по 16 байт.

anto215 ★★
()
Ответ на: комментарий от ret000

но я не могу найти сайт, на котором это можно проверить

проверяй на локалхосте /usr/bin/aespipe

Размер ключа не важен, важен размер блока, а он всегда 128 бит.

anto215 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.