Kriptografijos pagrindai

Kriptografija reiškia informacijos slėpimo procesą konvertuojant skaitomą tekstą į neskaitomą tekstą naudojant tam tikrą raktą ar šifravimo algoritmą.

Kriptografija saugoma informacija apima el. Laiškus, failus ir kitus neskelbtinus duomenis.

Kriptografijos tikslas yra užtikrinti, kad užšifruota informacija išlaikytų konfidencialumą, vientisumą, autentiškumą ir nepaneigimą.




Kriptografijos tipai

Šifravimas yra dviejų tipų:

  • Simetrinis šifravimas naudoja vieną raktą siunčiamai / gaunamai informacijai užšifruoti ir iššifruoti.
  • Asimetriškas šifravimas naudoja skirtingus raktus siunčiamai / gaunamai informacijai užšifruoti ir iššifruoti.


Šifras

Šifras reiškia algoritmą, kuris naudojamas šifravimui ir iššifravimui.


Šifravimo tipai yra:



Klasikiniai šifrai

  • Pakeitimo šifras yra šifras, kuriame paprastas tekstas pakeičiamas šifruotu tekstu.
  • Perkėlimo šifras yra šifras, kuriame paprastasis tekstas pertvarkomas, kad būtų sukurtas šifrinis tekstas.

Šiuolaikinis šifras


  • Raktiniai šifrai:



    • Simetrinio rakto algoritmas yra algoritmas, kuris naudoja vieną raktą šifravimui ir iššifravimui

    • Asimetrinis rakto algoritmas yra algoritmas, kuris šifravimui ir iššifravimui naudoja du raktus


  • Įvesties šifrai:



    • Blokinis šifras yra šifras, veikiantis fiksuoto dydžio duomenų blokuose, naudojant simetrišką raktą

    • Srauto šifras yra šifras, veikiantis vienu bitu vienu metu naudojant simetrišką raktą



Šifravimo algoritmai

APIE

DES yra duomenų šifravimo standartas, kuris naudoja simetrišką šifravimą. Slaptas raktas, naudojamas šifravimui ir iššifravimui, turi 64 bitus, iš kurių 56 bitai generuojami atsitiktinai, o likę 8 bitai naudojami tikrinant klaidas.


AES

AES yra simetrinio rakto algoritmas, kuris tą pačią operaciją atlieka kelis kartus. Tam naudojamas fiksuoto dydžio 128 bitų blokas ir trijų dydžių raktai: 128, 192 ir 256 bitai.

RC4, RC5, RC6

RC4 yra kintamo ilgio rakto algoritmas, veikiantis po vieną bitą ir naudojant atsitiktines permutacijas. Jis priklauso simetriškų raktų srauto šifrų grupei.

RC5 yra parametruojamas algoritmas, turintis kintamą bloko dydį, kintantį rakto dydį ir kintamą skaičių raundų. Bloko dydis gali būti vienas iš trijų: 32, 64 ir 128 bitai. Rakto dydis gali būti nuo 0 iki 2 040 bitų. Raundų skaičius gali būti nuo 0 iki 255.

RC6 yra kilęs iš RC5 ir turi dvi papildomas funkcijas: jis naudoja sveikų skaičių dauginimą ir 4 bitų registrus (RC5 naudoja 2 bitų registrus).


Dvivietis

„Twofish“ algoritmas yra blokinis šifras, kuris naudoja 128 bitų blokus ir vieną raktą šifravimui ir iššifravimui. Rakto dydis gali svyruoti nuo 0 iki 256 bitų.

DSA

DSA yra asimetriškas algoritmas, kuris naudoja ir privačius, ir viešuosius raktus. Privatus raktas nurodo, kas pasirašė pranešimą, o viešasis raktas patikrina skaitmeninį parašą. Keičiantis pranešimams tarp dviejų subjektų, kiekvienas subjektas sukuria viešąjį ir privatųjį raktą.

RSA

RSA naudoja modulines aritmetikos ir elementariųjų skaičių teorijas skaičiavimams atlikti naudojant du didelius pirminius skaičius. Tai laikoma šifravimo standartu ir todėl naudojama įvairiose programose. RSA šifravimo ir iššifravimo procese naudoja tiek asmeninius, tiek viešuosius raktus.

Diffie-Hellmanas

„Diffie-Hellman“ algoritmas naudojamas generuojant bendrąjį raktą tarp dviejų subjektų nesaugiu kanalu. Tai leidžia dviem šalims sukurti šifravimo raktą ir tada šifruoti savo srautą tuo raktu.


Pranešimo santrauka

Pranešimo santraukos funkcijos arba vienkryptės funkcijos yra naudojamos apskaičiuojant unikalų fiksuoto dydžio eilutės informacijos bloko vaizdą. Jų negalima pakeisti ir jie naudojami failo vientisumui patikrinti.

MD5 yra pranešimo santraukos algoritmas, kuris imasi savavališko ilgio įvesties ir sukuria 128 bitų pranešimo santrauką. Šis algoritmas naudojamas skaitmeninio parašo programose, tikrinant failų vientisumą ir saugant slaptažodžius.

SHA

