Barnens spel till Arduino Enigma maskin



tekniken bakom Enigma-maskiner och det arbete som gjorts för att knäcka dem har påverkat kryptografi, cryptanalysis och dator vetenskap i allmänhet. Om du är obekant med Enigma-maskiner, är det en enhet som var utvecklade i slutet av första världskriget, då används av den nazistiska regimen under andra världskriget, för att kryptera meddelanden. Allierade (britterna i synnerhet) arbetade outtröttligt för att bryta koden. En av av fadern av modern datavetenskap Alan Turing (av Turing bearbetar med maskin berömmelse) arbetade på det brittiska teamet som arbetat bryta koden. Vissa uppskattar att eftersom allierade kunde knäcka koden kriget slutade två år tidigare än den annars skulle ha.

En sak att notera, Enigmas krypteringsalgoritm är ganska bra, men inte perfekt. En svaghet är att ett brev aldrig kan krypteras som honom vilket eliminerar åtminstone på karaktär och kan göra det lättare att knäcka. De flesta frågor nazisternas hade som gjorde det crackable hade att göra med sina processer som de använde maskinen. Nyckelutbyte är svårt i ett system som detta där du egentligen inte har en out of band metod att utbyta nycklar.

Om du vill ha en detaljerad beskrivning av hur Enigma maskiner fungerar kolla Wikipedia-artikeln ( http://en.wikipedia.org/wiki/Enigma_machine ), eller de många andra artiklarna på internet, ska jag bara ge en snabb översikt här.

Enigma maskinen bestod i princip av tre eller flera rotorer som hade kontakter på båda sidor. Rotorerna är inställt på kryptering eller dekryptering "nyckel" sedan en knapp trycks som går genom ledningarna i rotorerna, sedan tänds en lampa motsvarar krypterad utdata (det finns en lampa för varje bokstav i alfabetet). För att dekryptera börja du helt enkelt med samma nyckel som används för att kryptera data och typ i chiffertext. Enda betydande om Enigma-maskin är att rotorerna rotera som varje tangenttryckning, så krypteringsnyckeln ändras i huvudsak med varje tecken.

Jag var nyligen i en sparsamhet butik och såg ett spel med en skärm och ett tangentbord och jag tänkte, det skulle göra en bra Enigma-maskin (jag har alltid efterlyst en, men jag vet att min fru skulle döda mig om jag köpte en riktig en $$$). I detta instructable jag ska visa hur jag rensad ett barn spel och används en Arduino för att ansluta till knappsatsen och högtalare. Koden är inte alltför dålig (hittills). Denna version är en enkel tre rotor Enigma maskin. Du kan byta rotorerna runt och ändra bokstäverna för rotorerna. Framtidsplanerna är att alla för mer rotorer, att byta ut reflektorn, tillåta för spinning ring runt en rotor och en plug board implementering. Denna maskin kommer att kunna koda och avkoda meddelanden till och från de verkliga, gamla Enigma maskiner används under Enigma skulle världskriget.

Obs: Bilden för denna sida är från den Wikipediaartikeln om Enigma-maskiner

Se Steg
Relaterade Ämnen

Arduino klo maskin

Vad?Maskinen är om 1:4 scale, perfekt för godis och andra små leksaker/priser. Fotavtryck är ~ 20 x 26 x 19 tum, tillverkad av aluminium extrudering, anpassade laserskurna akryl/trä, stegmotorer (Nema17) och en Arduino Mega. Stegmotorer flytta utlast...

Raspberry webbserver skickar GET data till Arduino Nano kör 6 servon

http://www.youtube.com/watch?v=f7oSqLO9iJoDetta är ett litet projekt jag gjorde för en kollega som bygger en 1/48 skala RC modell av en Fletcher-klass jagare (Japp... det gör "modellen" ca 8 fot lång!) Han frågade om jag kunde animera 5 x MKIII...

Android G1 följetong till Arduino Robot

lära sig hur din Android mobiltelefon kan styra en robot med en Arduino ombord. Telefonen tar kommandon via telnet från en annan telefon eller en PC, så kan du fjärrstyra roboten. Detta projekt kommer annars inte ändra G1 så du kan fortsätta använda...

Överföra data från Android till Arduino genom audio domkraft

Med detta projekt kan du skicka byte från android till arduino använder endast en audio jack-kontakt.Hur fungerar det?I princip, signal android en "morse" audio till arduino. Arduino i andra hand avkoda Morsealfabetet till en byte. Så enkelt.Del...

MoonPi, regn fat barnen spela Rocket

Strax efter Halloween, min 3 åriga dotter kom till mig och meddelade att hon ville vara en astronaut och flyga till månen! Hon höll talar om flyger en raket till månen för dagar på slutet, så naturligtvis började jag tänka på olika sätt att göra henn...

Hur ladda upp koden till Arduino Mega från Android-enhet

Idag, ska jag visa dig hur du använder Samsung Galaxy Anmärkning 5 mobiltelefon kör Android v6.0 och stöder OTG - på det gå möjlighet att ladda upp några Arduino koder till Arduino styrelser som Arduino Mega, Arduino Uno och de andra. Förresten, har...

Android talar till Arduino

detta projekt ändrar något Google Android prov app kallas "Bluetooth Chat" så kan du skriva ett meddelande i Android app och att samma meddelande kommer att visas på en LCD-skärm bifogas en Arduino Uno.Funktioner: Android talar till Arduino1. kö...

Arduino och Visuino: ansluta 4D system ViSi Genie smart pekskärm till Arduino

Det kommer en tid, när du vill ha en pekskärm ansluten till din Arduino ombord. Det finns många olika visningsalternativ och storlekar, men de flesta av dem kräver betydande mängd kod kontrolleras, och det är inte lätt att skapa cool letar användargr...

Arduino och Visuino: Använd PCF8574/PCF8574A I2C GPIO att lägga till fler digitala kanaler till Arduino

Oavsett hur många portar en Arduino styrelsen har, de verkar aldrig att vara tillräckligt för de coola nya projekt du har i åtanke ;-). Lyckligtvis finns det en lösning. Arduinoen har både I2C och SPI stift, och det finns ett antal I2C och SPI GPIO c...

