Book chiffer fungerar så här:
- Välj en referensbok.
- För varje ordsökning dess position i boken.
- ersätt varje ord med dess koordinater (dvs. 2,3,4 = sida 2, 3: e raden, 4: e ordet).
Hur skulle någon gå och knäcka en boksiffror utan att veta vad nyckeln [eller boken som används i det här fallet] är?
Att hitta nyckeln är antingen omöjlig eller tar en opraktisk tid. Med tanke på en känd vanlig text och en krypteringstext är det opraktiskt att hitta rätt nyckel [eller bok] eftersom alla möjliga nycklar som matchar vanlig text skulle kräva 40 miljarder år med modern teknik för att gå igenom.
Exempel av en bokchiffer: Beale-kodning , den använde Förenta staternas självständighetsförklaring som en nyckel.
Kommentarer
- Kan du snälla (semi) beskriva chifferet? Det ’ är inte ens klart för mig vad nyckeln är, om chiffertexten är ordenas position …
- Jag antar att det ’ en substitutionskryptering där ord i klartext tas, söks i boken och ersätts av deras position (möjligen randomiserad över flera förekomster) i boken. Antalet alla tillgängliga böcker är inte så stort, så en spelare som Google (de har en stor databas med skannade böcker) skulle kunna prova många böcker i en ciphertext och kontrollera varje resulterande klartext i ett naturligt språkram om korrekta meningar genererades. Om du antar att inga böcker kan användas för att bryta den, så verkar det som en helt säker chiffer.
- @MaartenBodewes nyckeln kan vara vilken form av text som helst. till exempel använde jag mitt eget inlägg. använda positionerna för vissa ord för att generera en chiffertext.
- @ 5hammer Kan du kontrollera om redigeringen klargör schemat på det sätt du menar det? Om inte, bör du ge en bättre beskrivning av vad du menar.
- @MaartenBodewes tack, ja det är det schema som jag hade svårt att beskriva.
Svar
Först och främst är det inte omöjligt att hitta nyckeln (boken), utan bara svår. Om någon, som Google till exempel, har skannat miljontals böcker till digitala format, tar det inte lång tid innan de tar reda på vilken bok (försök helt enkelt dekryptera den första meningen tills nyckeln hittas, skulle vara möjlig för en stordator. ).
Dessutom saknas slumpmässighet. Eftersom boken du väljer kanske inte har slumpmässiga sekvenser kommer inte ersättningen att avkorrelera någonting, vilket är en annan nackdel. Det bästa sättet att förbättra detta är genom att välja slumpmässigt referenser för varje tecken med hjälp av en slumptalsgenerator, som är tråkig.
Kommentarer
- Jag vet att hitta vilken bok som skulle kunna vara möjlig men antar för det faktum att helt enkelt brute-forcing skulle ta 40 miljon år även om världens datorkraft fördubblas varje år. Vad jag vill är de andra metoderna som kan användas för att minska mängden böcker som jag skulle behöva kontrollera.
- @ 5hammer: Hur får du ett nummer som 40 Quintilian? Som beskrivs komplexiteten i detta är bara linjär i antalet tillgängliga böcker.
- Jag antar att det kan vara ganska fördelaktigt att helt enkelt efterbearbeta chiffertexten från en bokchiffer med en transponering i klassisk mening så att användaren ’ s manuellt arbete skulle vara svårt att analysera även med resurser som är jämförbara med Googles.
Svar
För att detta ska vara ett praktiskt kryptosystem med en kort nyckel är du begränsad till att ange en publicerad bok som alla inklusive motståndaren har tillgång till. * Låt oss säga är ungefär en miljard olika publicerade böcker där ute. Kursundersökningar antyder att detta är en överskattning med en faktor på ungefär tio, men låt oss inte gräla i detaljer. För varje bok, låt oss säga att det finns en i genomsnitt en miljon ord. Detta är också en enorm överskattning.
Det gör en biljon möjliga tangenter, $ 10 ^ {12} \ ca 2 ^ {40} $ – och för att skriva ner ditt kryptosystem måste du fyll bokstavligen ett bibliotek.
Du betjänas bättre genom att använda den arkaiska DES-krypteringen med brutt-by-brute-force med en 56-bitarsnyckel än genom att använda den här effektiva 40-bitarsnyckeln för en bokchiffer. Om du behöver göra detta med penna och papper – om du på något sätt har råd med ett miljardboksbibliotek men inte en dator – finns det troligen bättre penna- och papperschiffer tillgängliga, som [1] och [2] .
* Om du inte är begränsad till publicerade böcker kan du lika gärna byta telefonnummer i Babelbiblioteket, men ett sådant förslag är ännu mindre praktiskt.
Kommentarer
- Din beräkning av arbetsfaktorn är endast meningsfull om motståndaren faktiskt har alla miljarder publicerade böcker (i alla utgåvor) .
Svar
Det finns en stor sidokanalattack på sådana siffror, fantasifullt kallad en lokal sökattack. Medan du tror att alla böcker i världen står till ditt förfogande, så är de faktiskt inte. Du måste ha boken någon gång, och det gör din mottagare av krypteringstext. Och de måste vara ord för ord, sida för sida identiska.
Så om du rapporterar om en lokal wombles-koloni kan du kryptera och skicka: –
” Farbror Bulgarien – den äldsta och klokaste av Wimbledon Wombles och deras ledare. ”
Men om du ”spionerar på ett läkemedelsföretag, då kan ditt hemliga meddelande vara: –
” Här presenterar vi en modell för trabekulation i möss som integrerar dynamisk endokardiell och hjärtmuskelcellsbeteenden och ECM-ombyggnad och avslöjar nya epistatiska förhållanden mellan de involverade signalvägarna. ”
Det finns inte många böcker i världen som innehåller dessa exakta ord, och både meddelandesändare och mottagare måste ha ett. Så plötsligt reduceras alla böcker i världen till inte alls alls. En lång bokhylla med 10 000 böcker är fortfarande bara ~ 13 bitar av bokval. Och vem har 10 000 olika böcker som innehåller ordet ”Wombles”? Att söka i antingen avsändarens eller mottagarens bokhyllor skulle påverka säkerheten avsevärt.
Om Thomas Beales hus hade genomsökts vid den tiden, hade skatten troligen lätt lokaliserats eftersom han skulle ha en kopia av självständighetsförklaringen på sin bokhylla.
Tänk dig om du kunde återställa en AES-nyckel genom att använda en sidokanal för att minska det okända nyckelutrymmet med 99%. Det skulle innebära att du letade efter en bättre chiffer. Det är säkrare och mer praktiskt att ersätta bokstäver snarare än ord. På så sätt kan du helt enkelt använda Bibeln för allt.
Svar
Jag tror att tanken är att dessa inte kan knäckas, utan nyckeln kan du inte dechiffrera den. Du kan använda datorprogram i hopp om att den specifika boken har skannats in, men kom ihåg om din kod är baserad på sidan och ordnummer så är bokens ”utgåva” / ”utskrift” också en faktor. En pocketbok har en annan sidnumrering än en hård rygg. Om du använder en äldre bok med olika typsnitt kommer orden att falla på olika sidor än en modern kopia. Det är därför dessa koder är så användbara, men varje person måste ha samma utgåva av boken för att förstå varandra.
Det snabbaste sättet att bestämma vad nyckeln är skulle vara att förstå personen som arbetar med koden och försöka bestämma vilken bok / nyckel de skulle använda.