Форум: "Начинающим";
Текущий архив: 2013.05.19;
Скачать: [xml.tar.bz2];
ВнизДешифровка по кодовому слову Найти похожие ветки
← →
AV © (2012-10-25 21:43) [40]
> сказал что мы можем к нему обращаться с любым текстом и
> любым(16 символов) ключевым словом и он на даёт зашифрованный
> текст
Обратись
с текстом
A
Ключ
AAAA-AAAA-AAAA-AAAA
с текстом
B
Ключ
AAAA-AAAA-AAAA-AAAA
с текстом
AB
Ключ
AAAA-AAAA-AAAA-AAAA
← →
Sha © (2012-10-25 22:28) [41]лучше с текстом #0
и ключами:
#1#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#0#1#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#0#0#1#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#0#0#0#1-#0#0#0#0-#0#0#0#0-#0#0#0#0
#0#0#0#0-#1#0#0#0-#0#0#0#0-#0#0#0#0
#0#0#0#0-#0#1#0#0-#0#0#0#0-#0#0#0#0
#0#0#0#0-#0#0#1#0-#0#0#0#0-#0#0#0#0
#0#0#0#0-#0#0#0#1-#0#0#0#0-#0#0#0#0
#0#0#0#0-#0#0#0#0-#1#0#0#0-#0#0#0#0
#0#0#0#0-#0#0#0#0-#0#1#0#0-#0#0#0#0
#0#0#0#0-#0#0#0#0-#0#0#1#0-#0#0#0#0
#0#0#0#0-#0#0#0#0-#0#0#0#1-#0#0#0#0
#0#0#0#0-#0#0#0#0-#0#0#0#0-#1#0#0#0
#0#0#0#0-#0#0#0#0-#0#0#0#0-#0#1#0#0
#0#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#1#0
#0#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#1
если этого будет мало добавим еще
← →
Sha © (2012-10-25 22:32) [42]вот ключи эти тоже спроси
#2#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#4#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#8#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#16#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#32#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#64#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
#128#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
← →
Rouse_ © (2012-10-25 22:44) [43]
> 96
>
> но ключ тот же
> ABCD-EFGH-IJKL-MNOP
не ключи разные.
ABCD-EFGH-IJKL-MNOP
и второй для войны и мира
ABCD-EFGH-IKLM-NOPQ
← →
Rouse_ © (2012-10-25 22:45) [44]Меня больше смущает 147 для kkkk-kkkk-kkkk-kkkk, тут явно не банальный ксор
← →
AV © (2012-10-26 01:08) [45]Автору.
В общем,
надо два разных текста по одному ключу прогнать
Тексты как можно проще. В идеале, как сказал Sha.
Если препод придерется, что это не текст, то как я предложил.
хотя даже лучше нет. Лучше "пробел" или @
Ключ тоже, или все "пробелы" или @
Итого
все пробелы (чем меньше разрешит, тем лучше)
второй - все @(чем меньше разрешит, тем лучше)
Ключ из них же, но один и тот же для обоих текстов.
- первый текст
@@@@-@@@@-@@@@-@@@@ - ключ
@ - второй текст
@@@@-@@@@-@@@@-@@@@ - ключ
← →
Германн © (2012-10-26 02:26) [46]< Я сам то не делаю нам преподаватель дал несколько вариантов
> и сказал что мы можем к нему обращаться с любым текстом
> и любым(16 символов) ключевым словом и он на даёт зашифрованный
> текст
)))
← →
han_malign (2012-10-26 08:50) [47]
> Меня больше смущает 147 для kkkk-kkkk-kkkk-kkkk, тут явно не банальный ксор
- там банальная таблица - нужно понять алгоритм перестановки на основании ключа...
Если исходить из формы ключа - можно предположить, что это операции над матрицей 16х16, разбитой на 4х4 подматриц 4х4...
И нужно понимать - значащие символы ключа - любые(Sha © [42]), или только печатаемые?
То есть у нас 2^127 перестановок, или значительно меньше???
← →
Rouse_ © (2012-10-26 10:27) [48]
> - там банальная таблица - нужно понять алгоритм перестановки
> на основании ключа...
Банальную таблицу ухохочешся составлять.
Если исходить из данного постулата: "По заявлению преподавателя тут всё очень просто", то должно быть что-то другое.
Ну типа Key[n] - Key[N+1] + Key[N+2] и т.п.
← →
brother © (2012-10-26 10:29) [49]Вот препод от вас отмазался ;) а окажется Key[n] + xor + ключевая таблица ;)
← →
Rouse_ © (2012-10-26 10:51) [50]Кстати это и не CRC8 (инициализация таблицы в диапазоне полинома 1..255 не подходит)
← →
AV © (2012-10-26 11:11) [51]
> Ну типа Key[n] - Key[N+1] + Key[N+2] и т.п.
согласен
для примера
Оригинальный текст:ABCDEFGHIJKLMNOP
Шифрованный текст:!"#$%&"()*+,-./0
ключевое слово : ABCD-EFGH-IJKL-MNOP
Подходит OR по ключу + 1 = 96
Что уже не подходит для других.
Нужно что-то типа ключа, где все 0 и только 1 бит установлен.
#32 - пробел
#64 - @
подошли бы
← →
han_malign (2012-10-26 12:20) [52]
> "По заявлению преподавателя тут всё очень просто", то должно быть что-то другое.
- просто - на полгода...
и либо здесь ошибка
> Инокентий [14]
>
> Оригинальный текст:
> aaaaaaaaaaaaaaaa
> ssssssssssssssss
> dddddddddddddddd
> ffffffffffffffff
>
> Шифрованный:
> тттттттттттттттт
> аааааааааааааааа
> чччччччччччччччч
> хххххххххххххххx
>
> Ключевое слово:
> kkkk-kkkk-kkkk-kkkk
$61 - $F2
$64 - $F7
$66 - $F5
$73 - $E0
- либо таки таблица
← →
Rouse_ © (2012-10-26 13:28) [53]
> и либо здесь ошибка
Почему же ошибка? Если отнимать - да цифры разные, а если ксорить - то во всех 4 есть ключ = 147Writeln($61 xor $F2);
Writeln($64 xor $F7);
Writeln($66 xor $F5);
Writeln($73 xor $E0);
← →
han_malign (2012-10-26 14:22) [54]- да чего-то я попутал...
То есть, для решения задачи - исходный и шифро-текст не важен (уже) - достаточно одного символа.
И на самом деле нужно исследовать ключ, а не шифровку...
Тогда в первую очередь нужно проверить коммутативность групп ключа:
- 4 (по идее ортогональные) перестановки в подгруппе: 1234-..., 2134, 1243, 3412
- возможно 4 раза(X-0-0-0, 0-X-0-0, 0-0-X-0, 0-0-0-X) т.к. подгруппы могут по разному кодироваться.
- тоже самое для групп 1111-2222-3333-4444, ...
(и того 20 ключей)
а дальше уже смотреть куда копать...
← →
Rouse_ © (2012-10-26 14:28) [55]ну я вот примерно таким-же способом как ты описал и крутил kkkk-kkkk-kkkk-kkkk дабы 147 получить, чистые сложение отрицания - не подходят, чистые ксоры то-же, получается что похоже зависимость от положения байта ключа в самом ключе в качестве модификатора + еще что-то...
← →
Инокентий (2012-10-26 16:02) [56]
> A
> Ключ
> AAAA-AAAA-AAAA-AAAA
>
шифрованный:.
шифрованный вид в хексе:04
> с текстом
> B
> Ключ
> AAAA-AAAA-AAAA-AAAA
>
шифрованный:.
шифрованный вид в хексе:07
> с текстом
> AB
> Ключ
> AAAA-AAAA-AAAA-AAAA
шифрованный:..
шифрованный вид в хексе:04 07
← →
Инокентий (2012-10-26 16:03) [57]>AV
Тест выше для AV то что Вы просили
← →
Инокентий (2012-10-26 16:24) [58]
> AV © (26.10.12 01:08) [45]
> Автору.
>
> В общем,
> надо два разных текста по одному ключу прогнать
> Тексты как можно проще. В идеале, как сказал Sha.
> Если препод придерется, что это не текст, то как я предложил.
>
> хотя даже лучше нет. Лучше "пробел" или @
> Ключ тоже, или все "пробелы" или @
>
> Итого
> все пробелы (чем меньше разрешит, тем лучше)
> второй - все @(чем меньше разрешит, тем лучше)
> Ключ из них же, но один и тот же для обоих текстов.
>
> один пробел - первый текст
> @@@@-@@@@-@@@@-@@@@ - ключ
>
шифрованный:`
шифрованный вид в хексе:60
> @ - второй текст
> @@@@-@@@@-@@@@-@@@@ - ключ
шифрованный:.
шифрованный вид в хексе:00
← →
Инокентий (2012-10-26 16:43) [59]
> Sha © (25.10.12 22:28) [41]
> лучше с текстом #0
> и ключами:
> #1#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #0#1#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #0#0#1#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #0#0#0#1-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #0#0#0#0-#1#0#0#0-#0#0#0#0-#0#0#0#0
> #0#0#0#0-#0#1#0#0-#0#0#0#0-#0#0#0#0
> #0#0#0#0-#0#0#1#0-#0#0#0#0-#0#0#0#0
> #0#0#0#0-#0#0#0#1-#0#0#0#0-#0#0#0#0
> #0#0#0#0-#0#0#0#0-#1#0#0#0-#0#0#0#0
> #0#0#0#0-#0#0#0#0-#0#1#0#0-#0#0#0#0
> #0#0#0#0-#0#0#0#0-#0#0#1#0-#0#0#0#0
> #0#0#0#0-#0#0#0#0-#0#0#0#1-#0#0#0#0
> #0#0#0#0-#0#0#0#0-#0#0#0#0-#1#0#0#0
> #0#0#0#0-#0#0#0#0-#0#0#0#0-#0#1#0#0
> #0#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#1#0
> #0#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#1
> если этого будет мало добавим еще
>
> <Цитата>
> Sha © (25.10.12 22:32) [42]
> вот ключи эти тоже спроси
> #2#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #4#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #8#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #16#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #32#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #64#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
> #128#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
А вот с этим по труднее будет,если я правильно Вас понял то надо без# писать т.к. ключ состоит из 16 символов
← →
AV © (2012-10-26 16:52) [60]
> Инокентий
ага
итак, xor на этот раз 69
// что как бэ говорит, что мы еще по ээ мучаемся, причем не по-человечьи :)
или 0100 0101
имеется ключ - 65 (0100 0001) по 16 (0001 0000) раз
пока ничего
(просто так, записал, что бы видно было. Может что потом придет)
← →
AV © (2012-10-26 16:53) [61]
> шифрованный:`
> шифрованный вид в хексе:60
>
>
> > @ - второй текст
> > @@@@-@@@@-@@@@-@@@@ - ключ
>
>
> шифрованный:.
> шифрованный вид в хексе:00
а вот это интереснее..
подумаю дома
← →
Инокентий (2012-10-26 17:14) [62]
> > Sha © (25.10.12 22:28) [41]
> > лучше с текстом #0
> > и ключами:
> > #1#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0
в блокноте ец
в хексе e5 f6
#1#0#0#0-#0#0#0#0-#0#0#0#0-#0#0#0#0 я дал ему этот ключ он его прямо так и применил с решётками
← →
Инокентий (2012-10-26 17:17) [63]у меня тут ещё есть интересные примеры если помогут
В качестве оригинального текста используется 1 пробел
Ключ: kkkk-kkkk-kkkk-kkkl
шифрованный: °
шифрованный вид в хексе: b0
Ключ: kkkk-kkkk-kkkk-kkkm
шифрованный: ±
шифрованный вид в хексе: b1
Ключ: kkkk-kkkk-kkkk-kkkn
шифрованный: ®
шифрованный вид в хексе: ae
Ключ: kkkk-llll-mmmm-nnnn
шифрованный: «
шифрованный вид в хексе: ab
Ключ: kkkk-kkkk-kkkq-kkkk
шифрованный: Q
шифрованный вид в хексе: 51
← →
Sha © (2012-10-26 18:12) [64]> я дал ему этот ключ он его прямо так и применил с решётками
кто из вас прикололся?
← →
Инокентий (2012-10-26 18:41) [65]
> Sha © (26.10.12 18:12) [64]
> > я дал ему этот ключ он его прямо так и применил с решётками
>
> кто из вас прикололся?
В смысле?
← →
Sha © (2012-10-26 18:53) [66]#0 означает символ номер 0, т.е. его Ord()=0, т.е его шестнадцатеричное значение равно $00.
Кто из вас с преподом сделал вид, что этого не знает?
Или никто? :-)
← →
Инокентий (2012-10-26 19:00) [67]Я думал что это именно код)))) Да это однозначно моя ошибка, извините)))
← →
Sha © (2012-10-26 22:56) [68]функцию для последней цифры ключа подобрал
function GetXorValue(start: integer; const s: string): byte;
var
i, val: integer;
begin;
Result:=start;
for i:=1 to Length(s) do begin;
val:=Ord(s[i]) + (Ord(s[i]) xor 1) and 1 * 2;
Result:=Result-val;
end;
end;
const
TestKeys: array[0..3] of string= (
"kkkk-kkkk-kkkk-kkkk",
"kkkk-kkkk-kkkk-kkkl",
"kkkk-kkkk-kkkk-kkkm",
"kkkk-kkkk-kkkk-kkkn"
);
procedure TForm1.Button1Click(Sender: TObject);
var
i, start: integer;
b: byte;
begin;
start:=256;
while start>0 do begin;
dec(start);
if GetXorValue(start, TestKeys[Low(TestKeys)])=147 then break;
end;
Memo1.Lines.Add(Format("start=%.2x",[start]));
for i:=Low(TestKeys) to High(TestKeys) do begin;
b:=GetXorValue(start, TestKeys[i]);
Memo1.Lines.Add(Format("xor=%.2x code=%.2x",[b, b xor $20]));
end;
end;
{вывод:
start=CA
xor=93 code=B3
xor=90 code=B0
xor=91 code=B1
xor=8E code=AE
}
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.05.19;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.006 c