WN

WN (https://www.wn.se/forum/index.php)
-   Off Topic (https://www.wn.se/forum/forumdisplay.php?f=7)
-   -   Programmering (https://www.wn.se/forum/showthread.php?t=3860)

Kristofer 2004-09-27 18:32

Ska programmera ett kryptoprogram avsett för att knäcka krypterad text enligt följande:

Varje bokstav i alfabetet ersätts med vilken annan bokstav som helst, dock får ingen bokstav kunna ha två ersättare utan varje bokstav ersätts av en annan.

Vår uppgift är att ta emot en text krypterad på detta vis och endast genom denna text, alltså utan nyckel, få fram ursprungstexten. Till att börja med ska detta fungera för svenska texter men om vi klarar det blir nästa steg att få den att fungera för alla språk.

Hur skulle ni gått tillväga? Riktigt roligt projekt tycker jag... den uttråkade kan ju göra ett försök :P

grazzy 2004-09-27 18:41

Jag har perlscript som kör frekvensanalys på en text .. det är i princip bara att mata in ett tar texter på svenska och sedan matcha dom mot din "krypterade" text.. så kan du subsititionera bokstäverna .. iaf dom första 7-8st.. resten brukar gå att gissa :-)

Starweb 2004-09-27 18:45

Missförstod problemet... Tog bort mitt inlägg igen

Kristofer 2004-09-27 18:56

Tanken är att datorn själv ska känna av när texten är läsbar och då stanna och visa den texten. Det finns annars 29! möjligheter och att läsa igenom alla dessa kommer inte på fråga utan en stor del av uppgiften går ut på just att få datorn att förstå när den fått det rätt =)

nicclas 2004-09-27 19:24

Med en stor ordlista, med alla (många?) böjningsformer på ord, så kan du ganska enkelt få programmet att "förstå" när den hittat en korrekt dekryptering av en mening genom att jämföra alla dekrypterade ord med alla ord i ordlistan.

Att knäcka koden är i princip bara att prova, prova och prova... Har du tillgång till en frekvenstabell på vanliga ord, givet ordlängden, som grazzy nämner, så kan du troligen snabba upp ditt program något - även om det inte är trivialt att programmera det :) Gäller det att dekryptera hela (korrekta) meningar är det nog lätt att se vad "mellanslag" är i den kryperade "texten", vilket är bra att veta när du ska ta reda på ordlängder. Har du inte separerbara ord i texten så blir det lurigare att använda frekvensanalysen. Att prova, prova och prova går dock bra ;)

kullervo 2004-09-27 20:14

Låna en bok om kryptering på biblioteket och läs hur dom gjorde under telegrafens unga år när dom använde just så simpla krypteringar. Där finns det säkert bra tips. Det som grazzy sa låter väldigt smidigt. Har hört att det var just så dom knäckte den typen av kryptering.

Kristofer 2004-09-27 20:48

Att alla bokstäver ersätts med andra bokstäver är givet i detta fall. Det innebär att mellanslag förblir mellanslag.

Jag tror vi klarar oss utan någon större ordlista, jag återkommer senare när vi löst uppgiften med en kort beskrivning på hur vi bar oss åt men jag tror det går att effektivisera rätt bra. Fick uppgiften idag och har en månad på oss ungefär =p

grazzy 2004-09-27 20:51

Problemet rörde inte ord som krypterades utan bokstäver.. alltså kommer en frekvenstabell att fungera utmärkt.

Ifall det är ord som krypteras eller "klumpas ihop" tex rsa fungerar inte frekvensanalys nåt vidare.
(Och ja, jag har oxo läst boken om enigma, för jag antar att det är den du hänvisas till? :))

Kristofer 2004-09-28 18:59

Håller på att bygga upp statistik över svenska tecken och kombinationer.

Skulle behöva en stor fil med svensk text, gärna en bok eller liknande där det är väl skriven text det handlar om. Innehållet i sig spelar ingen som helst roll.

PM:a mig om du har någon sådan... =)

Jan Eriksson 2004-09-28 19:12

Kan rekommendera en bok - Kodboken av Simon Singh
ISBN: 91-7643-697-7

Finns som MånPocket och kostar ca 65:-