Saugus maišos algoritmas arba SHA yra algoritmas, generuojantis kriptografiškai saugų pranešimo santrauką. Yra trys SHA algoritmų kartos: SHA-1, SHA-2 ir SHA-3. SHA-1 gamina 160 bitų, o SHA-2 ir SHA-3 - 256, 384 ir 512 bitų virškinimus.

HMAC

Maišos pagrindu sukurtas pranešimo autentifikavimo kodas arba HMAC yra pranešimo autentifikavimo kodo tipas. Jis naudoja kriptografinio rakto ir maišos funkcijos derinį, pvz., SHA-1 arba MD5. Jis naudojamas tikrinant ir tikrinant.




PKI

PKI reiškia viešojo rakto infrastruktūrą ir nurodo aparatinę įrangą, programinę įrangą, žmones, strategijas ir procedūras, kurių reikia norint valdyti skaitmeninius sertifikatus. Tai saugumo architektūra, sukurta siekiant padidinti keistinos informacijos konfidencialumą.

Pasirašytas sertifikatas yra sertifikavimo institucijų (CA) išduotas sertifikatas. Jame yra viešasis raktas ir savininko tapatybė.

Savarankiškai pasirašytas pažymėjimas yra pačių išduotas ir pasirašytas pažymėjimas. Paprastai jis naudojamas bandymų tikslais ir kitaip juo negalima pasitikėti.



El. Pašto ir disko šifravimas

Elektroninis parašas

Skaitmeninis parašas kuriamas naudojant asimetrinę kriptografiją. Jis pridedamas prie perduotų duomenų ir reiškia kriptografinį autentifikavimo būdą.

SSL

SSL reiškia „Secure Sockets Layer“ ir nurodo programos sluoksnio protokolą, kurio užduotis yra užtikrinti pranešimų perdavimo tinklu ir internetu saugumą.

TLS

TLS reiškia „Transport Layer Security“ ir nurodo protokolą, kuris užmezga saugų kliento ir serverio ryšį ir užtikrina informacijos vientisumą ir privatumą perdavimo metu.

PGP

PGP reiškia „Pretty Good Protection“ ir nurodo protokolą, naudojamą autentifikavimo ir kriptografinių duomenų šifravimui ir iššifravimui. PGP naudojamas duomenims, skaitmeniniams parašams, el. Pašto šifravimui / iššifravimui ir kitai neskelbtinai informacijai suglaudinti.

Disko šifravimas

Disko šifravimas reiškia visų diske saugomų duomenų šifravimą. Tikslas yra apsaugoti diske saugomus duomenis ir užtikrinti jų konfidencialumą.



Kriptanalizė

Kriptanalizė reiškia šifrų ir užšifruoto teksto iššifravimo procesą. Jis gali nustatyti kriptosistemų pažeidžiamumus ir taip išgauti paprastą tekstą iš užšifruotos.

Kriptanalizėje naudojami metodai:

  • Linijinė kriptanalizė naudojama blokiniuose šifruose
  • Simetrinių raktų algoritmams naudojama diferencinė kriptanalizė
  • Blokiniuose šifruose naudojama vientisa kriptanalizė

Kodo laužymo metodika

Technikos, naudojamos šifravimo algoritmo stiprumui matuoti pažeidžiant šifravimą, yra šios:

  • „Brute force“ technika bando visais įmanomais simbolių deriniais nutraukti šifravimą
  • Dažnio analizės metodika analizuoja tam tikrų simbolių atsiradimo dažnį ir remiasi tuo, kas sugadina šifravimą
  • Apgaulės ir apgaulės technika reikalauja naudoti socialinės inžinerijos metodus, norint išgauti raktus ir nutraukti šifravimą
  • Vienkartinė bloknotų technika reiškia neišardomą šifravimą, kai paprastas tekstas sujungiamas su raktu, kurį sudaro nesikartojantys simbolių rinkiniai, generuojamas atsitiktinai ir yra tokio pat ilgio, kaip ir siunčiamas pranešimas.

Kriptografijos išpuoliai


  • Tik šifruoto teksto ataka yra ataka, kurios metu užpuolikas turi šifruotų tekstų rinkinį, kurį reikia išanalizuoti, norint rasti raktą ir užšifruoti tekstą.


  • Žinomas aiškus išpuolis yra ataka, kurios metu užpuolikas turi dalį paprastojo teksto, pagal kurį jie gauna raktą.


  • Pasirinkta paprasto teksto ataka yra ataka, kurios metu užpuolikas gauna raktą analizuodamas paprastą tekstą ir atitinkamą užpuoliko sugeneruotą šifrinį tekstą.


  • Pasirinkta šifruoto teksto ataka yra ataka, kurios metu užpuolikas gauna paprastą pasirinktų šifruotų tekstų tekstą ir bando išgauti raktą.


  • Žiaurios jėgos ataka yra ataka, kurios metu visi įmanomi raktų deriniai bandomi su šifruotu tekstu, kol bus rastas tinkamas raktas. Ši ataka reikalauja daug laiko ir apdorojimo galios.


  • Žodyno išpuoliai yra ataka, kurios metu užpuolikas sukuria paprastojo teksto ir jo šifruoto teksto žodyną ir tada naudoja tą žodyną, kad sugadintų šifravimą.