Algoritmusok és kriptográfia - Először is, mielőtt folytatnék, és magam elõtt dicsekednék, és ezt a blogot unalmas oldalsó beszélgetmé alakíthatnánk, elõször megérthetjük, mi az algoritmus és hogyan kapcsolódik a kriptográfiához.

Algoritmusok és kriptográfia

algoritmusok

Azoknak, akik szerint az algoritmusok csak a számítógépes tudományhoz kapcsolódnak, tévedsz. Az algoritmus egy módszer vagy képlet egy probléma megoldására. És amikor azt mondom, hogy probléma, bármilyen típusú probléma lehet, legyen az matematika, tudomány képletek vagy akár számítógépes is. Hadd mondjak neked egy egyszerűt

Példa:

(A + b) 2 = a 2 + 2ab + b 2

Vagy lehet:

Elhatárolt összeg = fő (1 + ROI * 100 * idő)

Igen! Minden, ami a képlet, algoritmusnak tekinthető. Az algoritmus egy szabálykészlet egy probléma megoldására, amely megfelelő végrehajtása esetén minden alkalommal helyes választ ad. Az algoritmusok általában egy lépések sorozatának megismétlését foglalják magukban, mint például a hitelfelvételi és hordozó algoritmusokban, valamint a hosszú szorzási és osztásos algoritmusokban. Az algoritmusok sokféle összeadást, kivonást, szorzást és osztást tartalmaznak.

De mielőtt elkezdené gondolkodni arról, hogy valamilyen matematikai előadást tartok itt, hadd mondjam el, hogy nem vagyok. Itt vagyok, hogy a számítógépes tudományhoz kapcsolódó algoritmusokról és kriptográfiáról beszéljek. De mielőtt tovább folytatnám, hadd adjak néhány példát az egyszerű algoritmusokról az induláshoz.

Ezek a példák azoknak a tiszta noobsoknak szólnak, akik az életük során soha nem végeztek semmilyen algoritmikus dolgot. Tehát, ha úgy gondolja, hogy elég okos vagy, akkor ugorjon a kriptográfia következő szakaszára, ahol újból bemutatnék néhány alapot, mielőtt a következő szintre lépnék.

Tehát, itt van néhány példa az addíciós algoritmusokra, amelyek elindítják a jelenlegi munkát, és ötletet adnak az algoritmusok működésére. Kezdjük az alapvető matematikával:

Balról jobbra kiegészítő algoritmusok:

A bal oldalról kezdve adja hozzá az oszlopokat, és állítsa be az eredményt.

Néhány embernél ez a folyamat annyira automatikusvá válik, hogy a balról indul, és oszloponként írja meg a válasz oszlopot, beállítva, ahogy a lépések közt megírják. Ha magyarázatot kérnek, mondnak valami hasonlót:

A 200 plusz 400 értéke 600, de (a következő oszlopra nézve) ezt meg kell igazítanom, tehát írjunk 7. Akkor a 60 és a 80 értéke 140, de ezt igazítani kell, tehát írjuk az 5. Most a 8 és a 3 értéke 11, nincs több tennivaló, írjon 1. Ez a technika könnyen fejlődik a manipulátorokkal - például 10 alapú blokkokkal és pénzzel -, valamint csere- vagy kereskedési játékokkal szerzett tapasztalatok alapján, és összhangban áll az olvasáshoz és íráshoz megtanult balról jobbra mintákkal.

Most néhány embernek lehet egész diója, amikor erről olvas. Szóval, elõfordulhat, hogy meg kell adnia ezeket a dolgokat a Google-nak, hogy pontos képet kapjon arról, hogy mi történik pontosan itt.

rejtjelezés

A kriptográfia a kódok nem emberi olvasható módon történő írásának művészete. Ez egy olyan módszer, amellyel az adatokat meghatározott formában tárolhatjuk és továbbíthatjuk, így csak azok, akiknek szánták, tudják olvasni és feldolgozni. Elmondhatjuk, hogy a kriptográfia szoros unokatestvére a kriptográfia és a kriptoanalízis tudományágának.

A kriptográfia olyan technikákat foglal magában, mint például mikrodarabok, szavak egyesítése a képekkel, és egyéb módszerek az információk elrejtésére a tárolás vagy átvitel során. A mai számítógép-központú világban azonban a kriptográfiát leginkább a sima szöveg (rendes szöveg, néha cleartext néven) titkosításba (titkosításnak nevezett folyamat), majd vissza (visszafejtésnek) való titkosításával társítják. Azok a személyek, akik ezen a területen gyakorolnak, kriptográfusok.

