Šifravimo algoritmo parametrai. Kriptografija

Tarp įvairių šifravimo metodų galima išskirti šiuos pagrindinius metodus:

Pakeitimo arba pakeitimo algoritmai - šaltinio teksto simboliai pakeičiami kitos (arba tos pačios) abėcėlės simboliais pagal iš anksto nustatytą schemą, kuri bus šio šifro raktas. Atskirai šis metodas šiuolaikinėse kriptosistemose praktiškai nenaudojamas dėl itin mažo kriptografinio stiprumo.

Pertvarkymo algoritmai – pradinio teksto simboliai keičiami pagal tam tikrą principą, kuris yra slaptasis raktas. Pats permutacijos algoritmas turi mažą kriptografinį stiprumą, tačiau yra įtrauktas kaip daugelio šiuolaikinių kriptosistemų elementas.

Gama algoritmai – šaltinio teksto simboliai pridedami prie tam tikros atsitiktinės sekos simbolių. Labiausiai paplitęs pavyzdys yra „username.pwl“ failų šifravimas, kuriame „Microsoft Windows 95“ operacinė sistema saugo tam tikro vartotojo tinklo išteklių slaptažodžius (slaptažodžiai, skirti prisijungti prie NT serverių, slaptažodžiai interneto prieigai „DialUp“ ir kt.). . Kai vartotojas įveda savo slaptažodį prisijungdamas prie Windows 95, iš jo generuojama gama (visada ta pati), naudojant RC4 šifravimo algoritmą, kuris naudojamas tinklo slaptažodžiams užšifruoti. Slaptažodžio pasirinkimo paprastumas šiuo atveju yra dėl to, kad Windows visada teikia pirmenybę tai pačiai spalvų schemai.

Algoritmai, pagrįsti sudėtingomis matematinėmis šaltinio teksto transformacijomis pagal tam tikrą formulę. Daugelis jų naudoja neišspręstus matematikos uždavinius. Pavyzdžiui, internete plačiai naudojamas RSA šifravimo algoritmas yra pagrįstas pirminių skaičių savybėmis.

Kombinuoti metodai. Nuoseklus šaltinio teksto šifravimas naudojant du ar daugiau metodų.

Šifravimo algoritmai

Pažvelkime atidžiau į kriptografinių duomenų apsaugos metodus

1. Pakeitimo (pakeitimo) algoritmai

2. Permutacijos algoritmas

3. Gama algoritmas

4. Algoritmai, pagrįsti sudėtingomis matematinėmis transformacijomis

5. Kombinuoti šifravimo metodai

1–4 „gryna forma“ algoritmai buvo naudojami anksčiau, o šiandien jie yra įtraukti į beveik bet kurią, net sudėtingiausią, šifravimo programą. Kiekvienas iš nagrinėjamų metodų įgyvendina savo kriptografinės informacijos apsaugos metodą ir turi savų privalumų bei trūkumų, tačiau jų bendri svarbiausias ypatybė yra ilgaamžiškumas. Tai reiškia minimalų šifruoto teksto kiekį, kurio statistinė analizė gali būti naudojama norint atskleisti originalų tekstą. Taigi, remiantis šifro stiprumu, galima nustatyti didžiausią leistiną informacijos kiekį, užšifruotą vienu raktu. Renkantis kriptografinį algoritmą tam tikroje plėtroje, jo stiprumas yra vienas iš lemiamų veiksnių.

Visos šiuolaikinės kriptosistemos yra sukurtos taip, kad niekaip nepavyktų jų sulaužyti efektyviau, nei atliekant išsamią paiešką visoje raktų erdvėje, t.y. per visas galimas pagrindines vertes. Akivaizdu, kad tokių šifrų stiprumą lemia juose naudojamo rakto dydis.

Pateiksiu aukščiau aptartų šifravimo metodų stiprumo įvertinimus. Monoalfabetinis pakaitalas yra mažiausiai stiprus šifras, nes jį naudojant išsaugomi visi statistiniai šaltinio teksto modeliai. Jau 20–30 simbolių ilgio šie modeliai pasireiškia tokiu mastu, kad paprastai galima atidaryti šaltinio tekstą. Todėl toks šifravimas laikomas tinkamu tik slaptažodžiams, trumpiesiems signaliniams pranešimams ir atskiriems simboliams šifruoti.

Paprasto poliabėcėlės pakeitimo stabilumas (panašių sistemų, buvo svarstomas pakeitimas naudojant Viginère lentelę) yra 20n, kur n yra skirtingų abėcėlių, naudojamų pakeitimui, skaičius. Naudojant Viginère lentelę, skirtingų abėcėlių skaičius nustatomas pagal raidžių skaičių raktiniame žodyje. Padidinus poliabėcėlės pakeitimo sudėtingumą, žymiai padidėja jo stabilumas.

Gamos patvarumą vienareikšmiškai lemia ilgas gamos laikotarpis. Šiuo metu realus tampa begalinės gamos naudojimas, kurį naudojant teoriškai šifruoto teksto stiprumas taip pat bus begalinis.

Galima pastebėti, kad patikimam didelio informacijos kiekio uždarymui labiausiai tinka gama ir sudėtingos permutacijos bei pakaitalai.

Naudojant kombinuotus šifravimo metodus, šifro stiprumas yra lygus atskirų metodų stiprumų sandaugai. Todėl kombinuotas šifravimas yra saugiausias kriptografinio uždarymo būdas. Būtent šis metodas buvo naudojamas kaip visų šiuo metu žinomų šifravimo įrenginių veikimo pagrindas.

DES algoritmas buvo patvirtintas daugiau nei prieš 20 metų, tačiau per tą laiką kompiuteriai padarė neįtikėtiną skaičiavimo greičio šuolį, o dabar jau nėra taip sunku sulaužyti šį algoritmą visiškai ištyrus visas įmanomas pagrindines parinktis (o DES naudoja tik 8 baitų), kuris neseniai atrodė visiškai neįmanomas.

GOST 28147-89 sukūrė Sovietų Sąjungos žvalgybos tarnybos ir jis yra tik 10 metų jaunesnis nei DES; Kuriant jį buvo įmontuota tokia saugos riba, kad šis GOST yra aktualus ir šiandien.

Svarstomos šifro stiprumo vertės yra potencialios vertės. Jie gali būti įgyvendinami griežtai laikantis kriptografinių saugumo priemonių naudojimo taisyklių. Pagrindinės iš šių taisyklių yra šios: raktų laikymas paslaptyje, dubliavimo pašalinimas (t.y. tos pačios teksto dalies pakartotinis šifravimas naudojant tuos pačius raktus) ir gana dažnas raktų keitimas.

Išvada

Taigi šiame darbe apžvelgti šiuo metu labiausiai paplitę kriptografinės informacijos apsaugos metodai ir jų įgyvendinimo būdai. Konkrečių sistemų pasirinkimas turėtų būti pagrįstas išsamia tam tikrų apsaugos metodų stipriųjų ir silpnųjų pusių analize. Pagrįstas konkrečios apsaugos sistemos pasirinkimas apskritai turėtų būti pagrįstas kai kuriais veiksmingumo kriterijais. Deja, tinkami metodai kriptografinių sistemų efektyvumui įvertinti dar nėra sukurti.

Paprasčiausias tokio efektyvumo kriterijus yra rakto atskleidimo tikimybė arba klavišų rinkinio galia (M). Iš esmės tai yra tas pats, kas kriptografinis stiprumas. Norėdami jį įvertinti skaitiniu būdu, taip pat galite naudoti šifro sprendimo sudėtingumą bandydami visus klavišus. Tačiau šis kriterijus neatsižvelgia į kitus svarbius kriptosistemoms keliamus reikalavimus:

· neįmanoma atskleisti arba prasmingai pakeisti informaciją, pagrįstą jos struktūros analize,

· naudojamų saugos protokolų tobulumas,

· minimalus naudojamos pagrindinės informacijos kiekis,

· minimalus įgyvendinimo sudėtingumas (pagal mašinų operacijų skaičių), jo kaina,

· didelis efektyvumas.

Todėl, žinoma, pageidautina naudoti kai kuriuos integruotus rodiklius, kuriuose būtų atsižvelgiama į šiuos veiksnius. Bet bet kuriuo atveju pasirinktas kriptografinių metodų rinkinys turi apjungti tiek patogumą, lankstumą ir naudojimo efektyvumą, tiek patikimą sistemoje cirkuliuojančios informacijos apsaugą nuo užpuolikų.


Praktinė dalis:

1 pratimas.

1) Užpildykite X laukelį

1.1 Pirmąją reikšmę nustatykite rankiniu būdu

1.2 Atlikite Redaguoti->Užpildyti->

2) Užpildykite funkcijos g = reikšmės lauką

1.1 pav. – Funkcijos g(x) formulė

2.1) Apskaičiuokite funkcijų reikšmes

3) Grafikas

3.1) Pasirinkite langelius su funkcijų reikšmėmis g

3.2) Pasirinkite diagramos vedlį

1.2 pav. – Diagramos vedlys – grafikas

Kitas -> eilutė

1.3 pav. – Diagramų vedlys – ašių etiketės

X ašies reikšmės pasirinkimas

Paspausk Enter

3.3) Suteikite grafikus pavadinimus

3.4) Pasirinkite langelį su grafiko formule

3.6) Pasirinkite skirtuką -> Tinklelio linijos, nustatykite

X tarpinės linijos, Y pagrindinės linijos ->Kitas

3.7) Padėkite funkcijos grafiką esamame lape -> (Atlikta)

4) Rezultate gauname (1.4 pav.)

1.4 pav. – Funkcijos g(x) grafikas

1.2.

1) Lentelės laukuose apibrėžkite būsimų grafikų funkcijas

1.5 pav. – Būsimų grafikų funkcijų parašas

2) Užpildykite X lauką atlikdami šiuos veiksmus:

2.1 Pirmąją reikšmę nustatykite rankiniu būdu

2.2 Atlikite Redaguoti->Užpildyti->Progresavimą (pagal stulpelius, aritmetiką, žingsnį, ribinę reikšmę) ties x [-2;2]

3) Apskaičiuojame funkcijų y=2sin( x) – 3cos( x), z = cos²(2 x) – 2sin( x) reikšmes.


1.6 pav. – Funkcijų y(x) ir z(x) formulės

4) Grafikas

4.1 Pasirinkite langelius su funkcijų y ir z reikšmėmis

Diagramos vedlio pasirinkimas

1.7 pav. – Diagramos vedlys – grafikas

X ašies reikšmės pasirinkimas

Paspausk Enter

4.2) Suteikite grafikus pavadinimus

4.3) Pasirinkite langelį su grafiko formule

Paspauskite enter, tada atlikite tą patį su antrąja eilute

4.5) Pasirinkite skirtuką -> Tinklelio linijos, nustatykite

X tarpinės linijos, Y pagrindinės linijos ->Kitas

4.6) Padėkite funkcijos grafiką esamame lape -> (Atlikta)

5) Rezultate gauname (1.8 pav.)

1.8 pav. – Funkcijų y(x) ir z(x) grafikai

2 užduotis.

· „Žmogiškųjų išteklių departamento“ sąrašo sudarymas

2.1 pav. „Žmogiškųjų išteklių departamento“ sąrašas

· Rūšiavimas

2.2 pav. – Laukelis Rūšiavimas pagal pavadinimą

Dėl to gauname (2.3 pav.)

2.3 pav. – Surūšiuota lentelė „Žmogiškųjų išteklių skyrius“

·
Ieškokite informacijos naudodami automatinį filtrą (gaukite informaciją apie vyrus, kurių vardai prasideda raide laiškas, patronimas – „Ivanovičius“, su atlyginimu Atlyginimas);

2.4 pav. – Automatinis filtras

· Ieškokite informacijos naudodami išplėstinį filtrą (informaciją raskite skyriuje 1 skyrius amžiaus Amžius1 Ir Amžius 2, ir apie moteris iš skyriaus 2 skyrius amžiaus Amžius 3);

1) Įveskite 1 išplėstinio filtro kriterijus

Dėl to gauname (2.5 pav.)

2.5 pav. – Išplėstinis filtras 1

2) Įveskite išplėstinio filtro 2 kriterijus.

Dėl to gauname (2.6 pav.)

2.6 pav. – 2 išplėstinis filtras

· Sumavimas (nustatomas kiekvieno skyriaus darbuotojų skaičius ir vidutinis amžius);

2.7 pav. – Rezultatai

DMIN funkcija – pateikia mažiausią skaičių sąrašo arba duomenų bazės įrašų lauke (stulpelyje), kuris atitinka nurodytas sąlygas.

2.8 pav. – Sąrašo analizė naudojant DMIN funkciją

3 užduotis.

Sukurkite dvi susijusias lenteles Sesija(3.2 pav.) ir Studentai(3.4 pav.)

3.1 pav. – lentelės konstruktorius Sesija

3.2 pav.- Lentelė Sesija

3.3 pav. – lentelės konstruktorius Studentai


3.4 pav. – Lentelė Studentai

1) Lentelės naudojimas Studentai, sukurti tris užklausas, kuriomis iš duomenų bazės po vieną bus atrenkami 1-E-1, 1-E-2, 1-E-3 grupių mokinių vardai ir pavardės.

3.5 pav. – Užklausos konstruktorius 1.1


3.7 pav. – Užklausa 1.2 Konstruktorius

3.9 pav. – Užklausos konstruktorius 1.3

2) Lentelės naudojimas Studentai, sukurti dvi užklausas, pagal kurias iš duomenų bazės pakaitomis bus pasirenkamos moterų pavardės ir vardai, o vėliau – vyrų pavardės ir vardai.

3.11 pav. – Užklausos konstruktorius 2.1

3.13 pav. – Užklausų kūrėjas 2.2

3) Aš naudoju stalą Studentai, sukurti dvi užklausas, pagal kurias iš duomenų bazės pakaitomis bus atrenkamos 1-E-2 grupės moterų pavardės ir vardai, o tada 1-E-1 grupės vyrai.

3.15 pav. – Užklausos konstruktorius 3.1

3.17 pav. – Konstruktorius – 3.2

4) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos 1-E-2 grupės mokinių matematikos pavardės, vardai, įrašų numeriai ir pažymiai.

3.19 pav. – 5 užklausos konstruktorius

5) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos 1-E-2 grupės mokinių (vyrų) pavardės, vardai, rekordų numeriai ir filosofijos pažymiai.

3.21 pav. – 8 užklausos konstruktorius

6) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos studentų, gavusių „patenkinamą“ (3) filosofijos pažymį, pavardės, vardai ir nuorašų numeriai.

3.23 pav. – 10 užklausos konstruktorius

7) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos mokinių, vienu metu iš dviejų dalykų: filosofijos ir matematikos, įvertinimą „gerai“ (4) gavusių mokinių pavardės, vardai ir nuorašų numeriai.

3.25 pav. – 14 užklausos konstruktorius

8) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos mokinių, gavusių įvertinimą „nepatenkinamai“ (2) iš dviejų dalykų: matematikos arba informatikos, pavardės, vardai ir nuorašų numeriai.

3.27 pav. – 18 užklausos konstruktorius

9) Naudojant susietas lenteles Studentai Ir sesija, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos visų dalykų įvertinimą „gerai“ (4) gavusių mokinių pavardės, vardai ir nuorašų numeriai.

3.29 pav. – 22 užklausos konstruktorius

10) Lentelės naudojimas sesija, sukurti užklausą pavadinimu Vidutinis balas apskaičiuoti kiekvieno mokinio balų vidurkį pagal keturių egzaminų išlaikymo rezultatus. Prašyme turi būti nurodytas laukas Rekordų knyga, kuris vėliau bus naudojamas susieti kelias lenteles.

3.31 pav. – Seanso lentelės konstruktorius

11) Naudojant susietas lenteles Studentai, Sesija ir prašyti Vidutinis balas, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos mokinių, kurių vidutinis balas 3,25, pavardės, vardai, įrašų numeriai, grupių numeriai.

3.33 pav. – 25 užklausa Konstruktorius

12) Naudojant susietas lenteles Studentai, Sesija ir prašyti Vidutinis balas, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamas mokinio Ivanovo matematikos pažymys, balų vidurkis ir grupės numeris.

3.35 pav. – Užklausų kūrėjas 29

13) Naudojant susietas lenteles Studentai, Sesija ir prašyti Vidutinis balas, sukurti užklausą, pagal kurią iš duomenų bazės bus atrenkamos mokinių, kurių balų vidurkis mažesnis nei 3,75, pavardės ir vardai.

3.37 pav. – 33 užklausos konstruktorius

14) Lentelės naudojimas Studentai, nustatykite studento pavardę, vardą ir įrašo numerį, jei žinoma, kad jos patronimas yra Viktorovna.

3.39 pav. – Užklausų kūrėjas 35

4 užduotis.

Norėdami konvertuoti skaičių iš dešimtainės skaičių sistemos į skaičių sistemą su skirtingu pagrindu, atlikite šiuos veiksmus:

a) Norėdami konvertuoti sveikąją skaičiaus dalį, padalykite ją iš sistemos pagrindo, fiksuodami likusią dalį. Jei dalinis koeficientas nėra lygus nuliui, toliau dalinkite jį iš visumos. Jei lygi nuliui, likučiai rašomi atvirkštine tvarka.

b) Norint paversti trupmeninę skaičiaus dalį, ji dauginama iš skaičių sistemos pagrindo, kartu fiksuojant visas gautų sandaugų dalis. Ištisos dalys nedalyvauja tolesniame daugime. Dauginama tol, kol trupmeninėje sandaugos dalyje gaunamas 0 arba iki nurodyto skaičiavimo tikslumo.

c) Atsakymas rašomas kaip išversto sveikojo skaičiaus ir išverstos trupmeninės skaičiaus dalies pridėjimas.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812,22₁₀ = С294, 385₁₆

0,

5 užduotis.

Norint konvertuoti skaičių į dešimtainę skaičių sistemą iš skaičių sistemos su skirtinga baze, kiekvienas konvertuojamo skaičiaus koeficientas dauginamas iš sistemos bazės iki šį koeficientą atitinkančio laipsnio ir gauti rezultatai sumuojami.

A) 10101001.11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2 (-5) = 169,78125₁₀

Norėdami konvertuoti iš dvejetainio į aštuntainį, turite padalyti duotą dvejetainį skaičių dešinėje ir kairėje nuo kablelio į triadą (tris skaitmenis) ir pavaizduoti kiekvieną triadą atitinkamu aštuntainiu kodu. Jei neįmanoma skaidyti į triadas, leidžiama pridėti nulius į kairę prie viso skaičiaus ir į dešinę į trupmeninę skaičiaus dalį. Atvirkštinio vertimo atveju kiekvienas aštuntainio skaičiaus skaitmuo vaizduojamas atitinkama dvejetainio kodo triada.

5.1 lentelė – Skaičių vertimas

Dešimtainė skaičių sistema Dvejetainių skaičių sistema Aštuntainių skaičių sistema Šešioliktainė skaičių sistema
Triados (0–7) Tetradai (0–15)
A
B
C
D
E
F

B) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (- 1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

B) EDF,511₆ = 111011011111,01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

6 užduotis.

Skaičių sudėjimo dvejetainėje sistemoje pagrindas yra vienaženklių dvejetainių skaičių pridėjimo lentelė.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Kelių bitų dvejetainių skaičių pridėjimas atliekamas pagal šią lentelę, atsižvelgiant į galimus perkėlimus iš žemesnės eilės į aukštesnius. Aštuntainių skaičių sistema, kaip ir bet kuri kita pozicinių skaičių sistema, turi savo skaičių sudėjimo taisykles, kurios yra pavaizduotos skaičių sudėjimo taisyklėmis su vienoda tvarka, susijusia su dviem pridedamais skaičiais. Šios taisyklės matomos 6.1 lentelėje. Perkėlimas, atsirandantis pridedant kai kuriuos tam tikro skaitmens skaitmenis, žymimas simboliu „↶“.
6.1 lentelė – Sudėjimas 8-oje skaičių sistemoje
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

Dviejų šešioliktainių skaičių, esančių tuose pačiuose šių skaičių skaitmenyse, skaitmenų sudėjimo taisyklės pateiktos 6.2 lentelėje. Perkėlimas, kuris įvyksta pridedant kai kuriuos tam tikro skaitmens skaitmenis, žymimas simboliu „↶“.

6 8 5 , 3 2 2 A₁₆ + 1 0 1 0 1 0 0 1 0 , 1 0 ₂ + 4 7 7 , 6₈

D A 4 8 5 , 4 4 6 0 ₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 .3 6₈

6.2 lentelė – Sudėjimas 16-oje skaičių sistemoje

+ A B C D E F
A B C D E F
A B C D E F ↶0
A B C D E F ↶0 ↶1
A B C D E F ↶0 ↶1 ↶2
A B C D E F ↶0 ↶1 ↶2 ↶3
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶ A
C C D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶ A ↶ B
D D E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶ A ↶ B ↶C
E E F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶ A ↶ B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶ A ↶ B ↶C ↶D ↶E

7 užduotis.

