Szimmetrikus titkosítási algoritmusokat
RSA titkosítási algoritmus
Az RSA - kulcsú kriptográfiai rendszer nyitott, amely az ilyen védelmi mechanizmusok, mint például a titkosítás és digitális aláírás (hitelesítés - hitelesítés beállítás). RSA titkosítási rendszer alakult ki 1977-ben és elnevezett a fejlesztők: Rivest, Shamir és Adleman.
Az RSA algoritmus a következőképpen működik: hogy két elegendően nagy prímszám p és q, és kiszámítja, hogy a termék n = p * q; n nevezzük modult.
az e szám, amely kielégíti azt az állapotot, majd kiválasztva:
és nincs közös osztók, kivéve az 1 (relatív prím) számos (p-1) * (q-1).
Ezután kiszámítja a száma d úgy, hogy (E * d - 1) van osztva
e - egy nyílt (nyilvános) szám
d - a titok (magán) jelző.
(N; e) - nyitott (nyilvános) kulcs
(N; d) - a titok (magán) gombot.
Osztók (faktorok) p és q megsemmisíti vagy menteni egy titkos (magán) gombot.
Ha nem volt hatékony módszerek szétbontás tényezők (faktoring), majd kiterítve n tényezők (faktorok) p és q, lehetett kapni a titkos (privát) kulcs d. Így az RSA titkosítási rendszer alapja a megbízhatóság egy félelmetes - szinte lehetetlen - feladat szétbontás tényezők n (vagyis a lehetetlensége faktoring n), mivel a jelenleg leghatékonyabb módja, hogy keresni a tényezők nem létezik.
Tegyük fel, Alice akar küldeni Bob üzenetet M. Alice generál rejtjelezett C, erecting egy üzenetet M az erejét E és megszorozzuk a modul n: C = M ** e * (mod n), ahol E és n - egy nyitott (nyilvános) Bob Key .
Alice ezután elküldi a C (rejtjelezett) Bob. Ahhoz, hogy megfejtse a fogadott szöveget, Bob erects kapott rejtjelezett C a teljesítmény d és megszorozza az N modul:
M = c ** d * (mod n); közötti kapcsolat E és D biztosítja, hogy Bob pontosan kiszámítani M. Mivel csak Bob tudja d, akkor csak ő képes dekódolni a kapott üzenetet.
Jelenleg az RSA Labs azt javasolja, hogy a rutin feladatok kulcsok 1024 bit, és a legfontosabb feladat - 2048 bit.
A gyakorlatban az RSA titkosítási rendszer gyakran használják együtt kriptográfiai rendszer a titkos DES-típusú kulcs titkosításához üzenetek segítségével RSA kulcs digitális borítékban.
RSA titkosítási rendszer is használható hitelesítési és azonosítási más személy vagy szervezet. Ez azért lehetséges, mert minden regisztrált felhasználó egyedi kriptográfiai titkos (privát) kulcs, amely (elméletileg) nem áll senkinek. Ez az, ami lehetővé teszi, hogy pozitívan és egyedileg azonosítható.
DES (Data Encryption Standart) egy szimmetrikus algoritmust kulcsokat, azaz egy kulcsot használják mind titkosítás és visszafejtés az üzeneteket. Az IBM által kifejlesztett, és hagyta jóvá az amerikai kormány 1977-ben, mint egy hivatalos szabvány
DES egy 64 bites blokkok és 16-szor alapuló adatcsere is a titkosítási kulcsot használ a 56 bit. Számos mód DES, például az elektronikus kód könyv (EKB) és Cipher Block láncolása (CBC).
Bit 56 - Ez semibitovyh 8 ASCII karaktereket, azaz A jelszó nem lehet hosszabb, mint 8 karakter. Ha emellett, hogy csak betűk és számok, a számos lehetséges változatok lényegesen alacsonyabb lesz, mint a lehetséges maximális 2 ^ 56.
Az egyik lépés a DES algoritmus:
A bemeneti adat blokk van osztva a felére be bal (L „) és jobb (R”) része. Ezt követően, a kimeneti tömb van kialakítva, hogy a bal oldalára L „” jelentése a jobb oldali R „bemenet, és a jobb oldali R” „van kialakítva, mint az összege L” és R „XOR műveletek. Továbbá, a kimeneti tömb titkosítva permutáció a csere. Ön biztos lehet benne, hogy minden műveletet meg lehet fordítani és a dekódoló végzett műveletek számának hogy lineárisan függ a blokk méretét. Miután több mint verés is feltételezhetjük, hogy minden bit kimeneti blokk kódolási függhet minden kis üzenet.
Rijndael (AES, Advanced Encryption Standard)
Ez az algoritmus által kifejlesztett két szakértő kriptográfiai Belgiumból. Ő egy nem hagyományos tömbrejtjelezésnél, mert nem használja a hálózaton Feyshtelya kriptopreobrazovany. Az algoritmus képviseli az egyes blokk kódolt adatokat, mint egy két dimenziós tömb byte 4x4, 4x6 vagy 4x8 függően beállított blokkhosszúság. Ezt követően, a megfelelő lépések vagy átalakításokat hajt végre több független oszlopok vagy független sorok, illetve általában az egyedi bájt a táblázatban.
Minden konverzió a kódban szigorú matematikai indoklás. A nagyon szerkezetét és szekvenciáját műveletek lehetővé teszik az ilyen algoritmus hatékony mind 8-bites és 32-bites processzorok. Az algoritmus szerkezet lehetőségét párhuzamos végrehajtás bizonyos műveletek, többprocesszoros munkaállomáson lehet még emelni a titkosítási sebesség 4-szer.
Az algoritmus áll a körök száma (10 és 14 - ez függ a blokkméret, és hosszabb kulcsot), ahol a következő műveleteket hajtjuk végre egymás után:
ByteSub - táblázatos helyettesítés 8x8 bit,
ShiftRow - váltás sor egy két dimenziós tömb különböző eltolás,
MixColumn - matematikai átalakítással, adatok összekeverjük az oszlopon belül,
AddRoundKey - hozzátéve anyag XOR művelet gombot.
Az utolsó fordulóban oszlopok keverés nélküli működés, ami a teljes műveletsor szimmetrikus.
Szimmetrikus titkosítási algoritmusokat
Kétféle titkosító algoritmust használó kulcsok - Szimmetrikus és nyilvános kulcs. Úgynevezett szimmetrikus kriptográfiai algoritmus alkalmazásával, ahol egy kulcs titkosításához használt üzeneteket, lehet beszerezni a dekódoló kulcsot, és fordítva. A legtöbb szimmetrikus algoritmust használ csak egy gombot. Ilyen algoritmusok név egy egy- vagy algoritmusok egy titkos kulcsot, és megkövetelik, hogy az üzenetet küldő és a címzett a nemi erőszak, és megállapodtak, hogyan fogja használni a kulcsot. Megbízhatóságát egyetlen kulcs algoritmus határozza meg a választás a legfontosabb, mert az érték lehetővé teszi a támadó számára, hogy dekódolja beavatkozás nélkül minden elfogott üzeneteket. Ezért a kiválasztott kulcs titokban kell tartani kívülállók.
A titkosítás és visszafejtés szimmetrikus titkosítási algoritmusokat meghatározott már ismerős képlet:
Szimmetrikus titkosítási algoritmusokat kétfélék. Néhány ezek közül kezeljük az egyszerű szöveges apránként. Ezek az úgynevezett streaming algoritmusok vagy patak titkosítást. Mások szerint a nyílt szöveg blokkokra osztjuk, amely több bit. Ilyen algoritmusok, blokk, vagy blokk titkosítást. A modern számítógépes algoritmusok általában blokk kódolási blokk hossza 64 bit.
Példák a szimmetrikus blokk titkosító algoritmusok: DES, AES, IDEA, CAST, biztonságosabb, 3-WAY, rák, RC5, Blowfish, GOST et al.