A titkosítást évezredek óta használják. A következő kódok és rejtjelek megtanulhatók és felhasználhatók az üzenetek kézi titkosításához és visszafejtéséhez:

A) Monoalphabetic ciphers:

A monoalfabetikus rejtjel ugyanazt a helyettesítést használja az egész üzenetben. Például, ha tudod, hogy az A betű kódolva K betűtípus, ez az egész üzenetre érvényes. Az ilyen típusú üzeneteket frekvenciaanalízis, ismeretes kitalálások vagy próba-és hibajavítás segítségével lehet feltörni.

1. Ceaser Cipher

A Cézár rejtjel az egyik legegyszerűbb (és legkönnyebben repedt) titkosítási módszer. Ez egy helyettesítő rejtjel, amely magában foglalja a titkos üzenet minden betűjének cseréjét egy másik ábécé betűvel, amely egy rögzített számú hely az ábécében.

Mivel az üzenet minden betűje közvetlenül egy másik betűre van fordítva, a frekvencia-elemzés felhasználható az üzenet megfejteni. Például az E betű a leggyakrabban használt betű az angol nyelven.

Tehát, ha a titkos üzenet leggyakoribb betűje a K, akkor valószínű, hogy K képviseli az E-t. Ezenkívül olyan szokásos szóvégződések, mint az ING, LY és ES is nyomokat adnak. Az mind a 25 lehetséges kombináció kipróbálására való brute-force megközelítés az üzenet megfejtésére is szolgál.

Ebben a példában a sima szöveges üzenet minden betűjét 3 betűvel lefelé toltuk az ábécé szerint.

Szöveg : Ez egy titkos üzenet

Ciphertext : wklv lv d vhfuhw phvvdjh

2. Atbash Cipher

Az Atbash-rejtjel egy helyettesítő rejtjel nagyon különleges esete, ahol az ábécé betűi fordítva vannak. Más szavakkal, mindegyik helyettesítve Z-vel, minden B-t Y-vel helyettesítve, és így tovább.

Mivel az ábécé kétszer megfordításával tényleges ábécé lesz, a kódolást és a megfejtést az ugyanazon algoritmus használatával végezheti.

Példa:

Szöveg : Ez egy titkos üzenet

Ciphertext : Gsrh rh z hvxivg nvhhztv

A Kulcsszó rejtjel megegyezik a Caesar Cipherrel, azzal a kivétellel, hogy a használt helyettesítő ábécé ábrázolható egy kulcsszóval.

Helyettesítő ábécé létrehozásához egy kulcsszóból először írja le az ábécét. Ez alatt a kulcsszót írja le (kivéve az ismétlődő betűket), majd az ábécé fennmaradó, fel nem használt betűit.

ABCDEFGHIJKLMNOPQRSTUVWXYZut

KEYWORDABCFGHIJLMNPQSTUVXZ

Sima szöveges üzenet titkosításához konvertálja az összes betűt a felső sorból az alsó sor megfelelő betűjévé (A – K, B – E stb.).

A frekvenciaanalízis és néhány képzett kitalálás segítségével könnyen megtörhetik az ilyen egyszerű helyettesítő rejtjeleket.

4. Pigpen / szabadkőműves titkosító

A pigpen rejtjel (amelyet gyakran szabadkőműves rejtjelnek vagy szabadkőműves rejtjelnek hívnak) egy egyszerű helyettesítő rejtjel, amely betűket cserél a szimbólumokra egy rács alapján. A rendszert a szabadkőművesek fejlesztették ki és használták az 1700-as évek elején nyilvántartáshoz és levelezéshez. A példa gomb megmutatja, hogyan lehet a betűket a rácshoz hozzárendelni.

B) Polialfabetikus ciparok:

Egy polialfabetikus rejtjelben a helyettesítés az üzenet egészében megváltozhat. Más szavakkal, az A betű kódolható az üzenet egy részénél K betűként, de később a W betű kódolható.

Ajánlott tanfolyamok

  • Képzés az XML-en
  • CCNA vizsga tanfolyam
  • Teljes UNIX és Linux operációs rendszer képzés
  • HTML 5 edzőcsomag

1. Vigenere Cipher