Naudodami aštuntainių skaičių pridėjimo lentelę galite juos atimti. Tarkime, kad reikia apskaičiuoti dviejų aštuntųjų skaičių skirtumą. Raskime pirmajame lentelės stulpelyje. 6.1 skaitmenį, atitinkantį paskutinį poskyrio skaitmenį, o jo eilutėje rasime paskutinį minuendės skaitmenį - jis yra podalinės linijos ir skirtumo stulpelio sankirtoje. Taip rasime paskutinį skirtumo skaitmenį. Panašiai ieškoma kiekvieno skirtumo skaitmens.

a) _ 2 5 1 5 1 4, 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

b) _1 0 1 1 0 1 1 0 0 0, 1 0 0 0 0₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

c) _E 3 1 6, 2 5 0₁₆

5 8 8 1, F D C₆

8 A 9 4, 2 7 4

8 užduotis.

Skaičių dauginimo dvejetainėje sistemoje pagrindas yra vienaženklių dvejetainių skaičių daugybos lentelė.

0 0 = 0
0 1 = 0
10 = 0
1 1 = 1

Kelių bitų dvejetainių skaičių dauginimas atliekamas
pagal šią lentelę pagal įprastą schemą,
kurią naudojate dešimtainėje sistemoje.

Kiekviena pozicinių skaičių sistema turi savo daugybos lentelę, kaip jau matėme. Dvejetainėje jis yra mažiausias, aštuntajame (8.1 lentelė) ir dešimtainiame – jau platesnis. Tarp dažnai naudojamų skaičių sistemų, kurias nagrinėjome, didžiausia daugybos lentelė yra šešioliktainė (8.2 lentelė).

Lentelė 8.1. – Daugyba 8-oje sistemoje

×

a) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

b) 1 0 1 1 1 0 0₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

c) B C D, 516

*D5A₁₆

9 D 9 3 3 E 2₁₆


8.2 lentelė – Daugyba 16-oje sistemoje

× A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

9 užduotis.

Tiesioginis kodas- fiksuoto kablelio dvejetainių skaičių vaizdavimo kompiuterinėje aritmetikoje metodas. Rašant skaičių tiesioginiu kodu, reikšmingiausias skaitmuo yra ženklo skaitmuo. Jei jo reikšmė yra 0, tada skaičius yra teigiamas, jei 1, tada jis yra neigiamas.

Grąžinimo kodas- Skaičiavimo matematikos metodas, leidžiantis atimti vieną skaičių iš kito, naudojant tik natūraliųjų skaičių sudėjimo operaciją. Rašant skaičių teigiamam skaičiui jis sutampa su tiesioginiu kodu, o neigiamo skaičiaus visi skaitmenys pakeičiami priešingais, išskyrus vietinę.

Papildomas kodas(Anglų) dviejų papildymas, Kartais dviese-komplementas) yra labiausiai paplitęs būdas kompiuteriuose pateikti neigiamus sveikuosius skaičius. Tai leidžia pakeisti atimties operaciją sudėjimo operacija ir padaryti tokias pačias sudėjimo ir atimties operacijas skaičiams su ženklu ir be ženklo, taip supaprastinant kompiuterio architektūrą. Rašant skaičių teigiamam skaičiui jis sutampa su tiesioginiu kodu, o neigiamam skaičiui papildomas kodas nustatomas gavus atvirkštinį kodą ir pridedant 1.

Sudedant skaičius į papildomą kodą, gautas 1 pernešimas ženklo bite atmetamas, o atvirkštiniame kode jis pridedamas prie mažiausiai reikšmingo kodų sumos bito.

Jei aritmetinių operacijų rezultatas yra neigiamo skaičiaus kodas, jis turi būti konvertuojamas į tiesioginį kodą. Konvertuokite atvirkštinį kodą į tiesioginį, pakeisdami skaitmenis visuose skaitmenyse, išskyrus ženklą, priešingais. Papildomas kodas paverčiamas tiesioginiu kodu pridedant 1.

Tiesioginis kodas:

X=0,10111 1,11110

Y = 1,11110 0,10111

Atvirkštinis kodas:

X=0,10111 0,10111

Y = 1,00001 1,00001

1,11000 1,00111

Papildomas kodas:

X=0,10111 0,10111

Y = 1,00010 1,00010

1,11001 1,00110

Tiesioginis kodas:

Atvirkštinis kodas:

X=0,110110 0,0110110

Y=0,101110 0,0101110

Papildomas kodas:

X=0,110110 0,0110110

Y=0,101110 0,0101110

10 užduotis.

Loginiai elementai

1. Loginiai vartai NEvykdo loginio neigimo. Jis turi vieną įėjimą ir vieną išėjimą. Signalo (įtampos) nebuvimą žymime „0“, o signalo buvimą – „1“. Išėjimo signalas visada yra priešingas įvesties signalui. Tai matyti iš tiesos lentelės, kuri parodo išėjimo signalo priklausomybę nuo įėjimo.

2. ARBA vartai atlieka loginį papildymą. Jame yra keli įėjimai ir vienas išėjimas. Išėjime bus signalas, jei bent viename įėjime yra signalas.

Simbolių tiesos lentelė

3. IR vartai atlieka loginį dauginimą. Signalas šio loginio elemento išvestyje bus tik tuo atveju, jei signalas bus visuose įėjimuose.

Simbolių tiesos lentelė

F=(A v B) ʌ (C v D)

10.1 lentelė – tiesos lentelė

A B C D A B C D (A prieš B) (C vD) F=(A v B) ʌ (C v D)

ALogikos algebroje yra keletas dėsnių, leidžiančių lygiavertes loginių išraiškų transformacijas. Pateiksime šiuos dėsnius atspindinčius santykius.

1. Dvigubo neigimo dėsnis: (A) = A

Dvigubas neigiamas pašalina neigiamą.

2. Keliavimo (keičiamoji) teisė:

Loginiam papildymui: A V B = B V A

Loginiam dauginimui: A&B = B&A

Operacijos su teiginiais rezultatas nepriklauso nuo šių teiginių paėmimo tvarkos.

3. Kombinacinė (asociacinė) teisė:

Loginiam pridėjimui: (A v B) v C = A v (Bv C);

Loginiam dauginimui: (A&B)&C = A&(B&C).

Jei ženklai yra vienodi, skliaustus galima dėti savavališkai arba jų visai praleisti.

4. Paskirstymo (paskirstymo) teisė:

Loginiam papildymui: (A v B)&C = (A&C)v(B&C);

Loginiam dauginimui: (A&B) v C = (A v C)&(B v C).

Apibrėžia bendrojo teiginio išėmimo iš skliaustų taisyklę.

5. Bendrosios inversijos dėsnis (de Morgano dėsniai):

Loginiam pridėjimui: (Av B) = A & B;

Loginiam dauginimui: (A& B) = A v B;

6. Idempotencijos dėsnis

Loginiam pridėjimui: A v A = A;

Loginiam dauginimui: A&A = A.

Įstatymas reiškia, kad nėra eksponentų.

7. Konstantų eliminavimo dėsniai:

Loginiam sudėjimui: A v 1 = 1, A v 0 = A;

Loginiam dauginimui: A&1 = A, A&0 = 0.

8. Prieštaravimo dėsnis: A& A = 0.

Neįmanoma, kad prieštaringi teiginiai vienu metu būtų teisingi.

9. Trečiojo išskyrimo dėsnis: A v A = 1.

10. Sugerties dėsnis:

Loginiam papildymui: A v (A&B) = A;

Loginiam dauginimui: A&(A v B) = A.

11. Išskyrimo (klijavimo) dėsnis:

Loginiam papildymui: (A&B) v (A&B) = B;

Loginiam dauginimui: (A v B) & (A v B) = B.

12. Priešpriešos dėsnis (inversijos taisyklė):

(A v B) = (Bv A).

(A→B) = A&B

A&(AvB) = A&B

Formulė turi normalią formą, jei joje nėra lygiavertiškumo, implikacijos ar dvigubo neigimo ženklų, o neigimo ženklai randami tik kintamiesiems.


Susijusi informacija.


Pagrindiniai šiuolaikiniai šifravimo metodai

Tarp įvairių šifravimo metodų galima išskirti šiuos pagrindinius metodus:

  • - Pakeitimo arba pakeitimo algoritmai - šaltinio teksto simboliai pakeičiami kitos (arba tos pačios) abėcėlės simboliais pagal iš anksto nustatytą schemą, kuri bus šio šifro raktas. Atskirai šis metodas šiuolaikinėse kriptosistemose praktiškai nenaudojamas dėl itin mažo kriptografinio stiprumo.
  • - Pertvarkymo algoritmai – pradinio teksto simboliai keičiami pagal tam tikrą principą, kuris yra slaptasis raktas. Pats permutacijos algoritmas turi mažą kriptografinį stiprumą, tačiau yra įtrauktas kaip daugelio šiuolaikinių kriptosistemų elementas.
  • - Gama algoritmai - šaltinio teksto simboliai pridedami prie tam tikros atsitiktinės sekos simbolių.
  • - Algoritmai, pagrįsti sudėtingomis matematinėmis šaltinio teksto transformacijomis pagal tam tikrą formulę. Daugelis jų naudoja neišspręstus matematikos uždavinius. Pavyzdžiui, internete plačiai naudojamas RSA šifravimo algoritmas yra pagrįstas pirminių skaičių savybėmis.
  • - Kombinuoti metodai. Nuoseklus šaltinio teksto šifravimas naudojant du ar daugiau metodų.

Pažvelkime atidžiau į sudėtingų matematinių transformacijų ir kombinuotų metodų pagrindu sukurtus algoritmus, kurie yra dažniausiai naudojami duomenims apsaugoti šiuolaikinėse informacinėse sistemose.

Algoritmai, pagrįsti sudėtingomis matematinėmis transformacijomis

RSA algoritmas

RSA algoritmas (po pirmųjų jo kūrėjų pavardžių raidžių Rivest – Shamir – Adleman) pagrįstas pirminių skaičių (ir labai didelių) savybėmis. Pirminiai skaičiai yra tie skaičiai, kurie neturi daliklių, išskyrus save ir vieną. O pirminiai skaičiai yra tie skaičiai, kurie neturi bendrų daliklių, išskyrus 1.

Pirmiausia reikia pasirinkti du labai didelius pirminius (dideli pirminiai skaičiai reikalingi dideliems, stipriiems raktams sukonstruoti. Pavyzdžiui, Unix programa ssh-keygen pagal nutylėjimą generuoja 1024 bitų raktus). Padauginus p ir q, nustatomas parametras n. Tada pasirenkamas atsitiktinis skaičius e, kuris turi būti santykinai pirminis su skaičiumi (n) = (p - 1)*(q - 1). Rastas skaičius d, kurio santykis yra teisingas

(e*d) mod (n) = 1.

