![]() |
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 |
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 :-)
|
Missförstod problemet... Tog bort mitt inlägg igen
|
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 =)
|
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 ;) |
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.
|
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 |
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? :)) |
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... =) |
Kan rekommendera en bok - Kodboken av Simon Singh
ISBN: 91-7643-697-7 Finns som MånPocket och kostar ca 65:- |
Alla tider är GMT +2. Klockan är nu 13:26. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson