Newsgroup: it.hobby.enigmi
Titolo: Decrittare monoalfabetica con omofoni e Vigenere

Scusate, probabilmene sono leggermente fuori argomento, ma non ho
trovato un gruppo piu' indicato, a parte forse it.comp.sicurezza.pgp
sul quale inoltrero' una domanda del tutto similare.
Non so se alcuni di voi l'hanno letto, io l'ho ricevuto da Babbo
Natale, ma c'e' un libro sulla storia della crittografia che ha alla
fine quattro problemi. Sto parlando di Codici e Segreti (di Simon
Singh per Rizzoli). I primi due sono banali (cifratura monoalfabetica
e cifratura di Cesare), il terzo e il quarto sono basati sulla
sostituzione monoalfabetica con omofoni (per la quale e' impossibile
applicare il sistema della rilevazione delle frequenze) e sul sistema
Vigenere che sono piuttosto complicati (per la traduzione carta e
penna), quindi mi/vi domando se esistono in rete dei programmi in
grado di decrittare messaggi che si basano su tali sistemi.
La domanda sorge spontanea perche' tra tutti i solutori che spediranno
la prova d'acquisto e la soluzione ce ne saranno di estratti per un
premio in libri di circa un milione di lire. Il tutto entro pochi
mesi. La sfida e' esaltante, ma la pigrizia impera...
Mille grazie.

Allora ti parlo da uno che ha risdolto e spedito la soluzione di tutti e 4
gli enigmi :)
Sono entrato in contatto con questo NG ieri e penso che ci siano un sacco di
gente
che possa essere in grando di risolvere quei codici, che sono piuttosto
facili.
Il primi due sono banali, il quarto è solo un po' lunghetto (se fatto a
mano) mentre il terzo nacessita anche un po' di abilità cerebrale. ;-)
Per i programmi basta che posti su un qualsiasi NG di programmazione e
chiedi "come faccio a fare un programma che scansioni un testo cercando
delle coppie ripetute di lettere di almeno 3 caratteri"? vedrai che è una
cosa molto semplice. Per il terzo.. beh eh eh eh innanzitutto credo che ti
convenga fare un'analisi delle frequenze, perchè è sempre utile.. ma se nonc
e la fai da solo.. puoi sempre scrivermi e vediamo un po' diaiutarti..
magari dopo Marzo ;-)
ventu
PS: adesso che hai postato qua non ho quasi più probabilità di vincere il
premio.. e nemmeno tu :(

...


 wrote:
" il terzo e il quarto sono basati sulla
" sostituzione monoalfabetica con omofoni (per la quale e' impossibile
" applicare il sistema della rilevazione delle frequenze) e sul sistema
" Vigenere che sono piuttosto complicati (per la traduzione carta e
" penna), quindi mi/vi domando se esistono in rete dei programmi in
" grado di decrittare messaggi che si basano su tali sistemi.
Per Vigenere non e` difficile adattare un sistema classico. Basta che tu
abbia un testo abbastanza ampio, provi tutte le lunghezze di chiave e
guardi quale ti da` la miglior statistica di frequenza.
L'altro non l'ho ben capito, visto che omofoni non ce ne sono molti in
italiano...
ciao, .mau.

italiano...
Se non vado errando, nel sistema con omofoni ci sono piu' caratteri
che hanno lo stesso significato, in base alla frequenza. Per esempio
se la e si presenta nell'8 per cento dei casi, ci saranno 8 caratteri
che rimpiazzano quel carattere. Tutti hanno lo stesso suono (e) e
quindi l'alfabeto crittante ha degli omofoni. Non so se mi sono
spiegato.

 wrote:
" Se non vado errando, nel sistema con omofoni ci sono piu' caratteri
" che hanno lo stesso significato, in base alla frequenza. 
Ah, ho capito. Li` in genere si viaggia su gruppi di lettere (che e` piu`
difficile nascondere, da quanto ho letto).
Ma non conosco nulla di pratico.
ciao, .mau.

 facili.
Hey, anch'io ho spedito la soluzione giusto ieri, e prego chiunque ne sia a
conoscenza di non postarla sul NG per mantenere la sfida cavalleresca.
Comunque, se posso dare un lieve suggerimento, le uniche difficoltà vere le
ho riscontrate sul terzo brano in codice, ma se avessi fatto un po' di
ragionamenti in più avendo già decrittato il primo, me la sarei cavata in
dieci minuti. Ne riparliamo a fine concorso, magari.
il Silvano

 domandvo se c'erano degli strumenti informatici belli e pronti.
Nella rubrica INTELLIGIOCHI di Mc Microcomputer n.101 novembre 1990,
Dani Ferrari ha scritto un articolo "Chi ha paura del Vigenere" dove
analizza e risolve il problema. Lo stesso Dani ha scritto un programma
veramente efficace per decrittare testi in italiano.
Ti ho inviato il programma personalmente.
ciao :)dario

 wrote in message
84gvii$8ch$1...@nslave2.tin.it...

con te conosco la terza persona che li ha risolti.. uff... non vincerò mai
:(((
e io che speravo che risolvendoli al più presto mi avessero avvantaggiato..
li ho spediti ben 5 giorni dopo che era uscito il libro :)
ventu

premio.. e nemmeno tu :(
Sono stato pagato dall'editore. 8-)
Scherzo.
Mille grazie e ciao.

Ti ho inviato il programma personalmente.
Mille grazie, non l'ho ancora ricevuto, forse perche' hai sbagliato
indirizzo... Infatti compaio nei gruppi di discussione con un
fasce-nopubblicita-@-
nospam-mbox.cis.it
 e sia -nopubblicita- che
-nospam- vanno eliminati a mano. Se per cortesia mi rimandi il
malloppo, te ne sarei infinitamente grato.
Ciao ciao e buon anno!

dieci minuti. Ne riparliamo a fine concorso, magari.
Mille grazie del suggerimento. Se mi vuoi inviare, in via privata, la
soluzione, posso verificare che tu non abbia fatto errori. 8-)
Ciao ciao (sto morendo dal ridere).

dieci minuti. Ne riparliamo a fine concorso, magari.
A proposito, la chiave da spedire nella soluzione del quarto quesito
(Vigenere) e` la chiave usata per la crittografia, giusto? Io non ho
trovato riferimenti a una chiave dentro al testo.
-- 
Bye, ___             _
    / __|__ _ _ _ __| |___ _ _
   | (_ / _` | '_/ _` / -_) ' \ _
    \___\__,_|_| \__,_\___|_||_(_)
yhq...@qnqn.vg
 (use ROT13 to decode)
Today is Boomtime, the 2nd day of Chaos in the YOLD 3166

trovato riferimenti a una chiave dentro al testo.
Mi rispondo da solo... no, non e` quella. Separando un po' le parole
e cercando il brano originale ho scoperto che c'e` una riga di troppo...
Ci sono 2 problemi pero`: due righe prima c'e` una parola che c'entra,
si`, ma non fa parte del brano, o almeno, potrebbe starci ma alla fine.
Poi questa nuova parola chiave, se non ho fatto errori di copiatura, 
e` una parola che non mi suona in nessuna lingua conosciuta, mentre
quelle precedenti sono tutte parole esistenti. E` giusta?
(Se qualcuno di quelli che l'ha gia` risolta mi vuole contattare via
email, ne parliamo meglio. Occhio che l'indirizzo e` quello nella
firma, opportunamente decifrato con cifratura di Cesare.) 


Mi piacerebbe sapere come va  a finire.
Sul sito del tuo liceo ho trovato alcune form utili alla decrittazione
dei primi due problemi. Il secondo, quello con la cifratura di Cesare,
e' stato risolto facilmente con quel sistema (a mano mi sono
incasinato molte volte). Risolvendo quel crittogramma mi sono accorto
che il risultato era in latino, quindi ho supposto che anche gli altri
fossero in latino.
Il primo crittogramma, sul quale sto lavorando ora, e' anch'esso
aiutato da una form che ho trovato su quel sito. Trattasi di
crittazione monoalfabetica nella quale un alfabeto chiaro
abcdefghijklmnopqrstuvwxyz
e' cicrato ad esempio con
qwertyuiopasdfghjklzxcvbnm
Valendo la procedura inversa, basta mettere nello spazio "testo in
chiaro" quello in realta' crittato ottenendo quello in chiaro nello
spazio "testo in crittato". Nel sito ho anche trovato un istogramma
delle frequenze della lingua latina, utile per l'analisi. In realta'
non ho ancora risolto il crittogramma. Sto lavorando alle ipotesi e
predisposto il lavoro di routine, avendo contato le occorrenze, ma
anche predisposto in un foglio excel le parole di due e tre lettere.
Con una formula ho il risultato di avere il testo in chiaro, mettendo
sotto il testo cifrato le corrispondenti lettere chiare. Mi spiego:
utilizzo una riga con l'alfabeto crittato (abcdefghijklmnopqrstuvwxyz)
e di sotto, nella seconda, metto quello cifrato (ad esempio
qwertyuiopasdfghjklzxcvbnm) automaticamente si formano le parole di
due e tre lettere che mi servono per le ipotesi. Ad esempio ho
individuato una parola di tre lettere con la prima e la terza lettera
uguali, ho supposto si trattasse di "non". Ho trovato poi due parole
simmetriche di due lettere (et+te?) e via di seguito.
Al momento brancolo nel buio. 8-)

Stadio 1: cifratura per semplice sostituzione monoalfabetica
blqvcddbrmlxtjx mqqmvdxvc nxggx nbjm nb lmtc nuclc x
rb lbrxvc m ravbdxvx nbxjvc mg amtnxgmfvc rcqvm gm
amgax nxggmqmvxjx nxg qmgmooc vxmgx x bg vx dxnxdn
bg qmglc nxggm lmtc apx ravbdxdm. mggcvm bg vx lujc bg
acgcvx nxggm imaabm x b rucb qxtr bxvb gc juvfmvctc; gx
wbutjuvx nxb rucb ibmtapb rb rabcgrxvc x b rucb wbt-
caapb fmjjxdmtc gutc actjvc gmgjvc. bg vx cvnbtc act
mujcvbjm nb imv dxtbvx b lmwpb, b amgnxb x wgb
mrjvcgcwb. bg vx nbapbmvc mb rmqbxtjb nb fmfbgctbm:
"apbutkux gxwwxvm kuxrjm ravbjjuvm x lb imv act-
craxvx gm rum btjxvqvxjmobctx btncrrxvm gm qcvqcvm,
wgm rb lxjjxvm utm acggmtm ncvc btjcvtc mg acggc x
rmvm jxvoc txg wcdxvtc nxg vxwtc."
mggcvm maacvrxvc jujjb b rmqbxtjb nxg vx, lm tct vbu-
rabvctc m gxwwxvx gm ravbjjuvm x m nmvtx gbtjxvqvxj-
mobctx mb vx. acrb bg vx fmgnmrrmv vblmrx lcgjc
juvfmjc, gm rum imaabm amlfbc acgcvx x b rucb
nbwtbjmvb iuvctc mjjxvvbjb. gm vxwbtm, racrrm nmggx
qmvcgx nxg vx x nxb rucb nbw tbjmvb, xtjvc txggm rmgm
nxg actdbjc. gm vxwbtm qvxrx m nbvx: "c vx, dbdb bt
xjxvtc. tct jb juvfbtc b jucb qxtrbxvb x bg acgcvx nxggm
jum imaabm tct amlfb. ax ut uclc txg juc vxwtc apx
qcrrbxnx gc rqbvbjc nxwgb nxb rmtjb. ibt nmb jxlqb nb
juc qmnvx iuvctc jvcdmjb bt gub btjxggxjjc, btjxggbwtom
x rmqbxtom rblbgx mggm rmqbxtom nxwgb nxb. rbaapx
bg vx tmfuacnctcrcv juc qmnvx gc qcrx m amqc nxb
lmwpb, nxwgb btncdbtb, nxb amgnxb x nxwgb mrjvcgcwb.
qcbapx utc rqbvbjc ruqxvbcvx, rabxtom x btjxggbwxtom,
gbtjxvqvxjmobctx nxb rcwtb, gm actcraxtom nxwgb
xtbwlb, gm rcguobctx nxggx acrx nbiibabgb rctc rjmjx
jvcdmjx bt gub, nmtbxgx, m aub bg vx qcrx tclx fmgj-
moomv: cvm rbm apbmlmjc nmtbxgx xn xwgb btnbapxvm
gbtjxvqvxjmobctx. gm qvblm qmvcgm apbmdx x cjpxggc
Stadio 2: cifratura di Cesare
mhily lza zbhl xbpzxbl mvyabuhl hwwpbz jshbkpbz jhljbz kpjabt hyjhubt
lza' ulbayvu
Stadio 4: Cifratura di Vigenere
kqowefvjpujuunukglmekjinmwuxfqmkjb
gwrlfnfghudwuumbsvlpsncmuekqcteswr
eekoyssiwctuaxyotapxplwpntcgojbgfq
htdwxizaygffnsxcseynctsspntujnytgg
wzgrwuunejuuqeapymekqhuiduxfpguyts
mtffshnuoczgmruweytrgkmeedctvrecfb
djqcuswvbpnlgoylskmtefvjjtwwmfmwpn
memtmhrspxfsskffstnuoczgmdoeoyeekc
pjrgpmurskhfrseiuevgoycwxizaygosaa
nydoeoyjlwunhamebfelxyvlwnojnsiofr
wucceswkvidgmucgocruwgnmaaffvnsiud
ekqhceucpfcmpvsudgavemnymamvlfmaoy
fntqcuafvfjnxklneiwcwodcculvriftwg
muswovmatnybuhtcocwfytnmgytqmkbbnl
gfbtwojftwgntejkneedcldhwtvbuvgfbi
jgyyidgmvrdgmplswgjlagoeekjofeknyn
olrivrwvuheiwuurwgmutjcdbnkgmbidgm
eeyguotdggqeujyotvggbrujys
Chiunque volgia confrontare le sue soluzioni con le mie, non ha che da
spedirmele. Chiunque mi spedisca due soluzioni, ricevera' il terzo
problema. Risolti i quattro problemi, potrete comprare il libro. 8-)
Paolo il politicamente scorretto.
8-)

>Al momento brancolo nel buio. 8-)
Or mi accorgo che il quarto problema e' in francese...
Mi tocchera' rivedere la procedura di approccio al primo e al terzo...
Ciao ciao.

Mi piacerebbe sapere come va  a finire.
Il primo pezzo e' in italiano... ora mi manca solo il terzo!
8-)


yhq...@qnqn.vg
 (use ROT13 to decode)
8-)

Per chi ha gia' risolto: sapete che io sono stato il Presidente della
Federazione Nazionale Gioco Othello? Potete quindi immaginare la mia
sorpresa...
Ciao ciao.

Per la precisione, nel problema 1 e 4 che ho inviato c'era una lettera
sbagliata nel quarto e un paio nel secondo. Per non essere accusato di
depistaggio (cosa ridicola, visto che io li ho risolto pur con quegli
errori di copiatura) rimando la versione corretta:
Primo (e' in italiano (gli accapo sono fatti "all'inglese"), cifratura
per semplice sostituzione monoalfabetica):
blqvcddbrmlxtjx mqqmvdxvc nxggx nbjm nb lmtc nuclc x
rb lbrxvc m ravbdxvx nbxjvc mg amtnxgmfvc rcqvm gm
amgax nxggmqmvxjx nxg qmgmooc vxmgx x bg vx dxnxdm
bg qmglc nxggm lmtc apx ravbdxdm. mggcvm bg vx lujc bg
acgcvx nxggm imaabm x b rucb qxtrbxvb gc juvfmvctc; gx
wbutjuvx nxb rucb ibmtapb rb rabcgrxvc x b rucb wbt-
caapb fmjjxdmtc gutc actjvc gmgjvc. bg vx cvnbtc act
mujcvbjm nb imv dxtbvx b lmwpb, b amgnxb x wgb
mrjvcgcwb. bg vx nbapbmvc mb rmqbxtjb nb fmfbgctbm:
"apbutkux gxwwxvm kuxrjm ravbjjuvm x lb imvm act-
craxvx gm rum btjxvqvxjmobctx btncrrxvm gm qcvqcvm,
wgm rb lxjjxvm utm acggmtm ncvc btjcvtc mg acggc x
rmvm jxvoc txg wcdxvtc nxg vxwtc."
mggcvm maacvrxvc jujjb b rmqbxtjb nxg vx, lm tct vbu-
rabvctc m gxwwxvx gm ravbjjuvm x m nmvtx gbtjxvqvxj-
mobctx mg vx. acrb bg vx fmgnmrrmv vblmrx lcgjc
juvfmjc, gm rum imaabm amlfbc acgcvx x b rucb
nbwtbjmvb iuvctc mjjxvvbjb. gm vxwbtm, racrrm nmggx
qmvcgx nxg vx x nxb rucb nbw tbjmvb, xtjvc txggm rmgm
nxg actdbjc. gm vxwbtm qvxrx m nbvx: "c vx, dbdb bt
xjxvtc. tct jb juvfbtc b jucb qxtrbxvb x bg acgcvx nxggm
jum imaabm tct amlfb. ax ut uclc txg juc vxwtc apx
qcrrbxnx gc rqbvbjc nxwgb nxb rmtjb. ibt nmb jxlqb nb
juc qmnvx iuvctc jvcdmjb bt gub btjxggxjjc, btjxggbwtom
x rmqbxtom rblbgx mggm rmqbxtom nxwgb nxb. rbaapx
bg vx tmfuacnctcrcv juc qmnvx gc qcrx m amqc nxb lmwpb,
nxwgb btncdbtb, nxb amgnxb x nxwgb mrjvcgcwb.
qcbapx utc rqbvbjc ruqxvbcvx, rabxtom x btjxggbwxtom,
gbtjxvqvxjmobctx nxb rcwtb, gm actcraxtom nxwgb
xtbwlb, gm rcguobctx nxggx acrx nbiibabgb rctc rjmjx
jvcdmjx bt gub, nmtbxgx, m aub bg vx qcrx tclx fmgj-
moomv: cvm rbm apbmlmjc nmtbxgx xn xwgb btnbapxvm
gbtjxvqvxjmobctx. gm qvblm qmvcgm apbmdx x cjpxggc
Secondo (e' in latino, cifratura di Cesare):
mhily lza zbhl xbpzxbl mvyabuhl hwwpbz jshbkpbz jhljbz kpjabt hyjhubt
lza' ulbayvu
Quarto (e' in francese, cifratura di Vigenčre):
kqowefvjpujuunukglmekjinmwuxfqmkjbgwrlfnfghudwuumbsvlpsncmuekqcteswree
koyssiwctuaxyotapxplwpntcgojbgfqhtdwxizaygffnsxcseynctsspntujnytggwzgr
wuunejuuqeapymekqhuiduxfpguytsmtffshnuoczgmruweytrgkmeedctvrecfbdjqcus
wvbpnlgoylskmtefvjjtwwmfmwpnmemtmhrspxfsskffstnuoczgmdoeoyeekcpjrgpmur
skhfrseiuevgoycwxizaygosaanydoeoyjlwunhamebfelxyvlwnojnsiofrwucceswkvi
dgmucgocruwgnmaaffvnsiudekqhceucpfcmpvsudgavemnymamvlfmaoyfntqcuafvfjn
xklneiwcwodcculwriftwgmuswovmatnybuhtcocwfytnmgytqmkbbnlgfbtwojftwgnte
jkneedcldhwtvbuvgfbijgyyidgmvrdgmplswgjlagoeekjofeknynolrivrwvuheiwuur
wgmutjcdbnkgmbidgmeeyguotdggqeujyotvggbrujys
Non ho ancora copiato ne' cominciato a lavorare sul terzo, per questo
non l'ho spedito...
Se qualcuno che ha gia' risolto il crittogramma, e quindi suppongo
l'abbia copiato su calcolatore, volesse avanzarmi questa fatica (e'
solo del tempo perso, non un ostacolo), sarebbe gradito.

spedire, io ti faccio vedere la mia, cosi' controlliamo entrambi.
Ad ogni modo, anche senza scambio esplicito... confermo.

 quelle precedenti sono tutte parole esistenti. E` giusta?
OOOOOOOOOOOOOOOOPS.
Cazpiterina, io ho mandato la soluzione con la chiave del quarto enigma!
Vabbe', sono fuori dal gioco, è solo che non è difficile per me leggere il
risultato della decrittazione...
quasi quasi vado a Feltrinelli con un paio di forbici e ritaglio un po' di
tagliandi d'acquisto del libro.   :-P
Comunque il nesso fra il primo e il terzo è in un paio di parole che avrei
dovuto riconoscere a prima vista.
il Silvano

dovuto riconoscere a prima vista.
Mi fai quasi supporre che anche il terzo sia in italiano... (e'
l'unico che non ho ancora risolto).

solo del tempo perso, non un ostacolo), sarebbe gradito.
Terzo stadio: cifratura monoalfabetica con omofoni
IXDVMUFXLFEEFXSOQXYQVXSQTUIXWF*FMXYQVFJ*FXEFQUQXJFPTUFX
MX*ISSFLQTUQXMXRPQEUMXUMTUIXYFSSFI*MXKFJF*FMXLQXTIEUVFX
EQTEFXSOQXLQ*XVFWMTQTUQXTITXKIJ*FMUQXTQJMVX*QEYQVFQTHMX
LFVQUVIXM*XEI*XLQ*XWITLIXEQTHGXJQTUQXSITEFLQVGUQX*GXKIE
UVGXEQWQTHGXDGUFXTITXDIEUQXGXKFKQVXSIWQXAVPUFXWGXYQVXEQ
JPFVXKFVUPUQXQXSGTIESQTHGX*FXWFQFXSIWYGJTFXDQSFIXEFXGJP
UFXSITXRPQEUGXIVGHFITXYFSSFI*CXC*XSCWWFTIXSOQXCXYQTCXYI
ESFCX*FXCKVQFXVFUQTPUFXQXKI*UCXTIEUVCXYIYYCXTQ*XWCUUFTI
XLQFXVQWFXDCSQWWIXC*FXC*XDI**QXKI*IXEQWYVQXCSRPFEUCTLIX
LC*X*CUIXWCTSFTIXUPUUQX*QXEUQ**QXJFCXLQX*C*UVIXYI*IXKQL
QCX*CXTIUUQXQX*XTIEUVIXUCTUIXACEEIXSOQXTITXEPVJQCXDPIVX
LQ*XWCVFTXEPI*IXSFTRPQXKI*UQXVCSSQEIXQXUCTUIXSCEEIX*IX*
PWQXQVZXLFXEIUUIXLZX*ZX*PTZXYIFXSOQXTUVZUFXQVZKZWXTQX*Z
*UIXYZEEIRPZTLIXTZYYZVKQXPTZXWITUZJTZXAVPTZXYQVX*ZXLFEU
ZTHZXQXYZVKQWFXZ*UZXUZTUIXRPZTUIXKQLPUZXTITXZKQZXZ*SPTZ
XTIFXSFXZ**QJVNWWIXQXUIEUIXUIVTIXFTXYFNTUIXSOQXLQX*NXTI
KNXUQVVNXPTXUPVAIXTNSRPQXQXYQVSIEEQXLQ*X*QJTIXF*XYVFWIX
SNTUIXUVQXKI*UQXF*XDQXJFVBVXSITXUPUUQX*BSRPQXBX*BXRPBVU
BX*QKBVX*BXYIYYBXFTXEPEIXQX*BXYVIVBXFVQXFTXJFPXSIWB*UVP
FXYFBSRPQFTDFTXSOQX*XWBVXDPXEIYVBXTIFXVFSOFPEIXX*BXYBVI
*BXFTXSILFSQXQXQRPBUIV
-- 
Bye, ___             _
    / __|__ _ _ _ __| |___ _ _
   | (_ / _` | '_/ _` / -_) ' \ _
    \___\__,_|_| \__,_\___|_||_(_)
yhq...@qnqn.vg
 (use ROT13 to decode)
Today is Prickle-Prickle, the 4th day of Chaos in the YOLD 3166

Terzo stadio: cifratura monoalfabetica con omofoni
Mille grazie.

Terzo stadio: cifratura monoalfabetica con omofoni
Curioso, vero? c'e' solo "*" come carattere in piu'... A meno che non
sia un testo italiano e vengano utilizzati i caratteri "jkwxy" come
omofoni in piu'.