Mod yra dalybos liekana, t. y. jei e, padauginta iš d, yra padalinta iš (n), liekana turėtų būti 1. Kitaip tariant, skaičiai (e*d - 1) ir (n) turėtų dalytis iš sveikojo skaičiaus .

Viešasis raktas yra skaičių e ir n pora, o privatusis raktas yra d ir n. Šifruojant šaltinio tekstas traktuojamas kaip skaičių serija ir atliekama operacija su kiekvienu skaičiumi, kuris turi būti mažesnis nei n

C(i) = (M(i) e) mod n. (1)

Rezultatas yra seka C(i), kuri sudaro kriptotekstą. Informacijos dekodavimas vyksta pagal formulę

M(i) = (C(i) d) mod n. (2)

Kaip matote, norint iššifruoti reikia žinoti slaptąjį raktą.

Pažvelkime į pavyzdį naudojant mažus skaičius. Tegu p = 3, q = 7. Tada n = = p*q = 21. Pasirinkime e = 5. Iš formulės (d*5) mod 12 = 1 apskaičiuojame d = 17. Todėl viešoji raktas yra 17, 21, slaptasis raktas yra 5, 21.

Užšifruokime seką „2345“:

C 1 = 2 17 mod 21 = 11;

C 2 = 3 17 mod 21 = 12;

C 3 = 4 17 mod 21 = 16;

C 4 = 5 17 mod 21 = 17.

Kriptotekstas – 11 12 16 17. Patikrinkime iššifravimą:

M 1 = 11 5 mod 21 = 2;

M 2 = 12 5 mod 21 = 3;

M 3 = 16 5 mod 21 = 4;

M 4 = 17 5 mod 21 = 5;

Kaip matote, rezultatas sutapo su originaliu paprastu tekstu.

RSA kriptosistema plačiai naudojama internete. Kai vartotojai prisijungia prie saugaus serverio naudodami Secure Socket Layer (SSL) protokolą, Secure Socket Layer yra protokolas, garantuojantis saugų duomenų perdavimą tinkle; sujungia viešojo rakto kriptografinę sistemą ir blokuoja duomenų šifravimą., įdiegia „WebMoney“ sertifikatą jūsų kompiuteryje arba prisijungia prie nuotolinio serverio naudojant „Open SSH“ arba „SecureShell“, dauguma net neįtaria, kad visos šios programos naudoja viešojo rakto šifravimą pagal RSA idėjas algoritmas.

Ar tikrai ši sistema tokia patikima?

Nuo pat savo sukūrimo RSA buvo nuolatos patiriamos žiaurios jėgos atakos (brute force attack) – ataka, vykdoma tiesiog išbandant visus įmanomus arba dažniausiai pasitaikančius klavišus (slaptažodžius). „žodyno ataka“. 1978 m. algoritmo autoriai paskelbė straipsnį, kuriame pristatė eilutę, užšifruotą naudojant ką tik jų sugalvotą metodą. Pirmas asmuo, iššifravęs pranešimą, gavo 100 USD atlygį, tačiau tam reikėjo padalinti 129 skaitmenų skaičių į du veiksnius. Tai buvo pirmasis konkursas, skirtas nulaužti RSA. Problema buvo išspręsta tik po 17 metų nuo straipsnio paskelbimo.

RSA kriptografinis stiprumas pagrįstas prielaida, kad labai sunku, o gal net neįmanoma, nustatyti privatųjį raktą iš viešojo rakto. Norėdami tai padaryti, reikėjo išspręsti didžiulio sveikojo skaičiaus daliklių egzistavimo problemą. Iki šiol niekas to nesprendė analitiniais metodais, o RSA algoritmą galima nulaužti tik pasitelkus brutalią jėgą. Griežtai kalbant, teiginys, kad faktorizavimo problema yra sudėtinga ir kad sunku sulaužyti RSA sistemą, taip pat nėra įrodytas.

