Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / CRYPTO_2009 / 8 сообщений из 8, страница 1 из 1
02.11.2009, 16:12:37
    #36286334
RT183.1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
http://www.spoj.pl/problems/CRYPTO/ Your task is to work as a cryptographer for some time, the reason is ...

Blue Mary has set a problem using English. Since the problem is too easy and it will be boring when solving it, she has deleted all the whitespaces and punctuations in the original problem description, and lowercased all the capital latin letters. Then, she randomly chose a permutation of the English lowercase letter alphabet, and then used the corresponding letters in place of the letters in the original text.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
atoqunxykhxsntonntafcjxeyupafqujhuofhdsfnyawuntucjxeyupyabuntuslaqujfuolkuqujhn
talihufanfqujhuofhesnhxsgayytoqufxpunjxseyunxiunozzucnukabhxskxlnzojugantntucjx
eyupkufzjacnaxloqujhuofhcjxeyupaflxnoygohfoqujhexjalicjxeyupfxpunapufangayyeual
nujufnalibjxpntunapuhxsnjhannxntunapuhxsfxyquaneuzosfuobnujyxnfxbgonyuhxsgayybu
uyqujhguyyntufslafftalalixsnfakuntugalkxgntueajkfojufalialialntunjuuntulonsjuaf
tojpxlaxsfgtonfntubajfncjxeyupxbolxlyaludskiuanfocysfecjxeyupalzxppxluvzucnfctu
juxlyaludskiuntafcjxeyupgayyeuntubajfncjxeyupxbpxfnxbntuxlyaludskiufntukonoyapa
nonaxlfojupsynacyunufnzofufoyyntulspeujfojufucojonukehfxpugtanufcozufoolkeojual
nuiujfolkyuffntolpovyxlialnalzxjzcysfcysfyolisoiuntualcsnbayugayyyuffntolbxsjpu
ioehnufatxcuhxszolfxyquanofbofnofcxffaeyueuzosfuanfqujhqujhuofholkntunufnzofufo
juqujhguowesnabhxsixngonyuhxsgayygxjwbxjoyxlinapunxbalkntupafnowuxbhxsjcjxijopc
xffaeyhuldxhntafcjxeyup

e  <-  u   120   -- 1-я колонка - частотность англ. букв в нормальном (случайном) тексте;
t  <-  n    83 
a  <-  f    69 
o  <-  a    67 
i  <-  x    64 
n  <-  o    56 
h  <-  y    54 
s  <-  j    50 
r  <-  l    44 
d  <-  t    34 
l  <-  s    32 
u  <-  h    30 
w  <-  p    29 
m  <-  e    26 
c  <-  c    25 
y  <-  b    18 
g  <-  i    18 
f  <-  g    17 
p  <-  k    17 
b  <-  q    14 
k  <-  z    14 
v  <-  d     5 
x  <-  w     4 
j  <-  v     2 
z  <-  m     0 
q  <-  r     0 

odnbetihpuiltdnttdoacsimhewoabesuenauvlathoxetdecsimhewhoyetdelrobesaenrpebesut
dorgueaotabesuenaumltuilfohhdnbeaiwetsilmhetigetnkkectepoyuilpirtknsefotdtdecsi
mhewpeaksoctoirnbesuenaucsimhewoaritnhfnuanbesumisorgcsimhewaiwetoweaotfohhmeor
teseatorgysiwtdetoweuiltsuottitdetoweuilaihbeotmeknlaenyteshitaiyfntheuilfohhye
ehbesufehhtdealroaadororgiltaopetdeforpiftdemospanseaorgorgortdetseetderntlseoa
dnswiroilafdntatdeyosatcsimhewiynrirhorevlpgeotanchlamcsimheworkiwwirejkectacde
seirhorevlpgetdoacsimhewfohhmetdeyosatcsimhewiywiatiytdeirhorevlpgeatdepntnhowo
tntoiransewlhtocheteatknaeanhhtderlwmesanseaecnsntepmuaiwefdoteacnkeannrpmnseor
tegesanrpheaatdnrwnjhirgortorkiskchlachlahnrglngetdeorcltyohefohhheaatdnryilswe
gnmuteaodiceuilknraihbeotnaynatnaciaaomhemeknlaeotabesubesuenaunrptdeteatknaean
sebesufenxmltoyuilgitfntheuilfohhfisxyisnhirgtowetiyorptdewoatnxeiyuilscsigsnwc
iaaomhuerviutdoacsimhew

Получился бред
...
Рейтинг: 0 / 0
06.11.2009, 01:37:31
    #36293633
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
попробуй в правой колонке переставлять близкие по частоте буквы.
f,a,x
o,y,j
t,s,h,p

и т.д
...
Рейтинг: 0 / 0
06.11.2009, 02:49:29
    #36293655
RT183.1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
Все равно получается трудноуловимая чехарда

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
s = open('D:/crypto.txt').read()

print s, '\n'

c = [\
    ['e', 'u', 'u',  120 ],
    ['t', 'n', 'n',  83 ],
    ['a', 'a', 'f',  69 ],
    ['o', 'f', 'a',  67 ],
    ['i', 'x', 'x',  64 ],
    ['n', 'y', 'o',  56 ],
    ['h', 'o', 'y',  54 ],
    ['s', 'j', 'j',  50 ],
    ['r', 'l', 'l',  44 ],
    ['d', 'h', 't',  34 ],
    ['l', 't', 's',  32 ],
    ['u', 's', 'h',  30 ],
    ['w', 'p', 'p',  29 ],
    ['m', 'e', 'e',  26 ],
    ['c', 'c', 'c',  25 ],
    ['y', 'i', 'b',  18 ],
    ['g', 'b', 'i',  18 ],
    ['f', 'g', 'g',  17 ],
    ['p', 'k', 'k',  17 ],
    ['b', 'q', 'q',  14 ],
    ['k', 'z', 'z',  14 ],
    ['v', 'd', 'd',  5 ],
    ['x', 'w', 'w',  4 ],
    ['j', 'v', 'v',  2 ],
    ['z', 'm', 'm',  0 ],
    ['q', 'r', 'r',  0 ]]  

for ci in c:
    print ci
print

c.sort(key=lambda ci: ci[ 1 ])

ss = ''
for si in s:
    ss += c[ord(si) -  97 ][ 0 ]

print ss





atoqunxykhxsntonntafcjxeyupafqujhuofhdsfnyawuntucjxeyupyabuntuslaqujfuolkuqujhntalihufanfqujh
uofhesnhxsgayytoqufxpunjxseyunxiunozzucnukabhxskxlnzojugantntucjxeyupkufzjacnaxloqujhuofhcjxe
yupaflxnoygohfoqujhexjalicjxeyupfxpunapufangayyeualnujufnalibjxpntunapuhxsnjhannxntunapuhxsfx
yquaneuzosfuobnujyxnfxbgonyuhxsgayybuuyqujhguyyntufslafftalalixsnfakuntugalkxgntueajkfojufali
alialntunjuuntulonsjuaftojpxlaxsfgtonfntubajfncjxeyupxbolxlyaludskiuanfocysfecjxeyupalzxppxlu
vzucnfctujuxlyaludskiuntafcjxeyupgayyeuntubajfncjxeyupxbpxfnxbntuxlyaludskiufntukonoyapanonax
lfojupsynacyunufnzofufoyyntulspeujfojufucojonukehfxpugtanufcozufoolkeojualnuiujfolkyuffntolpo
vyxlialnalzxjzcysfcysfyolisoiuntualcsnbayugayyyuffntolbxsjpuioehnufatxcuhxszolfxyquanofbofnof
cxffaeyueuzosfuanfqujhqujhuofholkntunufnzofufojuqujhguowesnabhxsixngonyuhxsgayygxjwbxjoyxlina
punxbalkntupafnowuxbhxsjcjxijopcxffaeyhuldxhntafcjxeyup 