Arduino quiltning maskin

Arduino quiltning maskinen kombinerar mekaniken i en symaskin, CNC-teknik och Arduino som ett operativsystem. Projektet syftar till att översätta en vektor fil från en dator i G-kod och därefter till Arduino språk som sedan flyttar maskinen. Att x-ax...

Min bullriga jacka (Arduino ljud maskin jacka)

Som ett projekt för en av mina college klasser, blev vi ombedda att skapa något med Arduino. Efter några olika idéer fast jag på att sätta en Arduino ljud maskin i en kavaj. Den använder delar av jackan för att få att fungera, så att det framgår att...

Hur man styr en enkel bearbetning spel med Arduino

Hej allaI detta Instructable, får vi se hur att skapa en "länk" mellan en bearbetning skiss och en Arduino kort. I det här exemplet används en Ultraljuds modul att styra ett plan i ett enkelt spel. Igen, den här läraren är bara ett exempel, du k...

1 LED spel med Arduino Uno och en RGB LED

ibland har jag bara dessa dagar där jag verkligen vill göra något snyggt med Arduino jag har liggande, men jag vet jag inte har tålamod för ett mer engagerat projekt som tar mer än en dag eller så. Detta är för en av dessa dagar.Utgångspunkten är enl...

Lätt 3D-utskrifter från Fusion360 till typ A maskiner serie 1

Vi använder 3D utskrift varje dag i vår studio från prototyper, till formella utforskning, slutanvändning produkter det är verkligen vår gå till för att formalisera våra idéer. Som tidiga användare har vi haft att ställa upp med en massa prov och mis...

Smart hemautomation webserver på OpenWRT router WR703N kopplats ihop till Arduino, jämfört med Raspberry Pi och Ubuntu

Hämta WR703N Digest (340MB zip-fil):https://sourceforge.net/projects/wr703n/---------------------------------------------------------------------------------------------------------------------------------Kära läsare,Det finns många Linux styrelser p...

Lägg till spel till din Zune (reviderad för 3.0)

spel och program på Zune har funnits sedan maj 2008. ZuneBoards.com har en liten grupp av människor utveckla dessa spel därför, alla dessa spel är helt gratis.Jag la spel och program till min Zune mycket lätt men en massa människor får intrycket från...

Skapa egna membran matris knappsatsen (och ansluter den till Arduino)

så du vill skapa din egen membran knappsatsen? Varför? bra att göra din egen knappsats kan vara bra av många skäl. Det är billigt och lätt att göra, den kan placeras i situationer där det kan vara vandaliserade eller stulen utan mycket frustration, h...

Ansluta en analog sensor textil till Arduino

Detta instructable förklarar hur du ansluter en analog sensor till Arduino (i vårt fall använder en Lilypad).Material du behöver:-en Lilypad Arduino (www.sparkfun.com)-en FTDI stiger ombord (www.sparkfun.com)-en USB A till mini B kabel (www.sparkfun....

Ladda upp skiss till Arduino Pro Mini med usbASP

I handledningen tvåspråkig (engelska, indonesiska, indonesiska versionen under avgränsningslinjen med kursiv stil), vi lär dig hur man laddar upp skiss ("skiss" är termen för programkod skriven för Arduino) till Arduino Pro Mini enhet med populä...