RSA įmonė (http://www.rsa.ru) reguliariai rengia konkursus, kaip išlaužti savo (ir ne tik savo) šifrus. Ankstesnius konkursus laimėjo organizacija Distributed.net (http://www.distributed.net), kuri yra internetinė savanorių bendruomenė.

Distributed.net nariai į savo kompiuterį atsisiunčia mažą kliento programą, kuri jungiasi prie centrinio serverio ir gauna duomenų dalį skaičiavimams. Tada visi duomenys įkeliami į centrinį serverį, o klientas gauna kitą pradinės informacijos bloką. Ir tai vyksta tol, kol nebus sutvarkyti visi deriniai. Vartotojai, sistemos dalyviai, yra sujungti į komandas, o svetainė palaiko tiek komandų, tiek šalių reitingus. Pavyzdžiui, Distributed.net, RC5-64 (RSA bloko šifras naudojant 64 bitų raktą) krekingo konkurso dalyvis, sugebėjo jį nulaužti po penkerių metų (1757 dienų). Per šį laiką projekte dalyvavo 327 856 vartotojai ir buvo sutvarkyta daugiau nei 15 268 * 10 18 pagrindinių variantų. Paaiškėjo, kad frazė „kai kuriuos dalykus geriau neskaityti“ buvo užšifruota (ne be humoro). Bendros rekomendacijos dėl šifro RC5-64 yra tokios: algoritmas yra pakankamai stiprus kasdieniams poreikiams, tačiau nerekomenduojama juo šifruoti duomenų, kurie išlieka paslaptyje ilgiau nei penkerius metus.

Tikimybinis šifravimas

Vienas iš viešojo rakto kriptosistemų tipų yra tikimybinis šifravimas, kurį sukūrė Shafi Golwasser ir Silvio Minnelli. Jo esmė – šifravimo algoritmą E pajungti tikimybiniams modeliams. Kokie šio požiūrio privalumai? Pavyzdžiui, RSA sistemoje 0 ir 1 nėra „užmaskuoti“. Be to, kiekvienas šio rinkinio elementas parenkamas su tam tikra tikimybe. Kitaip tariant, bet kurio paprasto teksto M atveju algoritmo E rezultatas bus atsitiktinis kintamasis. Gali atrodyti, kad tokiu atveju informacijos iššifruoti bus neįmanoma, tačiau taip nėra. Kad būtų galima iššifruoti, būtina, kad skirtingiems atviriesiems tekstams M 1 ir M 2 aibės CM 1 ir CM 2 nesikirstų. Taip pat norėčiau pasakyti, kad tikimybinio šifravimo algoritmai yra patikimesni nei deterministiniai. Šioje srityje dažniausiai naudojamas tikimybinis šifravimas, pagrįstas RSA funkcijomis ir El-Gamala kriptosistema.

Kombinuoti šifravimo metodai

Vienas iš svarbiausių reikalavimų šifravimo sistemai yra didelis jos kriptografinis stiprumas. Tačiau padidinus jį bet kokiam šifravimo metodui, paprastai labai apsunkinamas pats šifravimo procesas ir padidėja išteklių sąnaudos (laikas, aparatinė įranga, sumažėjęs pralaidumas ir kt.), o dėl to - šifravimo laikas. kriptografines sistemas.

Gana efektyvi priemonė šifravimo stiprumui didinti yra kelių skirtingų šifravimo būdų kombinuotas naudojimas, t.y. nuoseklus pradinio teksto šifravimas naudojant du ar daugiau metodų.

Kaip parodė tyrimai, kombinuoto šifravimo stiprumas nėra mažesnis už naudojamų metodų stiprumo sandaugą.

Griežtai kalbant, galite derinti bet kokius šifravimo metodus ir bet kokiu kiekiu, tačiau praktiškai šie deriniai yra labiausiai paplitę:

pakeitimas + gama;

pertvarkymas + gama;

lošimas + lošimas;

pakeitimas + permutacija;

Tipiškas kombinuoto šifro pavyzdys yra JAV nacionalinis duomenų šifravimo standartas (DES).

DES kriptografinis standartas

1973 metais JAV Nacionalinis standartų biuras pradėjo kurti programą, skirtą kompiuterių duomenų šifravimo standartui sukurti. Kūrimo kompanijų tarpe buvo paskelbtas konkursas, kurį laimėjo IBM, 1974 metais pristačiusi šifravimo algoritmą, žinomą kaip DES (Data Encryption Standard).

Šiame algoritme įvesties 64 bitų vektoriai, vadinami paprasto teksto blokais, konvertuojami į išvesties 64 bitų vektorius, vadinamus šifruoto teksto blokais, naudojant dvejetainį 56 bitų raktą K. Skirtingų DES algoritmo raktų skaičius yra 256.

Algoritmas įgyvendinamas per 16 panašių šifravimo ciklų, kur i-ajame cikle naudojamas ciklinis raktas Ki, kuris yra algoritmiškai sugeneruotas 48 iš 56 rakto Ki bitų pavyzdys, i = 1,2,...,16 .

Algoritmas užtikrina aukštą saugumą, tačiau naujausi rezultatai parodė, kad dabartinės technologijos gali sukurti maždaug 1 milijoną dolerių kainuojantį skaičiavimo įrenginį, galintį nulaužti slaptą raktą naudojant brutalią jėgą vidutiniškai per 3,5 valandos.

Dėl mažo rakto dydžio komercinei informacijai uždaryti buvo nuspręsta naudoti DES algoritmą. Praktinis visų raktų surašymo įgyvendinimas tokiomis sąlygomis nėra ekonomiškai pagrįstas, nes surašymo kaštai neatitinka šifru paslėptos informacijos vertės.

DES algoritmas buvo pirmasis plačiai paplitusių techninių priemonių gamybos ir diegimo informacijos saugumo srityje pavyzdys. JAV Nacionalinis standartų biuras specialiame testavimo stende testuoja DES algoritmo, kurį siūlo kūrimo įmonės, aparatinę įrangą. Tik po teigiamų testo rezultatų gamintojas gauna Nacionalinio standartų biuro sertifikatą, suteikiantį teisę parduoti savo gaminį. Iki šiol sertifikuota kelios dešimtys gaminių, pagamintų ant įvairių elementų pagrindo.

Pasiektas didelis šifravimo greitis. Tai yra 45 Mbit/s geriausiuose produktuose. Kai kurie techninės įrangos produktai kainuoja mažiau nei 100 USD.

Pagrindinės DES algoritmo taikymo sritys:

duomenų saugojimas kompiuteriuose (failų, slaptažodžių šifravimas);

pranešimo autentifikavimas (turint pranešimą ir valdymo grupę, nesunku patikrinti pranešimo autentiškumą;

elektroninė mokėjimo sistema (operacijoms su plačia klientų ratu ir tarp bankų);

Elektroninis apsikeitimas komercine informacija (duomenų keitimasis tarp pirkėjų, pardavėjo ir bankininko yra apsaugotas nuo pakeitimų ir perėmimo).

Vėliau pasirodė DES modifikacija - Triple DES ("trigubas DES" - nes ji tris kartus užšifruoja informaciją "įprastu" DES algoritmu), be pagrindinio ankstesnės versijos trūkumo - trumpojo rakto; čia dvigubai ilgiau. Tačiau, kaip paaiškėjo, „Triple DES“ paveldėjo kitus savo pirmtako trūkumus: lygiagrečios skaičiavimo galimybės šifravimui ir maža sparta.

GOST 28147-89

1989 m. SSRS sukūrė blokinį šifrą, skirtą naudoti kaip vyriausybės duomenų šifravimo standartą. Plėtra buvo priimta ir užregistruota kaip GOST 28147-89. Algoritmas buvo pristatytas 1990 m. Ir nors šio šifravimo algoritmo taikymo sritis dar tikslinama, jo diegimo pradžia, ypač bankų sistemoje, jau pradėta. Algoritmas yra šiek tiek lėtas, bet turi labai didelį kriptografinį stiprumą.

Apskritai GOST 28147-89 yra panašus į DES. GOST algoritmo blokinė schema skiriasi nuo DES algoritmo blokinės schemos tik tuo, kad nėra pradinės permutacijos ir šifravimo ciklų skaičiaus (32 GOST, palyginti su 16 DES algoritme).

GOST algoritmo raktas yra masyvas, sudarytas iš 32 dimensijų vektorių X 1, X 2,…X 8. I-ojo ciklo ciklinis raktas K i yra lygus Xs, kur reikšmių serija i nuo 1 iki 32 atitinka šias reikšmių serijas s:

1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,8,7,6,5,4,3,2,1.

GOST šifras naudoja 256 bitų raktą, o rakto erdvės tūris yra 2 256. Nė viena iš šiuo metu esamų arba artimiausiu metu planuojamų įdiegti bendrosios paskirties kompiuterinių sistemų negali būti naudojama raktui parinkti greičiau nei po daugelio šimtų metų. Rusijos standartas buvo sukurtas su didele patvarumo atsarga, jis yra daug kartų pranašesnis už amerikietišką DES standartą, kurio tikrasis rakto dydis yra 56 bitai, o rakto erdvės tūris yra tik 2 56, o to akivaizdžiai nepakanka; . GOST kriptografinio algoritmo raktas yra 32 baitų (256 bitų) ilgio ir keturis kartus didesnis už DES raktą. Laikas, reikalingas rūšiuoti visus klavišus, padidėja ne keturis kartus, o 256 32-8 = 256 24, o tai reiškia astronominius skaičius). Šiuo atžvilgiu DES gali būti labiau mokslinis ar mokslinis interesas, o ne praktinis interesas.

Išvados dėl šiuolaikinių šifravimo algoritmų naudojimo

Šiuo metu dažniausiai naudojami trys pagrindiniai šifravimo standartai:

  • - DES;
  • - GOST 28147-89 - buitinis metodas, pasižymintis dideliu kriptografiniu atsparumu;
  • - RSA yra sistema, kurioje šifravimas ir iššifravimas atliekami naudojant skirtingus raktus.

RSA trūkumas yra gana mažas šifravimo greitis, tačiau jis suteikia asmeninį elektroninį parašą, pagrįstą slaptu raktu, unikaliu kiekvienam vartotojui. Populiariausių šifravimo metodų charakteristikos pateiktos 1 lentelėje.

1 lentelė Dažniausių šifravimo metodų charakteristikos

Siųsti savo gerą darbą žinių bazėje yra paprasta. Naudokite žemiau esančią formą

Studentai, magistrantai, jaunieji mokslininkai, kurie naudojasi žinių baze savo studijose ir darbe, bus jums labai dėkingi.

Kursinis darbas

Tema:

Duomenų šifravimo algoritmai

Įvadas

1. Šifravimo algoritmų paskirtis ir struktūra

1.1 Kriptografijos metodų apžvalga

2. Simetrinio šifravimo algoritmas

2.1 Šifravimo algoritmų struktūra

3. Simetrinio šifravimo algoritmo taikymas

Išvada

Bibliografija

Įvadas

Informacijos apsaugos, transformuojant ją taip, kad jos negalėtų perskaityti pašaliniai žmonės, problema jau seniai jaudino žmogaus protą.

Kodėl kriptografinių metodų naudojimo informacinėse sistemose problema šiuo metu tapo ypač aktuali?

Iki šiol visos žinomos prekybos formos gali būti apgaudinėjamos – nuo ​​rinkos ženklų iki netikrų sąskaitų faktūrų ir padirbtos valiutos. Elektroninės prekybos schemos nėra išimtis. Tik stipri kriptografija gali užkirsti kelią tokioms atakų formoms.

Elektroniniai pinigai be kriptografijos neišgyvens. Internetas pamažu virsta informacijos greitkeliu. Taip yra dėl to, kad interneto vartotojų skaičius nuolat auga tarsi lavina. Be įprasto keitimosi informacija, į tinklą įsiskverbia verslo santykiai, kurie visada susiję su piniginiais mokėjimais. Yra daug įvairių prekių ir paslaugų internetinės prekybos pavyzdžių. Tai tradicinė prekyba, palaikoma Tinklo galimybių, kai pirkėjas gali išsirinkti prekę iš didžiulių katalogų ir net apžiūrėti šią prekę (tokia paslauga, paremta trimačių vaizdų perkėlimu, vis labiau plinta). Tai – prieiga prie turizmo paslaugų, kai iš anksto viską sužinosi apie savo kelionės vietą ir aptarnavimo lygį, pasižiūri nuotraukas (gamta, restoranai, baseinai, kambarių apstatymas...), užsisakyti kelionę ir užsisakyti lėktuvo bilietai. Tokių pavyzdžių yra nemažai ir daugelis iš jų susiję su piniginiais mokėjimais.

Kalbant apie mokėjimus kreditine kortele, jos trūkumai yra akivaizdūs: reikia gauti kortelę (o Rusijoje ne visi žino, kas tai yra), taip pat baiminamasi, kad visi internete sužinos jūsų kredito kortelės kodus ir pikti žmonės išvalyti savo sąskaitą. Tiesą sakant, tokio sukčiavimo tikimybė nėra didesnė nei ta, kad keičiant valiutą jums bus pateikti padirbti pinigai. Ir apskritai su elektroniniais pinigais problemų nėra daugiau nei su įprastais. Mokėjimams internetu atlikti buvo sukurtos kelios mokėjimo sistemos. Kurie arba sumaniai naudoja esamas kreditines korteles, arba pasikliauja grynais elektroniniais pinigais, ty saugia failų sistema, kurioje saugomi jūsų sąskaitos būsenos įrašai. Pasaulyje yra daugiau nei tuzinas tokių sistemų, o Rusijoje taip pat yra keletas, iš kurių labiausiai paplitusi yra „CyberPlat“.

1. Mokėjimai internetu susiję su specialios informacijos, kuri negali būti atskleista pašaliniams asmenims, perdavimas.

2. Atliekant mokėjimus būtina turėti garantiją, kad visi veikėjai (pirkėjas, pardavėjas, bankas ar mokėjimo sistema) yra būtent tai, ką jie sako esantys.

Šių dviejų veiksnių pakanka suprasti, kad be kriptografijos atsiskaityti internetu neįmanoma, o pati elektroninių pinigų idėja suponuoja patikimą informacijos apsaugą ir garantiją, kad niekas negalės pakeisti sandorio dalyvio. ir taip pavogti elektroninius pinigus.

Naujų galingų kompiuterių, tinklų ir neutronų skaičiavimo technologijų atsiradimas leido diskredituoti kriptografines sistemas, kurios iki šiol buvo laikomos nepalaužiamomis.

Visa tai nuolat verčia mokslininkus kurti naujas kriptosistemas ir atidžiai analizuoti esamas.

Informacijos saugumo užtikrinimo problemos aktualumą ir svarbą lemia šie veiksniai:

* Dabartiniai informacijos saugumo priemonių plėtros lygiai ir tempai gerokai atsilieka nuo informacinių technologijų plėtros lygių ir tempų.

* Didelis asmeninių kompiuterių, naudojamų įvairiose žmogaus veiklos srityse, parko augimo tempai.

1. Šifravimo algoritmų paskirtis ir struktūra

Šifravimas yra plačiausiai naudojamas kriptografinis informacijos konfidencialumo išsaugojimo metodas, jis apsaugo duomenis nuo neteisėtos prieigos. Pirmiausia pažvelkime į pagrindinius kriptografinės informacijos apsaugos metodus. Žodyje, kriptografija- informacijos saugumo mokslas naudojant matematinius metodus. Taip pat yra mokslas, priešingas kriptografijai ir skirtas apsaugotos informacijos atidarymo būdams. kriptovaliuta. Kriptografijos ir kriptoanalizės derinys paprastai vadinamas kriptologija. Kriptografinius metodus galima klasifikuoti įvairiai, tačiau dažniausiai jie skirstomi priklausomai nuo raktų, naudojamų atitinkamuose kriptografiniuose algoritmuose, skaičiaus (žr. 1 pav.):

1. Beraktė, kuri nenaudoja jokių raktų.

2. Vieno rakto – jie naudoja kažkokį papildomą rakto parametrą – dažniausiai slaptąjį raktą.

3. Dviejų raktų, skaičiavimuose naudojant du raktus: slaptąjį ir viešąjį.

Ryžiai. 1. Kriptoalgoritmai

1.1 Kriptografijos metodų apžvalga

Šifravimas yra pagrindinis apsaugos būdas; Pažvelkime į tai išsamiai žemiau.

Verta pasakyti keletą žodžių apie kitus kriptografinius metodus:

1. Elektroninis parašas naudojamas duomenų vientisumui ir autorystei patvirtinti. Duomenų vientisumas reiškia, kad duomenys nebuvo atsitiktinai ar tyčia pakeisti saugojimo ar perdavimo metu.

Elektroninio parašo algoritmai naudoja dviejų tipų raktus:

o slaptasis raktas naudojamas elektroniniam parašui skaičiuoti;

o Viešasis raktas naudojamas jo patikrinimui.

Naudojant kriptografiškai stiprų elektroninio parašo algoritmą ir tinkamai išsaugant bei naudojant slaptąjį raktą (t. y. kai niekas kitas, išskyrus jo savininką, negali naudoti rakto), niekas kitas negali apskaičiuoti teisingo elektroninio parašo. elektroninis dokumentas.

2. Autentifikavimas leidžia patikrinti, ar vartotojas (arba nuotolinis kompiuteris) tikrai yra tas, kuo jis teigia esąs. Paprasčiausia autentifikavimo schema yra slaptažodis – slaptažodis naudojamas kaip slaptas elementas, kurį vartotojas pateikia jį tikrindamas. Įrodyta, kad tokia schema yra silpna, jei jai sustiprinti netaikomos specialios administracinės ir techninės priemonės. Remdamiesi šifravimu arba maišos nustatymu (žr. toliau), galite sukurti tikrai stiprias vartotojo autentifikavimo schemas.

3. Yra įvairių kriptografinės kontrolinės sumos metodų:

o rakto ir beraktės maišos;

o imitacinių priešdėlių skaičiavimas;

o pranešimų autentifikavimo kodų naudojimas.

Tiesą sakant, visi šie metodai įvairiais būdais apskaičiuoja iš savavališko dydžio duomenų, su slaptu raktu arba be jo, fiksuoto dydžio kontrolinę sumą, kuri vienareikšmiškai atitinka pradinius duomenis.

Toks kriptografinis kontrolinis sumavimas plačiai naudojamas įvairiuose informacijos saugos metoduose, pavyzdžiui:

o patvirtinti bet kokių duomenų vientisumą tais atvejais, kai elektroninio parašo naudojimas yra neįmanomas (pavyzdžiui, dėl didelio išteklių sąnaudų) arba yra perteklinis;

o pačiose elektroninio parašo schemose dažniausiai „pasirašoma“ duomenų maiša, o ne visi duomenys;

o įvairiose vartotojo autentifikavimo schemose.

4. Atsitiktinių ir pseudoatsitiktinių skaičių generatoriai leidžia kurti atsitiktinių skaičių sekas, kurios plačiai naudojamos kriptografijoje, ypač:

o Atsitiktiniai skaičiai reikalingi slaptiems raktams generuoti, kurie idealiu atveju turėtų būti visiškai atsitiktiniai;

o atsitiktiniai skaičiai naudojami daugelyje elektroninio parašo algoritmų;

o Atsitiktiniai skaičiai naudojami daugelyje autentifikavimo schemų.

Ne visada įmanoma gauti absoliučiai atsitiktinius skaičius - tam reikia aukštos kokybės aparatinės įrangos generatorių. Tačiau remiantis simetriniais šifravimo algoritmais, galima sukurti aukštos kokybės pseudoatsitiktinių skaičių generatorius.

2 Simetrinis šifravimo algoritmas

Šifravimas informacija yra atviros informacijos pavertimas užšifruota informacija (kuri dažniausiai vadinama šifruotas tekstas arba kriptograma), ir atvirkščiai. Pirmoji šio proceso dalis vadinama šifravimas, antra - iššifravimas.

Šifravimą galite įsivaizduoti kaip šią formulę:

C = E k1(M), Kur:

M(pranešimas) – atvira informacija,

SU(šifruotas tekstas) - šifruotas tekstas, gautas šifruojant,

E(šifravimas) - šifravimo funkcija, kuri atlieka kriptografines transformacijas M,

k1(raktas) – funkcijos parametras E, paskambino Raktasšifravimas.

GOST 28147-89 standarte (standartas apibrėžia buitinį simetrinį šifravimo algoritmą) koncepcija Raktas yra apibrėžiamas taip: „Slapta kai kurių kriptografinio transformavimo algoritmo parametrų būsena, užtikrinanti vienos transformacijos pasirinkimą iš visų galimų tam tikro algoritmo transformacijų rinkinio“.

Raktas gali priklausyti konkrečiam vartotojui arba vartotojų grupei ir būti jiems unikalus. Informacija, užšifruota naudojant tam tikrą raktą, gali būti iššifruota tik naudojant tą patį raktą arba raktą, susijusį su juo tam tikru ryšiu.

Iššifravimas gali būti pavaizduotas panašiai:

M" = D k2(C), Kur:

M"- pranešimas gautas dėl iššifravimo,

D(decryption) – iššifravimo funkcija; kaip ir šifravimo funkcija, ji atlieka šifruoto teksto kriptografines transformacijas,

k2- iššifravimo raktas.

Norint gauti teisingą paprastąjį tekstą iššifruojant (ty tą patį, kuris anksčiau buvo užšifruotas: M" = M), vienu metu turi būti įvykdytos šios sąlygos:

1. Iššifravimo funkcija turi atitikti šifravimo funkciją.

2. Iššifravimo raktas turi sutapti su šifravimo raktu.

Jei trūksta tinkamo rakto k2 gauti originalią žinutę M" = M naudojant tinkamą funkciją D neįmanomas. Žodis „neįmanoma“ šiuo atveju paprastai reiškia, kad neįmanoma skaičiuoti realiuoju laiku su esamais skaičiavimo ištekliais.

Šifravimo algoritmus galima suskirstyti į dvi kategorijas (žr. 1 pav.):

1. Simetrinio šifravimo algoritmai.

2. Asimetriniai šifravimo algoritmai.

Algoritmuose simetriškas šifravimas Iššifravimui dažniausiai naudojamas tas pats raktas, kaip ir šifravimui, arba raktas, susijęs su juo kokiu nors paprastu ryšiu. Pastarasis yra daug rečiau paplitęs, ypač šiuolaikiniuose šifravimo algoritmuose. Toks raktas (įprastas šifravimui ir iššifravimui) paprastai vadinamas paprastai šifravimo raktas.

IN asimetrinis šifravimasšifravimo raktas k1 lengvai apskaičiuojamas iš rakto k2 tokiu būdu, kad atvirkštinis skaičiavimas būtų neįmanomas. Pavyzdžiui, pagrindinis ryšys gali būti:

k1 = ak2 mod p,

kur a ir p yra šifravimo algoritmo parametrai, kurių matmenys yra pakankamai dideli.

Šis raktų ryšys taip pat naudojamas elektroninio parašo algoritmuose.

Pagrindinė šifravimo algoritmo savybė yra kriptografinis stiprumas, kuris nustato jo atsparumą atskleidimui kriptoanalizės metodais. Paprastai šią charakteristiką lemia laiko intervalas, reikalingas šifrui išlaužti.

Simetrinis šifravimas yra mažiau patogus dėl to, kad kam nors perduodant šifruotą informaciją, gavėjas turi iš anksto gauti raktą informacijai iššifruoti. Asimetriškas šifravimas neturi šios problemos (nes viešasis raktas gali būti laisvai perduodamas tinkle), tačiau jis turi savų problemų, ypač viešojo rakto klastojimo ir lėto šifravimo greičio. Dažniausiai asimetrinis šifravimas naudojamas kartu su simetriniu šifravimu – perduoti simetrinį šifravimo raktą, kuris užšifruoja didžiąją dalį duomenų. Tačiau raktų saugojimo ir perdavimo schemos yra atskiro straipsnio tema. Čia leisiu sau konstatuoti, kad simetrinis šifravimas naudojamas daug dažniau nei asimetrinis, todėl likusi straipsnio dalis bus skirta tik simetriniam šifravimui.

Yra du simetrinio šifravimo tipai:

· Blokuoti šifravimą- informacija suskirstoma į fiksuoto ilgio (pavyzdžiui, 64 arba 128 bitų) blokus, po kurių šie blokai po vieną užšifruojami. Be to, skirtinguose šifravimo algoritmuose ar net skirtinguose to paties algoritmo veikimo režimuose blokai gali būti šifruojami nepriklausomai vienas nuo kito arba „su grandine“ - kai dabartinio duomenų bloko šifravimo rezultatas priklauso nuo ankstesnio bloko vertės arba dėl ankstesnio bloko šifravimo.

· Srauto šifravimas- būtinas visų pirma tais atvejais, kai informacijos negalima suskirstyti į blokus - tarkime, tam tikras duomenų srautas, kurio kiekvienas simbolis turi būti užšifruotas ir kažkur išsiųstas, nelaukiant, kol likę duomenys bus pakankami blokui suformuoti. Todėl srauto šifravimo algoritmai šifruoja duomenis po bitą arba po simbolį. Nors verta pasakyti, kad kai kurios klasifikacijos neskiria bloko ir srauto šifravimo, atsižvelgiant į tai, kad srauto šifravimas yra vienetinio ilgio blokų šifravimas.

Pažiūrėkime, kaip atrodo blokų simetrinio šifravimo algoritmai iš vidaus.

2.1 Šifravimo algoritmų struktūra

Didžioji dauguma šiuolaikinių šifravimo algoritmų veikia labai panašiai: naudojant šifravimo raktą šifruotame tekste atliekama tam tikra transformacija, kuri kartojama tam tikrą skaičių kartų (randus). Tuo pačiu metu, priklausomai nuo kartotinės transformacijos tipo, šifravimo algoritmai paprastai skirstomi į kelias kategorijas. Čia taip pat yra įvairių klasifikacijų, pateiksiu vieną iš jų. Taigi, pagal savo struktūrą šifravimo algoritmai klasifikuojami taip:

1. Algoritmai, pagrįsti Feistel tinklu.

Feistel tinklas apima apdorotų duomenų bloko padalijimą į keletą subblokų (dažniausiai į du), iš kurių vieną apdoroja tam tikra funkcija. f() ir sutampa su vienu ar daugiau kitų subblokų. Fig. 2 paveiksle parodyta labiausiai paplitusi Feistel tinklu pagrįstų algoritmų struktūra.

Ryžiai. 2. Feistel tinklu pagrįstų algoritmų struktūra.

Papildomos funkcijos argumentas f(), nurodyta pav. 2 kaip Ki, paskambino apvalus raktas. Apvalus raktas yra šifravimo rakto apdorojimo rakto išplėtimo procedūra, kurios užduotis yra gauti reikiamą raktų skaičių. Ki iš pradinio santykinai mažo dydžio šifravimo rakto (šiuo metu laikoma, kad simetriniam šifravimo raktui pakanka 128 bitų dydžio). Paprasčiausiais atvejais rakto išplėtimo procedūra tiesiog padalija raktą į kelis fragmentus, kurie pakaitomis naudojami šifravimo etapuose; Daug dažniau raktų išplėtimo procedūra yra gana sudėtinga ir raktai Ki priklauso nuo daugumos pradinio šifravimo rakto bitų verčių.

Apdoroto subbloko superpozicija į neapdorotą dažniausiai atliekama naudojant loginę XOR operaciją (kaip parodyta 2 pav.). Gana dažnai vietoj XOR čia naudojamas modulo papildymas 2 n, Kur n- subbloko dydis bitais. Po perdangos subblokai sukeičiami, tai yra, kitame algoritmo etape apdorojamas kitas duomenų subblokas.

Ši šifravimo algoritmų struktūra savo pavadinimą gavo Horsto Feistelio, vieno iš Liuciferio šifravimo algoritmo ir jo pagrindu sukurto DES (Data Encryption Standard) algoritmo, buvusio (bet vis dar plačiai naudojamo) JAV šifravimo standarto, kūrėjų. Abu šie algoritmai turi panašią struktūrą kaip parodyta Fig. 2. Tarp kitų algoritmų, pagrįstų Feistel tinklu, kaip pavyzdį galime paminėti vietinį šifravimo standartą GOST 28147-89, taip pat kitus labai žinomus algoritmus: RC5, Blowfish, TEA, CAST-128 ir kt.

Dauguma šiuolaikinių šifravimo algoritmų yra pagrįsti Feistel tinklu - dėl daugybės tokios struktūros pranašumų, tarp kurių verta paminėti:

o Feistel tinklu paremtus algoritmus galima suprojektuoti taip, kad šifravimui ir iššifravimui būtų galima naudoti tą patį algoritmo kodą – skirtumas tarp šių operacijų gali būti tik raktų Ki taikymo tvarka; Ši algoritmo savybė yra naudingiausia, kai ji įdiegta aparatinėje įrangoje arba ribotų išteklių platformose; Tokio algoritmo pavyzdys yra GOST 28147-89.

o Labiausiai tiriami Feistel tinklu paremti algoritmai – tokiems algoritmams skirta didžiulis kiekis kriptoanalitinių tyrimų, o tai yra neabejotinas pranašumas tiek kuriant algoritmą, tiek jį analizuojant.

Taip pat yra sudėtingesnė Feistel tinklo struktūra, kurios pavyzdys parodytas Fig. 3.

Ryžiai. 3. Feistel tinklo struktūra.

Ši struktūra vadinama apibendrintas arba išplėstas Feistel tinklas ir naudojamas daug rečiau nei tradicinis Feistel tinklas. Tokio Feistel tinklo pavyzdys yra RC6 algoritmas.

2. Algoritmai pagrįsti permutacijos tinklai (SP tinklas- Pakeitimo-permutacijos tinklas).

Skirtingai nuo Feistel tinklo, SP tinklai apdoroja visą užšifruotą bloką vienu raundu. Duomenų apdorojimas daugiausia susijęs su pakeitimais (kai, pavyzdžiui, įvesties vertės fragmentas pakeičiamas kitu fragmentu pagal pakeitimo lentelę, kuri gali priklausyti nuo rakto vertės Ki) ir permutacijas, priklausomai nuo rakto Ki(supaprastinta diagrama parodyta 4 pav.).

Ryžiai. 4. Pakeitimo-permutacijos tinklas.

Tačiau tokios operacijos būdingos ir kitų tipų šifravimo algoritmams, todėl, mano nuomone, pavadinimas „pakeitimo-permutacijos tinklas“ yra gana savavališkas.

SP tinklai yra daug rečiau nei Feistel tinklai; SP tinklų pavyzdžiai yra „Serpent“ arba „SAFER+“ algoritmai.

3. Algoritmai su struktūra "kvadratas"(Kvadratas).

„Kvadratinė“ struktūra pasižymi užšifruoto duomenų bloko vaizdavimu dvimačio baitų masyvo pavidalu. Kriptografines transformacijas galima atlikti tiek atskiruose masyvo baituose, tiek jo eilutėse ar stulpeliuose.

Algoritmo struktūra pavadinta „Square“ algoritmu, kurį 1996 m. sukūrė Vincentas Rijmenas ir Joan Daemen, būsimi Rijndael algoritmo, kuris tapo naujuoju JAV AES šifravimo standartu, laimėjus atvirą konkursą, autoriai. Rijndael algoritmas taip pat turi kvadratinę struktūrą; taip pat pavyzdžiai yra „Shark“ algoritmas (ankstesnis Ridgeman ir Damen kūrimas) ir „Crypton“. „Kvadratinės“ struktūros algoritmų trūkumas yra žinių trūkumas, kuris nesutrukdė Rijndael algoritmui tapti naujuoju JAV standartu.

Ryžiai. 5. Rijndael algoritmas.

Fig. 5 paveiksle parodytas operacijos su duomenų bloku, atliekamos Rijndael algoritmu, pavyzdys.

4. Nestandartinės struktūros algoritmai, tai yra tie algoritmai, kurių negalima priskirti nė vienam iš išvardytų tipų. Akivaizdu, kad išradingumas gali būti beribis, todėl sunku suskirstyti visas įmanomas šifravimo algoritmų galimybes. Nestandartinės struktūros algoritmo pavyzdys yra unikalus savo struktūra FROG algoritmas, kurio kiekviename raunde pagal gana sudėtingas taisykles modifikuojami du baitai šifruotų duomenų (žr. 6 pav.).

Ryžiai. 6. Dviejų baitų šifruotų duomenų modifikavimas.

Griežtos ribos tarp aukščiau aprašytų struktūrų nėra apibrėžtos, todėl gana dažnai egzistuoja algoritmai, įvairių ekspertų priskiriami skirtingų tipų struktūroms. Pavyzdžiui, CAST-256 algoritmą jo autorius vadina SP tinklu, o daugelis ekspertų vadina jį išplėstiniu Feistel tinklu. Kitas pavyzdys – HPC algoritmas, jo autoriaus vadinamas Feistel tinklu, bet ekspertų laikomas nestandartinės struktūros algoritmu.

3. SIM taikymasmetrinis šifravimo algoritmas

kriptografijos algoritmas simetrinis šifravimas

Simetriniai šifravimo būdai yra patogūs, nes norint užtikrinti aukštą duomenų perdavimo saugumo lygį, nereikia kurti ilgų raktų. Tai leidžia greitai užšifruoti ir iššifruoti didelius informacijos kiekius. Tuo pačiu metu tiek siuntėjui, tiek informacijos gavėjui priklauso tas pats raktas, todėl siuntėjo autentifikavimas tampa neįmanomas. Be to, norėdami pradėti dirbti su simetriniu algoritmu, šalys turi saugiai pasikeisti slaptu raktu, o tai lengva padaryti asmeniškai, bet labai sunku, jei reikia perduoti raktą bet kokiomis ryšio priemonėmis.

Veikimo schema naudojant simetrinį šifravimo algoritmą susideda iš šių etapų:

šalys savo kompiuteriuose įdiegia programinę įrangą, kuri užtikrina duomenų šifravimą ir iššifravimą bei pirminį slaptųjų raktų generavimą;

sugeneruojamas slaptasis raktas, kuris paskirstomas informacijos mainų dalyviams. Kartais sukuriamas vienkartinių raktų sąrašas. Tokiu atveju kiekvienam informacijos perdavimo seansui naudojamas unikalus raktas. Tokiu atveju kiekvienos sesijos pradžioje siuntėjas praneša gavėjui apie šiame pranešime naudoto rakto serijos numerį;

siuntėjas šifruoja informaciją naudodamas įdiegtą programinę įrangą, kuri įgyvendina simetrinį šifravimo algoritmą;

šifruota informacija perduodama gavėjui ryšio kanalais;

gavėjas iššifruoja informaciją naudodamas tą patį raktą kaip ir siuntėjas.

Toliau pateikiama kai kurių simetrinių šifravimo algoritmų apžvalga:

DES (duomenų šifravimo standartas). Sukurtas IBM ir plačiai naudojamas nuo 1977 m. Šiuo metu kiek pasenęs, nes jame naudojamas rakto ilgis nėra pakankamas, kad būtų užtikrintas atsparumas atakai, atliekant išsamią visų galimų raktų reikšmių paiešką. Šio algoritmo atradimas tapo įmanomas dėl spartaus kompiuterinių technologijų vystymosi, kuris nuo 1977 m. padarė didžiulį šuolį;

Trigubas DES. Tai pažangi DES versija, kuri naudoja DES algoritmą šifravimui tris kartus su skirtingais raktais. Jis yra žymiai atsparesnis įsilaužimui nei DES;

Rijndaelis. Algoritmas buvo sukurtas Belgijoje. Veikia su 128, 192 ir 256 bitų ilgio raktais. Šiuo metu kriptografijos ekspertai tam neturi priekaištų;

Skipjack. Algoritmą sukūrė ir naudojo JAV Nacionalinio saugumo agentūra. Rakto ilgis yra 80 bitų. Informacijos šifravimas ir iššifravimas atliekamas cikliškai (32 ciklai);

IDĖJA. Algoritmas yra patentuotas JAV ir daugelyje Europos šalių. Patento savininkas yra Ascom-Tech. Algoritmas naudoja ciklinį informacijos apdorojimą (8 ciklai), taikydamas jai daugybę matematinių operacijų;

RC4. Algoritmas yra specialiai sukurtas greitai užšifruoti didelius informacijos kiekius. Jis naudoja kintamo ilgio raktą (priklauso nuo reikiamo informacijos saugumo lygio) ir veikia daug greičiau nei kiti algoritmai. RC4 reiškia vadinamuosius srauto šifrus.

Pagal JAV įstatymus (Tarptautinį ginklų prekybos susitarimą), kriptografiniai įrenginiai, įskaitant programinę įrangą, priskiriami ginklų sistemoms.

Todėl eksportuojant programinės įrangos produktus, kuriuose naudojama kriptografija, reikalingas Valstybės departamento leidimas. Tiesą sakant, kriptografinių produktų eksportą kontroliuoja NSA (Nacionalinė saugumo agentūra). JAV vyriausybė labai nenoriai išduoda tokias licencijas, nes tai gali pakenkti JAV nacionaliniam saugumui. Tačiau „Hewlett-Packard“ neseniai gavo leidimą eksportuoti savo „Ver Secure“ kriptografinį rinkinį į JK, Vokietiją, Prancūziją, Daniją ir Australiją. Dabar HP šiose šalyse gali eksploatuoti sistemas, kuriose naudojamas 128 bitų Triple DES šifravimo standartas, kuris laikomas visiškai patikimu.

IŠVADA

Konkrečios intelektinės nuosavybės pasirinkimas turėtų būti pagrįstas išsamia tam tikrų apsaugos metodų stipriųjų ir silpnųjų pusių analize. Pagrįstas konkrečios apsaugos sistemos pasirinkimas apskritai turėtų būti pagrįstas kai kuriais veiksmingumo kriterijais. Deja, tinkami metodai kriptografinių sistemų efektyvumui įvertinti dar nėra sukurti.

Paprasčiausias tokio efektyvumo kriterijus yra rakto atskleidimo tikimybė arba raktų rinkinio galia. Iš esmės tai yra tas pats, kas kriptografinis stiprumas. Norėdami jį įvertinti skaitiniu būdu, taip pat galite naudoti šifro sprendimo sudėtingumą bandydami visus klavišus.

Tačiau šis kriterijus neatsižvelgia į kitus svarbius kriptosistemoms keliamus reikalavimus:

* informacijos atskleisti ar prasmingai modifikuoti, remiantis jos struktūros analize, neįmanoma,

* naudojamų saugos protokolų tobulumas,

* minimalus naudojamos pagrindinės informacijos kiekis,

* minimalus įgyvendinimo sudėtingumas (pagal mašinos operacijų skaičių), jo kaina,

* didelis efektyvumas.

Žinoma, pageidautina naudoti kai kuriuos integruotus rodiklius, kuriuose būtų atsižvelgiama į šiuos veiksnius.

Norėdami atsižvelgti į pagrindinės informacijos kainą, darbo intensyvumą ir apimtį, galite naudoti specifinius rodiklius - nurodytų parametrų santykį su šifro raktų rinkinio galia.

Renkantis ir vertinant kriptografinę sistemą dažnai yra veiksmingiau naudoti ekspertų nuomonę ir modeliavimą.

Bet kuriuo atveju pasirinktas kriptografinių metodų rinkinys turi apjungti tiek naudojimo patogumą, lankstumą ir efektyvumą, tiek patikimą informacinėje sistemoje cirkuliuojančios informacijos apsaugą nuo užpuolikų.

Elipsinės funkcijos taip pat yra simetriškas šifravimo metodas.

Elipsinės kreivės – matematiniai objektai, kuriuos matematikai intensyviai tyrinėjo nuo XVII a. N. Koblitzas ir V. Milleris nepriklausomai pasiūlė viešojo rakto kriptografines apsaugos sistemas, kurios šifravimui naudoja adityvinės elipsinės kreivės taškų grupės savybes. Šie darbai sudarė kriptografijos, paremtos elipsinės kreivės algoritmu, pagrindą.

Daugelis mokslininkų ir kūrėjų išbandė ECC algoritmo stiprumą. Šiandien ECC siūlo trumpesnį ir greitesnį viešąjį raktą, suteikiantį praktišką ir saugią technologiją, taikomą įvairiose srityse. Norint naudoti kriptografiją, pagrįstą ECC algoritmu, nereikia papildomos techninės įrangos palaikymo kriptografinio koprocesoriaus pavidalu. Visa tai leidžia mums dabar naudoti viešojo rakto kriptografines sistemas, kad sukurtume nebrangias intelektualiąsias korteles.

Bibliografija

1) Chmora A.L. Šiuolaikinė taikomoji kriptografija. 2 leidimas, ištrintas. - M.: Helios ARV, 2004. - 256 p.: iliustr.

2) A.G. Rostovcevas, N.V. Michailova Klasikinių šifrų kriptoanalizės metodai.