['e', 'u', 'u',  120 ]
['t', 'n', 'n',  83 ]
['a', 'a', 'f',  69 ]
['o', 'f', 'a',  67 ]
['i', 'x', 'x',  64 ]
['n', 'y', 'o',  56 ]
['h', 'o', 'y',  54 ]
['s', 'j', 'j',  50 ]
['r', 'l', 'l',  44 ]
['d', 'h', 't',  34 ]
['l', 't', 's',  32 ]
['u', 's', 'h',  30 ]
['w', 'p', 'p',  29 ]
['m', 'e', 'e',  26 ]
['c', 'c', 'c',  25 ]
['y', 'i', 'b',  18 ]
['g', 'b', 'i',  18 ]
['f', 'g', 'g',  17 ]
['p', 'k', 'k',  17 ]
['b', 'q', 'q',  14 ]
['k', 'z', 'z',  14 ]
['v', 'd', 'd',  5 ]
['x', 'w', 'w',  4 ]
['j', 'v', 'v',  2 ]
['z', 'm', 'm',  0 ]
['q', 'r', 'r',  0 ]

alhbetinpdiutlhttlaocsimnewaobesdehodvuotnaxetlecsimnewnagetleurabesoehrpebesdtlarydeoatobesd
ehodmutdiufannlhbeoiwetsiumnetiyethkkectepagdiupirtkhsefatltlecsimnewpeoksactairhbesdehodcsim
newaorithnfhdohbesdmisarycsimnewoiwetaweoatfannmearteseotarygsiwtletawediutsdattitletawediuoi
nbeatmekhuoehgtesnitoigfhtnediufanngeenbesdfenntleouraoolararyiutoapetlefarpiftlemaspohseoary
aryartletseetlerhtuseaolhswiraiuoflhtotlegasotcsimnewighrirnarevupyeatohcnuomcsimnewarkiwwire
jkectocleseirnarevupyetlaocsimnewfannmetlegasotcsimnewigwiotigtleirnarevupyeotlephthnawathtai
rohsewuntacneteotkhoeohnntleruwmesohseoechshtepmdoiweflateochkeohhrpmhsearteyesohrpneootlhrwh
jniryartarkiskcnuocnuonhryuhyetlearcutganefannneootlhrgiusweyhmdteoalicediukhroinbeathoghotho
ciooamnemekhuoeatobesdbesdehodhrptleteotkhoeohsebesdfehxmutagdiuyitfhtnediufannfisxgishniryta
wetigarptlewaothxeigdiuscsiyshwciooamndervidtlaocsimnew
...
Рейтинг: 0 / 0
06.11.2009, 09:49:05
    #36293886
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
RT183.1, тебе не в тягость перевести задание на русский? А то чуйствую у меня интерпретация своя...
...
Рейтинг: 0 / 0
06.11.2009, 10:44:51
    #36294023
RT183.1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
Надо решить задачу, но ее описание зашифровано следующим образом.
В тексте оставлены только буквы A-Za-z, потом все прописные переведены в строчные.
Потом выбрана случайная перестановка букв a-z, например woshpeldbavfuqxncitymzjgkr
и по этой перестановке сделана замена букв в описании. Т.е. буква "a" заменяется на "w",
"b" на "o" и т.д.
Какая именно перестановка была выбрана нам конечно неизвестно.
...
Рейтинг: 0 / 0
08.11.2009, 15:05:15
    #36297243
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
а если для начала оставить только те буквы, для которых нет сомнений, а для других, писать точку?
например
e <- u 120
t <- n 83
и
r <- l 44
ну то есть только эти 3 буквы, а остальное - точки, и попытаться найти слово :)
...
Рейтинг: 0 / 0
08.11.2009, 15:06:16
    #36297244
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
гм, ну я так понял, что колонка с цифрами, это частота букв в данном тексте, да?
...
Рейтинг: 0 / 0
08.11.2009, 15:40:44
    #36297270
RT183.1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CRYPTO_2009
Угу. Это сколько раз встречалась (в шифровке) буква из третьей колонки,
отсортированное по убыванию частотности

Вторая колонка -- это моя попытка подбора/ "улучшения"
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / CRYPTO_2009 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]