Crypto
Bevezetés
a Caesar rejtjel az egyik legkorábbi ismert és legegyszerűbb rejtjel. Ez egyfajta helyettesítési rejtjel, amelyben a sima szöveg minden betűje bizonyos számú helyet eltol az ábécén. Például 1-es eltolással A helyébe B lép, B C lesz, stb. A módszert Julius Caesarról nevezték el, aki nyilvánvalóan a tábornokaival való kommunikációra használta.
a bonyolultabb titkosítási sémák, mint például a Vigen XXI-re titkosítás, a Caesar-rejtjelet alkalmazzák a titkosítási folyamat egyik elemeként. A széles körben ismert ROT13 ‘titkosítás’ egyszerűen egy Caesar titkosítás, amelynek eltolása 13. A Caesar rejtjel lényegében nem nyújt kommunikációs biztonságot, és bebizonyosodik, hogy kézzel is könnyen feltörhető.
példa
egy titkosított üzenet egyik személyről a másikra történő továbbításához először is szükséges, hogy mindkét fél rendelkezzen a rejtjel kulcsával, hogy a feladó titkosíthassa, a vevő pedig visszafejthesse. A caesar rejtjel esetében a kulcs a rejtjel ábécé eltolásához szükséges karakterek száma.
íme egy gyors példa a caesar titkosításával kapcsolatos titkosítási és dekódolási lépésekre. A szöveg, amit titkosítani fogunk, a ‘védd meg a vár keleti falát’, 1-es eltolással (kulcs).
plaintext: defend the east wall of the castleciphertext: efgfoe uif fbtu xbmm pg uif dbtumf
könnyű látni, hogy a sima szöveg minden egyes karaktere hogyan tolódik fel az ábécében. A dekódolás ugyanolyan egyszerű, -1 eltolással.
plain: abcdefghijklmnopqrstuvwxyzcipher: bcdefghijklmnopqrstuvwxyza
nyilvánvaló, hogy ha más kulcsot használunk, akkor a rejtjeles ábécé más összeggel lesz eltolva.
matematikai leírás
ahol k az egyes betűkre alkalmazott kulcs (a váltás). A függvény alkalmazása után az eredmény egy szám, amelyet vissza kell fordítani betűvé. A visszafejtési funkció:
JavaScript példa a Caesar titkosírásra
egyszerű szöveg
shift:
Rejtjelszöveg
Egyéb megvalósítások
a Caesar rejtjelkódját különböző programozási nyelveken lásd a megvalósítások oldalon.
a saját üzenetek titkosításához a Pythonban használhatja a pycipher modult. A telepítéshez használja a pip install pycipher alkalmazást. Az üzenetek titkosításához a Caesar titkosítással (vagy más titkosítással, lásd itt a dokumentációt):
Kriptanalízis
lásd a Caesar titkosításának Kriptanalízisét a titkosítás automatikus feltörésének módjáról.
a Kriptanalízis a kódok és Rejtjelek feltörésének művészete. A Caesar rejtjel valószínűleg az összes rejtjel közül a legkönnyebb megtörni. Mivel az eltolásnak 1 és 25 közötti számnak kell lennie, (0 vagy 26 változatlan sima szöveget eredményezne) egyszerűen kipróbálhatjuk az egyes lehetőségeket, és meglátjuk, melyik eredményez egy olvasható szöveget. Ha véletlenül tudja, mi a rejtjelszöveg egy darabja, vagy kitalálhat egy darabot, akkor ez lehetővé teszi, hogy azonnal megtalálja a kulcsot.
Ha ez nem lehetséges, szisztematikusabb megközelítés a betűk frekvenciaeloszlásának kiszámítása a rejtjelszövegben. Ez abból áll, hogy megszámoljuk, hányszor jelenik meg az egyes betűk. A természetes angol szövegnek nagyon eltérő eloszlása van, amely felhasználható a kódok feltörésére. Ez az eloszlás a következő:
Ez azt jelenti, hogy az e betű a leggyakoribb, és az idő majdnem 13% – ában jelenik meg, míg a z jóval kevesebb, mint az idő 1% – ában. A Caesar rejtjel alkalmazása nem változtatja meg ezeket a betűfrekvenciákat, csupán kissé eltolja őket (1-es eltolódás esetén a leggyakoribb rejtjeles betű f lesz). A kriptanalitikusnak csak meg kell találnia azt a váltást, amely miatt a rejtjelszöveg frekvenciái szorosan illeszkednek a természetes angol frekvenciákhoz, majd dekódolja a szöveget ezzel a váltással. Ez a módszer használható a Caesar rejtjeleinek kézzel történő könnyű megtörésére.
Ha még mindig problémái vannak, próbálja ki a helyettesítő titkosítás oldal kriptanalízis szakaszát. Minden stratégia, amely a helyettesítési titkosítással működik, a Caesar titkosítással is működni fog (de a Caesar titkosításán működő módszerek nem feltétlenül működnek az Általános helyettesítési titkosítással).
egy olyan módszerhez, amely jól működik a számítógépeken, ki kell derítenünk, hogy a 25 lehetséges dekódolás közül melyik néz ki leginkább az angol szövegre. Lát a Caesar Rejtjelének Kriptanalízise áttekintést arról, hogyan lehet megtörni a quadgram statisztikák segítségével. Az a kulcs (vagy shift), amely visszafejtést eredményez, a legnagyobb valószínűséggel angol szöveg, valószínűleg a helyes kulcs. Természetesen minél több rejtjelszöveg van, annál valószínűbb, hogy ez igaz (ez minden statisztikai intézkedés esetében érvényes, beleértve a fenti gyakorisági megközelítést is). Tehát az alkalmazott módszer a rejtjelszöveg felvétele, próbálja meg visszafejteni az egyes kulcsokkal, majd nézze meg, melyik dekódolás néz ki a legjobban. A kriptanalízis ezen egyszerűsített módszere csak nagyon egyszerű titkosításokon működik, mint például a Caesar rejtjel és a vasúti kerítés rejtjel, még a kissé összetettebb rejtjeleknek is túl sok kulcsa lehet ahhoz, hogy mindegyiket ellenőrizzék.
referenciák
- Wikipedia egy jó leírást a titkosítási/dekódolási folyamat, a történelem és kriptanalízis ezen algoritmus
- Simon Singh ‘the Code Book’ egy kiváló bevezetés a rejtjeleket és kódokat, és tartalmaz egy szakaszt caesar rejtjeleket.
- Singh, Simon (2000). A Kódkönyv: a titoktartás tudománya az ókori Egyiptomtól a Kvantumkriptográfiáig. ISBN 0-385-49532-3.