Robert 2004-09-28 20:23

Citat:

Originally posted by Jan Eriksson@Sep 28 2004, 19:12
Kan rekommendera en bok - Kodboken av Simon Singh
ISBN: 91-7643-697-7

Finns som MånPocket och kostar ca 65:-

Den har jag läst. Mycket bra bok även fast man tappade i förståelse mot slutet av boken... =)

Jag föreslår att den ordlista du slår mot endast innehåller ord av typen "på,och,i,som,är" etc etc då dessa förekommer flest gånger i Svenska språket (så slipper du slå mot en hel ordlista...fast å andra sidan: är det en kort textmassa så spelar det nog ingen roll)

guran 2004-09-29 10:38

Citat:

Originally posted by Jan Eriksson@Sep 28 2004, 19:12
Kan rekommendera en bok - Kodboken av Simon Singh
ISBN: 91-7643-697-7


I denna bok var det med ett shiffer och det var en belöning på 10.000 pund för den som knäckte det. Två studenter på KTH lyckades med det.

Mycket bra bok om kryptering. Bland annat avlivas myten om att ENIAC var världens första elektroniska dator, vilket fortfarande lärs ut på datakurser.

Jag kan rekommendera boken "Svenska kryptobedrifter" av Bengt Beckman, som handlar om hur svenskarna knäckte tyskarnas koder under Andra Världskriget.

foks 2004-09-29 12:01

Citat:

Originally posted by Kristofer@Sep 28 2004, 18:59
Håller på att bygga upp statistik över svenska tecken och kombinationer.

Skulle behöva en stor fil med svensk text, gärna en bok eller liknande där det är väl skriven text det handlar om. Innehållet i sig spelar ingen som helst roll.

PM:a mig om du har någon sådan... =)

Project Runeberg finns ett antal klassiska svenska böcker att ladda ner. Det borde fungera för er även om språket kanske inte är helt modernt.

grazzy 2004-09-29 12:49

Hmmsi.. isof tror jag mera på att bara kopiera lite artiklar på DN / SVD eller nåt och mata in i ett program som bygger en databas.


Det var vad jag jgorde när jag testade iaf.

Det är rätt så häftigt att man kan knäcka ett caesarshiffer på bara ett par sekunder och lite pill med den här metoden ;)

Om man sedan går ett steg vidare och jämför sitt "egna" resultat mot "korrekta" ord borde man sedan kunna göra en lösning som åstakommer 100% dekrypteringar.

Kristofer 2004-09-29 12:56

Hela vårt projekt bygger på statistik som vi själva skapar.

Hur pass vanligt förekommande vissa bokstäver samt bokstavskombinationer om 2,3 och kanske 4 bokstäver är kommer vi undersöka och på så sätt kartlägga orden i kryptot mot våran statistik.

Detta är inte riktigt hela sanningen men det är en bra bit på vägen, jobbar med att ta fram statistik genom andra egentillverkade program just nu.

Marcus 2004-11-03 22:43

Citat:

Originally posted by Kristofer@Sep 27 2004, 19:48
Att alla bokstäver ersätts med andra bokstäver är givet i detta fall. Det innebär att mellanslag förblir mellanslag.

Jag tror vi klarar oss utan någon större ordlista, jag återkommer senare när vi löst uppgiften med en kort beskrivning på hur vi bar oss åt men jag tror det går att effektivisera rätt bra. Fick uppgiften idag och har en månad på oss ungefär =p

Hur gick det?

Starweb 2004-11-03 22:50

Citat:

Ursprungligen postat av marcuss
Citat:

Ursprungligen postat av Kristofer
Att alla bokstäver ersätts med andra bokstäver är givet i detta fall. Det innebär att mellanslag förblir mellanslag.

Jag tror vi klarar oss utan någon större ordlista, jag återkommer senare när vi löst uppgiften med en kort beskrivning på hur vi bar oss åt men jag tror det går att effektivisera rätt bra. Fick uppgiften idag och har en månad på oss ungefär =p

Hur gick det?

Inväntar resultatet med spänning B)
Verkligen ett roligt och lärorikt projekt! Kan du även meddela vilket företag som beställde jobbet?


Alla tider är GMT +2. Klockan är nu 05:39.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson