JBrew on Flickr
Hemliga koder är ett bra sätt att lära ut beräkningstänkande.
Och även om man kan använda datorer för att knäcka hemliga koder, även kallade chiffer, behövs de inte alltid. Och datorer kan inte ensamma avkoda hemliga koder. Datorer behöver människor som ger anvisningar. Och människor måste tänka igenom en rad frågor, utveckla regler för möjliga lösningar och bestämma när en möjlig lösning bör överges till förmån för en annan.
Detta projekt kommer att leda dig genom en metod på hög nivå för att skapa hemliga koder och chiffer, samt hitta sätt att avkoda dem. Det är uppenbart att området för chiffer är stort och komplicerat. Det här pusslet är helt enkelt roligt. Jag har också mönstrat det här projektet på en mer komplicerad Google-lektionsplan som är länkad nedan. Och jag har samlat en uppsättning online-länkar för att hjälpa dig att lista ut egna hemliga koder, samt idéer om hur du kan knäcka dem.
Om du är redo kan vi börja.
- Vad är en hemlig kod eller ett chiffer?
- Hur skapar man en hemlig kod eller ett chiffer?
- Hur knäcker man en hemlig kod eller ett chiffer?
- Prova ditt eget chiffer
- Learn More
- Ciphering a Sentence (Google)
- Cipher (Wikipedia)
- Letter Frequency
- The Secret Language
- Secret Codes for Cubs and Scouts
- Three Secret Codes to Try With Your Kids
- Create Secret Codes and Ciphers (Wiki How)
- Cryptography (Wikipedia)
Vad är en hemlig kod eller ett chiffer?
En hemlig kod, eller ett chiffer, är helt enkelt ett utbyte av en bokstav i ett alfabet mot en annan bokstav eller ett annat tal. Jag kan till exempel säga att i stället för att skriva bokstaven E kommer jag att skriva bokstaven F i stället. Så hus blir husf.
En annan typ av hemlig kod transponerar, eller ändrar, ordningen på bokstäverna i ett meddelande. Så house kan bli uoesh.
Ett annat sätt att skapa hemliga koder är att placera meningslösa ord, bokstäver eller tecken mellan meningsfulla bokstäver eller tecken. Du kan till exempel ta en bit kartong av samma storlek som ett brevpapper, skära ut rutor eller rektanglar, lägga ett papper under kartongen, skriva ditt meddelande med hjälp av de utskurna kartongutrymmena, sedan lyfta kartongen och fylla ut resten av pappret som om det vore en bokstav. Det är först när du lägger kartongen tillbaka på din bokstav som du kan se ditt riktiga meddelande.
Processen att koda och sedan avkoda ett meddelande kallas kryptografi. För att göra kryptografi behöver du ett meddelande i klartext, en uppsättning regler (algoritm) för att koda ditt meddelande och en nyckel som hjälper dig att avkoda ditt meddelande. I vissa fall anger du också den tid under vilken algoritmen och nycklarna är i kraft.
Krypteringar skiljer sig något från koder. Ett chiffer blandar ihop eller använder olika bokstäver eller tecken. En kod ersätter ett ord med ett annat ord eller en annan mening. Till exempel är FWIW eller OMG koder, eller hur? FWIW ersätter för vad det är värt och OMG ersätter Oh My God!
För det här projektet ska vi fokusera på ett enkelt mönster för att ersätta bokstäver och tecken.
Hur skapar man en hemlig kod eller ett chiffer?
Håller du minnet av mitt exempel med att ersätta bokstaven E med bokstaven F, så att house blir housf?
Hur blir det om jag säger att bokstaven E kommer att ersättas av bokstäverna F plus bokstäverna R och K? Vad händer om jag behöver använda ett ord med F, R eller K i dem? Att skapa en mening på det här sättet kan snabbt bli förvirrande. Lösningen är att skapa ett mönster, eller en uppsättning regler (som kallas algoritm inom datavetenskap), som används för att översätta varje mening som kodas med ditt mönster.
För att börja kan vi säga att vårt mönster helt enkelt kommer att flytta alla bokstäver i alfabetet två mellanslag till höger. Så bokstaven E blir bokstaven G, bokstaven G blir bokstaven I och så vidare.
Med detta enkla mönster blir house till iqwug. Kan du räkna ut vad iqwug betyder?
Hur knäcker man en hemlig kod eller ett chiffer?
Håller du minnet av vårt enkla mönster där vi flyttade bokstäverna i alfabetet två utrymmen till höger, så att house blir iqwug? Låt oss tala om hur vi kan knäcka eller avkoda detta ord.
Vad du kanske först lägger märke till är att iqwug är ett extremt litet exempel, ett ord med endast fem tecken i längd. För att knäcka en kod behöver man så många exempel på kodade ord, meningar och stycken som möjligt. Ett ord med fem tecken kan vara omöjligt att knäcka utan andra exempel.
När man har ett stort urval av ord och meningar som kodats med samma mönster blir det möjligt att tillämpa andra mönster. I det engelska språket är till exempel bokstaven E mycket vanlig.
Ett stort urval av kodade ord med vårt mönster som flyttar bokstäverna med två mellanslag, vilket gör bokstaven E till bokstaven G, skulle troligen ha fler G:n än de flesta eller alla andra bokstäver. Vi skulle kunna börja försöka avkoda vår mening genom att ändra bokstaven G till E. Sedan skulle vi kunna titta på hur E blev G: vi kanske inser att G ligger två bokstäver till vänster om E i det engelska alfabetet och försöker flytta de andra bokstäverna i vårt kodade budskap två mellanslag till vänster.
Avkodning och avkodning av kodade budskap kräver mycket eftertanke, samt försök och misstag. Det är ett roligt pussel att lösa.
Prova ditt eget chiffer
Om du kommer ihåg att för att koda och avkoda ett meddelande behöver du:
- Ett meddelande i klartext.
- Ett mönster eller en uppsättning regler för att koda och avkoda ditt meddelande.
Du kan också använda en nyckel, t.ex. en ordbok, och ställa in en tidsperiod då ditt mönster eller din uppsättning regler är aktiva innan de ersätts av ett annat mönster som används för att koda och avkoda meddelanden. Men detta är valfria steg och krävs inte för att ha lite roligt med koder och beräkningstänkande.
För att skapa ett enkelt substitutionschiffer tar du ett papper och skriver ut varje bokstav i alfabetet. Intill varje bokstav tilldelar du en annan bokstav, siffra eller ett annat tecken som representerar den ursprungliga bokstaven. Du kan tilldela dessa slumpmässigt eller i ett bestämt mönster, till exempel genom att tilldela det andra eller tredje tecknet till höger eller vänster om den ursprungliga bokstaven. Så A kan bli X om du flyttar tre tecken till vänster.
När du har ett meddelande att koda, hänvisar du till ditt alfabet och skriver om ditt meddelande med bokstaven, siffran eller tecknet som tilldelats varje bokstav.
För att göra det hela mer intressant kan du samarbeta med en partner för att skapa egna substitutionsmönster och byta ut kodade meddelanden. Se om ni kan räkna ut vilken ersättningsmetod som krävs för att avkoda meddelandet.
Om du behöver ett långt meddelande, eller om du inte kan komma på ett meddelande, kan du kopiera text från en bok eller webbsida för att koda och avkoda. Longer plain text will allow you to see how letter frequency might help decode a message.