» »

substitucijska šifra

substitucijska šifra

Yacked2 ::

Pozdravljeni,
izdelujem program za lomljenje substucijske šifre. Proces naj bi bil čim bolj avtomatiziran. Sicer programiram v phpju, ampak važja je ideja.
Moj plan programa 1:

generiranje vseh možnosti -> preglej smiselnost (beri: preveri če so v izhodnem nizu "je","to","in","smo" ter podobne fraze ki so zelo pogosto uporabljene. -> smiselne izpiši

Najprej sem želel izračunati koliko možnosti sploh je zato sem uporabil !(klicaj na kalkulatorju), deluje takole:

stevilo črk * stevilo črk -1 * stevilo -2 *....tako do *1. Sedaj sem pa ugotovil da je to preveč kombinacij saj mi že samo pri izpisovanju n = n+1 ustavilo, saj je za izpisovanje 26! preveč. Zato sem najprej uporabil anaizo besedila.

Moj plan programa 2:
preštejem posamezne znake v tekstu (ga je dovolj da drži a = 10,87 % e = 10,78% ter i = 9,34 %) nato največkrat ponovljene črke zamenjam s temi, tako dobim 3 možnosti. Sedaj pa nevem kako naprej, saj je precej zakomplicirano

Ima kdo kakšno idejo ?
Hvala !
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Hayabusa ::

Tu imaš kodo za ruby:
substitution_solver.rb
https://github.com/pfharlock/substituti...

[D]emon ::

Upam, da se zavedas, da je vrst substitucijske sifre vec. Za najbolj enostavne (kjer je keyspace se vedno 26! oziroma okrog 88 bitov) je dovolj frekvencna analiza okrog 50 crk kriptopisa. Frekvencna analiza pa je odvisna od jezika v katerem je cistopis. (V razlicnih jezikih so frekvence crk razlicne)

Predlagam, da si malce vec preberes o frekvencni analizi. Si ze na pravi poti s kombinacijo obeh zgornjih tock. Torej: najprej frekvencna analiza -> iskanje pogostih besed -> ??? -> PROFIT!!1 :)
Mavrik ta forum uporablja za daljsanje e-penisa. Ker si ne upa iz hise.

Zgodovina sprememb…

  • spremenilo: [D]emon ()

Yacked2 ::

[D]emon je izjavil:

Upam, da se zavedas, da je vrst substitucijske sifre vec. Za najbolj enostavne (kjer je keyspace se vedno 26! oziroma okrog 88 bitov) je dovolj frekvencna analiza okrog 50 crk kriptopisa. Frekvencna analiza pa je odvisna od jezika v katerem je cistopis. (V razlicnih jezikih so frekvence crk razlicne)

Predlagam, da si malce vec preberes o frekvencni analizi. Si ze na pravi poti s kombinacijo obeh zgornjih tock. Torej: najprej frekvencna analiza -> iskanje pogostih besed -> ??? -> PROFIT!!1 :)


Gre se za čisto enostavno bijektivno fukncijo ki črki priredi drugo črko.

za sedaj sem našel da je za ' skoraj vedno t, e spada med pogostejše črke, tako dobim t*e, ugibam da umes dam h. Poiščem črke ki stojijo same, ter če obstaja |črka]* tako ugotovim da gre |črka| je a, * pa n, za an je samostalnik na a,e,i,o,u, ker imam e ter a že izločen nadaljujem... kjer dobim a** je to verjetno "and" in tako naprej. če se nahaja XYZ'T ter XYZ je to verjetno can oz. don določim na podlagi a-ja. Ročno lahko uizi dekriptiram, sedaj želim spisati program, ki to naredi namesto mene.

Še kašne frekvenčne fore ?
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Smurf ::

Zakaj ne naredis tako kot je [D]emon predlagal? Nardis frekvencno analizo svojega teksta (kolikokrat se kaksen znak pojavi) in ga primerjas s splosno frekvencno analizo angleskega teksta, nekaj pise ze tukaj klik zagotovo pa se da najti se precej vec na internetu. Na ta nacin izluscis ne vem prvih 8 crk (ne samo e). Potem lahko nadaljujes z najbolj pogostim parom crk in besed. Ce na koncu se kaj ostane z brutforcas, kontrolo delas pa tako da s slovarjem pregledujes ali so besede smiselne.

dasf ::

http://www.simonsingh.net/The_Black_Cha...
Še nekaj "bližnjic" ki jih lahko uporabiš.

+V angleščini črki Q razen v redkih izjemah vedno sledi U.

[D]emon ::

Yacked2 je izjavil:

Gre se za čisto enostavno bijektivno fukncijo ki črki priredi drugo črko.


V tem primeru ze mogoce. Kaj pa homofonicna substitucija ? Polialfabetska substitucija ? Poligrafska substitucija ? Konec koncev, kaj pa OTP ? (Ki je, mimogrede, ob upostevanju pravil edina matematicno nezlomljiva enkripcija)


Hja, piki. Specifika je prasica. :)


Bruteforce napadi na substitucijo imajo pa za primarni vektor frekvencno analizo, pod kar spadajo znane posebnosti jezika v katerem je cistopis, in nato dictionary attack na preostal tekst, kjer se za hinte pobere stvari, ki si jih dobil s frekvencno analizo.

Bottom line: Zadeva ni tako simpl kot nekateri mislijo. Ceprav gre "samo" za substitucijo.
Mavrik ta forum uporablja za daljsanje e-penisa. Ker si ne upa iz hise.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako razvozlati šifro ?!

Oddelek: Loža
172663 (2075) Smrekar1
»

Kriptografija in kriptoanalitika (strani: 1 2 )

Oddelek: Znanost in tehnologija
828911 (7002) [D]emon
»

Kako stisnit (Zrarat) datoteko veliko 700mb na 20mb???

Oddelek: Pomoč in nasveti
204688 (4162) StratOS
»

merjenje obratov

Oddelek: Programiranje
121624 (1416) neoto
»

težave z geslom v wordu

Oddelek: Programska oprema
222079 (1777) d_dunka

Več podobnih tem