Gör din egen plånboksstorlek Enigma(tm)-som maskin (1 / 6 steg)
Steg 1: Cryptoanalytic diskussion
Oroa dig inte om alla följande låter gillar bollande-guling, eftersom det förmodligen är. Kärnpunkten är att eftersom den avsedda användningen av enheten är att generera lösenord, och du alltid bara överföra de lösenordet säkert, då är det lättare att fånga lösenorden än det är att bryta chiffret.
Nu kan du säkert hoppa till nästa steg.
Men om du vill ha lite mer detaljerad cryptoanaylsis för användning av enheten, Läs vidare.
Först upp, är produkten avsedd att vara en generator av lösenord. Det vill säga genom att ta något mycket enklare att komma ihåg, vi chiffrera det och använder chiffertext som lösenord. Detta innebär att i klartext aldrig avslöjas för någon. Det betyder också att vi aldrig behöver skriva något.
Ytterligare, eftersom enheten inte lagrar faktiskt någon lösenord, om det inte bryter någon av de vanliga militära lösenord dongle riktlinjerna, som allmänt uttryckligen förbjuder förvaring av känsliga lösenord i någon enhet, elektroniska, papper eller annat sätt. Det vill säga, mitt papper Enigma(tm)-som maskinen bör kunna godkännande för militärt bruk! Om någon skulle vilja finansiera certifiering, skulle jag gärna höra från er :)
Också, chiffertext förmedlas endast på typ av kanaler som du använder för att bära ett lösenord, har vi ett ytterligare skydd. Lägg till att generellt korta längd för lösenord, särskilt när de är sammansatta av pseudo-slumpmässiga tecken, och de vanliga Enigma angrepp som användes så framgångsrikt under andra världskriget blivit omöjligt: (a) det finns ingen (eller i värsta fall lite) fångbar trafik att analysera; och (b) även om trafiken fångades, meddelande längd är för kort jämfört med cykel längd att göra några omfattande analys.
Särskilt eftersom chiffertext skickas endast på kanaler som är normalt beroende på som säkert, att äventyra chiffret kräver först att få de lösenord som det skyddar, även om siffran var det bara ROT13!
Således bygger säkerheten på sekretessen av oformaterad text, och säkerheten för kanalerna, snarare på driften av själva enciphering enheten. Vad enheten erbjuder är ett sätt att omvandla en låg kvalitet lösenord till ett lösenord för hög kvalitet, plus en hel del geek cred längs vägen.
Men låt oss gå till driften av enheten själv och protokoll för drift, att försäkra oss om att chiffret är förnuftigt, och erbjuder lite trygghet i och för sig.
Enheten består av två fasta rotorer och en reflektor, plus en yttre index ring. Detta är något enklare än de verkliga Enigma maskiner som används tre eller fyra rotorer som kunde ordnas och utvalda från ett urval, och allmänt skisserat en plug-board också. Men vi använder ett alfabet med n = 72 i stället för n = 26, så att vi kan generera bättre kvalitet lösenord.
Slutresultatet är att viktiga utrymmet är 72 ^ 3 = 373,248. Medan inte enorm, räcker det förmodligen med tanke på att slätten texter och chiffer texter inte någonsin avslöjas. Således är det nödvändigt att slätten texterna du använda för att skapa ditt lösenord hålls hemliga, och att du inte använder den här enheten för att driva ett all-time-pad stil inloggningssystem där chiffer texterna kan avlyssnas lätt, särskilt med tanke på att ledningarna kan observeras när enheten används.
Om du kunde dölja ledningarna av enheten, då säkerheten är bättre, eftersom det stora antalet ledningar kombinationer, (72!) ^ 3 = massor, erbjuder en rimlig grad av motståndskraft, speciellt om kort cipher texter används för att begränsa mängden trafik som kunde fångas in. Beräkningen av hur mycket trafik du skulle behöva montera denna typ av attack är utanför ramen för detta instructible.