3) A. Salomaa Viešojo rakto kriptografija.

4) Gerasimenko V.A. Informacijos apsauga automatizuotose duomenų apdorojimo sistemose knyga. 1.-M.: Energoatomizdat. -2004.-400s.

5) Gregory S. Smithas. Duomenų šifravimo programos // PC World -2007. -Ne 3.

6) Rostovcevas A. G., Michailova N. V. Klasikinių šifrų kriptoanalizės metodai. -M.: Nauka, 2005. -208 p.

Paskelbta http://www.allbest.ru/

Panašūs dokumentai

    Simetrinių šifravimo algoritmų atsiradimo istorija. Simetrinio rakto vaidmuo užtikrinant pranešimo slaptumo laipsnį. Difuzija ir painiava kaip duomenų bitų konvertavimo metodai. Šifravimo algoritmai DES ir IDEA, pagrindiniai jų privalumai ir trūkumai.

    laboratorinis darbas, pridėtas 2013-03-18

    Duomenų šifravimo ypatumai, šifravimo paskirtis. Kriptografijos kaip mokslo samprata, pagrindiniai uždaviniai. Gama metodo, pakeitimo ir permutacijos metodo analizė. Simetrinio privataus rakto šifravimo metodai: privalumai ir trūkumai.

    kursinis darbas, pridėtas 2012-09-05

    Klasikinių kriptografinių metodų programinės įrangos diegimo principas. Šifravimo metodas naudojant Vigenère lentelę. Sukurkite teksto rengyklę „Notepad“ su šifravimo metodais. Verbalinis algoritmas ir programa šifravimo metodams.

    kursinis darbas, pridėtas 2010-01-20

    Kriptografijos istorija. Šifravimo algoritmų palyginimas, taikymas operacinėje sistemoje. Produktų analizė pasirinktinio šifravimo srityje. Įjungti arba išjungti elipsinės kreivės šifravimą. Maišos funkcijos naudojimas. Elektroninis parašas.

    kursinis darbas, pridėtas 2016-09-18

    Šifrų atsiradimas, kriptografijos raidos istorija. Natūralaus teksto ypatybių žinių taikymo metodas šifravimo reikmėms. Natūralumo nustatymo kriterijai. Simetrinių šifravimo algoritmų konstravimo metodas. Viešojo rakto kriptosistema.

    santrauka, pridėta 2013-05-31

    Kriptografija ir šifravimas. Simetrinės ir asimetrinės kriptosistemos. Pagrindiniai šiuolaikiniai šifravimo metodai. Šifravimo algoritmai: pakeitimas (pakeitimas), permutacija, gama. Kombinuoti šifravimo metodai. Programinės įrangos šifruotojai.

    santrauka, pridėta 2005-05-24

    Šifravimo proceso automatizavimas remiantis šiuolaikinėmis informacinėmis technologijomis. Kriptografinės apsaugos priemonės. Kriptografinių raktų valdymas. Simetrinio ir asimetrinio šifravimo algoritmų palyginimas. Informacijos šifravimo programos.

    kursinis darbas, pridėtas 2014-12-02

    Simetrinio šifravimo algoritmų istorija (šifravimas privačiu raktu). Kriptografinių algoritmų standartai. Atsitiktinių skaičių jutikliai, raktų generavimas. Domėjimosi sritis: kriptoanalizė. Elektroninio parašo sistemos. Atvirkštinis informacijos transformavimas.

    santrauka, pridėta 2013-12-06

    Pagrindiniai kriptografinės informacijos apsaugos metodai. Cezario šifravimo sistema su skaitmeniniu raktu. Dvigubos permutacijos algoritmai ir magiški kvadratai. El Gamal šifravimo schema. Vienos permutacijos raktu metodas. RSA duomenų šifravimo kriptosistema.

    laboratorinis darbas, pridėtas 2014-02-20

    Trumpa informacijos saugumo kriptografinių metodų raidos istorija. Šifravimo ir kriptografijos su simetriniais raktais esmė. Analitinio ir adityvinio šifravimo metodų aprašymas. Viešojo rakto kriptografijos metodai ir skaitmeniniai sertifikatai.

Šifravimo algoritmai naudojami jautriai informacijai pakeisti taip, kad jos negalėtų perskaityti pašaliniai asmenys.

Pirmieji šifrai buvo naudojami Senovės Romos, Senovės Egipto ir Senovės Graikijos laikais. Vienas iš garsiausių šifrų yra Cezario šifras. Šis algoritmas veikė taip: kiekviena raidė turi savo serijos numerį abėcėlėje, kuri perkėlė 3 USD reikšmes į kairę. Šiandien toks algoritmas nesuteikia tokios apsaugos, kokią teikė jo naudojimo metu.

Šiandien yra sukurta daug šifravimo algoritmų, įskaitant standartinius, kurie užtikrina patikimą konfidencialios informacijos apsaugą.

Šifravimo algoritmai skirstomi į simetriškas(tai apima AES, CAST, GOST, DES, Blowfish) ir asimetriškas(RSA, El-Gamal).

Simetriniai algoritmai

1 pastaba

Simetriniai šifravimo algoritmai naudoja tą patį raktą informacijai užšifruoti ir iššifruoti.

Kai perduodate šifruotą informaciją, turite perduoti ir iššifravimo raktą. Šio metodo silpnoji vieta yra duomenų perdavimo kanalas. Jei jis neapsaugotas arba jį galima paliesti, iššifravimo raktas gali tapti prieinamas užpuolikui.

Asimetriniai algoritmai

Užrašas 2

Asimetriniai algoritmai naudoja du raktus – vieną šifravimui ir kitą iššifravimui.

Kiekvienas vartotojas turi turėti raktų porą – viešąjį ir privatųjį raktą.

Šifravimo raktas

1 apibrėžimas

Šifravimo raktas yra atsitiktinė arba specialiai sukurta bitų seka, kuri yra kintamasis šifravimo algoritmo parametras.

Šifruojant tuos pačius duomenis tuo pačiu algoritmu, bet naudojant skirtingus raktus, rezultatai skiriasi.

Šifravimo programos (WinRAR, Rohos ir kt.) sukuria raktą iš vartotojo nurodyto slaptažodžio.

Šifravimo raktas gali būti skirtingo ilgio, matuojamas bitais. Didėjant rakto ilgiui, didėja teorinis šifro stiprumas. Praktikoje tai ne visada būna.

Šifravimo algoritmo stiprumas

3 pastaba

Šifravimo algoritmas laikomas stipriu, kol neįrodyta kitaip.

Šifravimo algoritmai

AES algoritmas (Rijndael)šiuo metu yra JAV federalinis šifravimo standartas. 2001 m. jį kaip standartą patvirtino Prekybos ministerija. Standartas laikomas šifruota versija, kurios bloko dydis yra 128 USD bitai. Sukurta už 1997 USD Belgijoje. Galimi raktų dydžiai yra 128 USD, 192 USD ir 256 USD bitų raktai.

Algoritmas GOST 28147-8 yra Rusijos Federacijos duomenų šifravimo ir duomenų apsaugos standartas. Tapo oficialiu standartu 1989 USD. Sukurta 1970 m. SSRS KGB Vyriausiojoje direkcijoje. Naudoja $256$ bitų rakto dydį.

Blowfish algoritmas naudoja sudėtingą raktų generavimo schemą, todėl daug sunkiau užpulti algoritmą žiauria jėga. Netinka naudoti sistemose, kuriose dažnai keičiamas raktas ir kai šifruojami nedideli duomenų kiekiai. Algoritmas geriausiai tinka sistemoms, kuriose reikia užšifruoti didelius duomenų kiekius. Sukurta už 1993 USD, naudojami raktų dydžiai nuo 32 USD iki 448 USD.

DES algoritmas buvo JAV federalinis šifravimo standartas nuo 1977 iki 2001 m. Federalinis standartas buvo priimtas 1977 USD, 2001 USD įvedus naują standartą, jis prarado savo standarto statusą. Sukurta 1972–1975 metais. IBM korporacijos tyrimų laboratorija. Naudoja $56$ bitų raktą.

CAST algoritmas tam tikru būdu yra DES algoritmo analogas. Naudoja $128$ ir $256$ bitų raktus.