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ő:

angol Betűfrekvenciák

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.



Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.