A Cézár Cipherben az ábécé minden egyes betűje bizonyos számú helyen eltolódik; Például a 3. váltás császár rejtjelében A válik D-ként, B E-ként és így tovább. A Vigenere rejtjel több Caesar rejtjelet tartalmaz egymás után, különböző eltolási értékekkel.

A titkosításhoz ábécé-táblázat használható, amelyet tabula recta, Vigenere tér vagy Vigenere táblának nevezünk. Az ábécé 26-szor, különböző sorokban kiírt ábécéből áll, mindegyik ábécé ciklikusan balra tolódott el az előző ábécéhez képest, ami megfelel a 26 lehetséges Cézár rejtjelnek. A titkosítási folyamat különböző pontjain a rejtjel eltérő ábécét használ, mint az egyik sor. Az egyes pontokban alkalmazott ábécé ismétlődő kulcsszótól függ.

Tegyük fel például, hogy a titkosítandó sima szöveg:

ATTACKATDAWN

Az üzenetet küldő személy kiválaszt egy kulcsszót, és mindaddig megismétli, amíg az nem egyezik a sima szöveg hosszával, például a “LEMON” kulcsszóval:

LEMONLEMONLE

Minden betűt úgy kódolnak, hogy megtalálják a kereszteződést a sima szöveg betű és a kulcsszó betű között. Például a sima szöveg első betűje, A, az L sorban lévő ábécé felhasználásával van kódolva, amely a kulcs első betűje. Ezt úgy végezzük, hogy megnézzük a Vigenere tér L sorában és A oszlopában lévõ betût, nevezetesen L. Hasonlóképpen: a sima szöveg második betûjéhez a kulcs második betûjét kell használni; az E sorban és a T oszlopban X betű van. A sima szöveg többi része hasonló módon rejtjelezve:

Szöveg : ATTACKATDAWN

Kulcs : LEMONLEMONLE

Ciphertext : LXFOPVEFRNHR

Megtalálja a rejtjelezett betű helyzetét a táblázat sorában, majd vegye le annak az oszlopnak a címkét, amelyben sima szövegként jelenik meg, és dekódolást hajt végre. Például az L sorban az L titkosított szöveg jelenik meg az A oszlopban, amelyet első egyszerű sima betűként vettünk. Ha felnézi az X-et a táblázat E sorában, a második betű dekódolódik; a T oszlopban jelenik meg, amelyet egyszerű szöveges betűnek tekintünk.

A Gronsfeld-kódolás megegyezik a Vigenere-kódolással, azzal a kivétellel, hogy csak 10 sort használunk, amely lehetővé teszi, hogy a kulcsszó egy szó helyett szám legyen.

Steganography

A szteganográfia valójában az az információ elrejtésének tudománya, amely az emberekkel szimatol. A különbség a titkosítás és a titkosítás között az, hogy a leendő snoopers-ok előfordulhat, hogy nem tudják megmondani, van-e rejtett információ.

Például a képfájlokban rengeteg felhasználatlan terület van. Ez a hely rejtett üzenetek küldésére használható. Ha kutatást folytat a titkosításról, akkor előfordulhat, hogy alkalmanként használják a szteganográfia kifejezést. Ez azonban nem igaz titkosítás (bár ez mégis meglehetősen hatékony lehet), és mint ilyen, csak a teljesség kedvéért említem itt.

Tehát alapvetõen, ha el akarja kezdeni a kriptográfia gyakorlását, a legjobb módszer az induláshoz az lenne, ha megkezdené az algoritmusok és a Ciphertext megoldását a szteganográfiával együtt. Annak ellenére, hogy a szteganográfia könnyűnek tűnik, és ez nem igaz titkosítás, ez továbbra is az egyik leggyakrabban használt titkosítás, amikor az alapokról van szó, és amikor nagyon kevés idő alatt és a lehető legjobb módon kell valamit kódolnia.

Első képforrás: pixabay.com

Ajánlott cikkek

Íme néhány cikk, amelyek segítenek az algoritmusok és a kriptográfia részletesebb ismertetésében, ezért csak keresse meg a linket.

  1. Adatszerkezetek és algoritmusok Interjúkérdések | Leghasznosabb
  2. 8 félelmetes algoritmusos interjú kérdése és válasz
  3. Legjobb választási programozási nyelvek az algoritmusok tanulásához
  4. 10 legjobb adatszerkezet és algoritmus C ++ | alapjai

Kategória: