id: Гость   вход   регистрация
текущее время 03:14 28/04/2024
Автор темы: Гость, тема открыта 02/06/2007 17:05 Печать
https://www.pgpru.com/Форум/Криптография/ПомогитеСРасшифровкой
создать
просмотр
ссылки

Помогите с расшифровкой


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


Перехвачено сообщение "WUXHURWZXQR XYUEXU! JHALGQGJ?",
которое зашифровано аффинным преобразованием векторов ( х / у ) в 841-буквенном алфавите.
Здесь числовыми эквивалентами биграмм являются числа х=29х1+х2, где х1 – эквивалент первой и х2 – эквивалент второй букв биграммы.
Таким образом, каждый блок из четырех букв дает столбец ( х / у ): две первые буквы дают целое число Х, а две другие дают у.
Известно также, что последние 12 букв приведенного выше шифртекста отвечают подписи "HEADQUARTERS".
а) Найте дешифрующее преобразование и прочитать сообщение
б) Найти шифрующее преобразование и построить шифрованое сообщение от имени штаба следующего содержания: слова "CANCEL LAST ORDER!" после двух пробелов сопровождаются подписью "HEADQUARTERS"


 
Комментарии
— ygrek (03/06/2007 12:43)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
Афинное преобразование (x1 x2 – биграммы открытого текста, y1 y2 – шифртекст)

Сопоставим открытый и шифртекст и запишем систему уравнений.


6 уравнений 6 неизвестных. Решаем. Получаем ключ – A и b.
Для корректного решения надо знать алфавит.
Например такой

А может быть другой порядок. Это должны были дать в условии лабораторной работы :)
Если же не дали, ну что ж – можно предположить что A.. Z оставлены в алфавитном порядке, тогда 4! = 24 варианта перестановки.
— DooDlez (03/06/2007 13:27)   <#>
Алфавит не дан, да и условие задачи полное... И поставлены конкретные задачи, расшифровать и послать зашифрованное.
Не мог бы ты помочь с этим? Т. е. расшифровать и послать зашифрованное сообщение ?
— ygrek (03/06/2007 15:03)   профиль/связь   <#>
комментариев: 98   документов: 8   редакций: 10
Нет.
— unknown (03/06/2007 16:06)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Сразу скажу, что у меня ничего не получилось :-(

Вот что я попытался сделать, Может это Вам поможет.
Всего в английском алфавите 26 букв + здесь ещё встречается пробел_, "?" и "!", вместе получается 29.
Итого как раз 29^2=841 биграмм,

Сначала надо пронумеровать буквы (от нуля до 25 или от 1 до 26?) плюс ещё три знака следуют в неизвестном порядке,

{a...z, ?, !, _} => {0...25,26,27,28}

Номера букв попарно сначала кодируются выражением P=29*x1+x2(mod841), чтобы преобразовать в 841-значный алфавит.

А вот само число уже шифруется при помощи афинного преобразования C=a*P+b(mod841)
Где P – открытый текст, C – шифртекст (всё в виде чисел-биграмм), a и b – коэффициенты, задающие ключ,

Хотя может я именно здесь чего-то не понял: что значит (x/y) и какие-то столбцы?

Возьмём пару открытых и шифртекстов. Там где есть слово HEADQUARTERS, но нет пробела, "?" и "!", поскольку порядок их кодирования неизвестен и его надо будет подбирать дальше,

Закодируем шифртекст LG=11*29+6=325 и закодируем соответствующий ему открытый текст AR=0*29+17
Аналогично шифртекст QG=16*29+6=470 соответствует открытому тексту TE=19*29+4=555

Имеем два соотношения:
470=a*555+b(mod841)
325=a*17+b(mod841)

Вычтем одно из другого, чтобы убрать коэффициент b:

145=538*a(mod841)

a=538(^-1)*145(mod841)

Чтобы посчитать мультипликативное обратное нужно использовать расширенный алгоритм Евклида, Считать табличкой-столбиками вручную довольно муторно, возьмём готовую web-форму здесь

Получаем:

a=136*145(mod841)
a=377

Подставим a в первое соотношение:

470=377*555+b(mod841)

470=667+b(mod841)

b=644(mod841)

Значит шифртекст должен бы получаться по формуле: C=377P+644(mod841)
Этого было бы достаточно, чтобы подделывать сообщения "от имени штаба",

Чтобы всё расшифровать надо вывести формулу для открытого текста:

P=377(^-1)(C-644)(mod841)
P=9C-5796(mod841)
P=9C+91(mod841)

Вот только увы и ах, ничего из этого не работает.

Если взять ещё одну биграмму для открытого и шифртекста:
C: HA=7*29+0 P: QU=16*29+20=484, то к ней уже полученная формула неприменима,

Если нумеровать буквы не с нуля, а с единицы, то тоже ничего не выходит,

Дальше честно говоря, нету времени этим заниматься, может кто-то другой найдёт, где я накосячил, поэтому
пока отсылаю вас читать Ed Schaefer "An introduction to cryptography". Принцип решения я попытался взять оттуда, может у вас лучше получиться,
— DooDlez (03/06/2007 20:38)   <#>
да, х/у – это столбец матрицы одинарной.
— SATtva (03/06/2007 21:10)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Найти шифрующее преобразование и построить шифрованое сообщение от имени штаба следующего содержания: слова "CANCEL LAST ORDER!" после двух пробелов сопровождаются подписью "HEADQUARTERS"

DooDlez, Вы не на ГРУ или СВР работаете? :-)
— DooDlez (03/06/2007 21:39)   <#>
нет, я работаю на ИНСТИТУТ :) и это, собственно мое задание, в котором я просто летаю :)
Я могу отплатить web-money, правда у студента там не очень густо денег, но все же :)
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3