Kriptogrāfija viedkartēs

Mūsdienu viedkartes funkcionalitāte nav iedomājama bez plašas kriptogrāfijas pielietošanas. Kriptogrāfijas uzdevums ir nodrošināt informācijas slepenību, kā arī autentificēt komunikāciju partneru “īstumu”.

Kriptogrāfiskie algoritmi dalās simetriskajos un asimetriskajos. Simetriskie algoritmi šifrēšanai un atšifrēšanai izmanto vienu un to pašu atslēgu. Asimetriskie algoritmi izmanto atšķirīgas atslēgas  šifrēšanai un atšifrēšanai. Parasti simetriskie algoritmi prasa daudzkārt mazāku skaitļošanas jaudu un laiku par asimetriskajiem. Asimetrisko algoritmu ideju 1976. gadā izvirzīja Whitfield Diffie un Martin E. Hellman.

Kā likums, mūsdienu viedkartēs izmantotie kriptogrāfiskie algoritmi balstās uz Auguste Kerckhoff principu. Tas nosaka, ka algoritms pats par sevi nav būtisks slepenības nodrošināšanai, bet būtiskas ir tajā izmantotās atslēgas. Līdz ar to var tikt izmantoti vispārzināmi algoritmi,  daudzi ir pat standartizēti, kas paver plašas iespējas izmantot kriptogrāfiju atvērtās sistēmās. Algoritmiem, kuri paši par sevi nav slepeni, ir jābūt lielam skaitam izmantojamo atslēgu. Viens no šifrētās informācijas “uzlaušanas”  paņēmieniem ir brutāla visu iespējamo atslēgu izmēģināšana, jo vairāk atslēgu, jo ilgāks laiks nepieciešams rezultāta iegūšanai. 

Ar kriptogrāfiju tieši saistīta ir kriptoanalīze, zinātne, kuras uzdevums ir “uzlauzt” esošās kriptogrāfiskās sistēmas, nepārlasot visas iespējamās atslēgas. Analīzes metodes ir dažādas, sākot no matemātiskās analīzes un beidzot ar šifrēšanai/atšifrēšanai nepieciešamā laika mērījumiem un analīzi.  Vispārzināmu algoritmu kriptoanalīze nodrošina kriptogrāfisko sistēmu drošību, jo atklāj to potenciāli vājos punktus.

Viedkartēs ir  būtiski, lai algoritma izpildes laiks nebūtu atkarīgs no sākuma teksta, atslēgas un kriptogrammas.

Veidojot kriptogrāfiskās sistēmas, ir jāņem vērā, ka sistēma nebūs droša ilgā laikā (ja iebrucējam ir pietiekoši ilgs laiks – gadi, pietiekošas skaitļošanas jaudas un neierobežots mēģinājumu skaits), bet tā jāveido tā, lai atslēgu “dzīves laiks” būtu īss un brutāla sistēmas uzlaušana nedod rezultātu izmantošanai nākotnē. 

Simetriskie algoritmi

DES

DES (arī DEA – data encryption algorithm, par DES - data encryption standard tas kļuva pēc standartizācijas, lieto abus apzīmējumus) ir viens no pazīstamākajiem un visplašāk lietotajiem simetriskajiem algoritmiem. Algoritmu izstrādāja IBM sadarbībā ar ASV Nacionālo Standartizācijas biroju un tas tika publicēts kā ASV standarts (FIPS pub 46) 1977. gadā. Sākotnēji algoritms tika radīts, lai to realizētu aparatūras veidā, programmas  realizācija ir sarežģītāka. Algoritms līdz šim nav uzlauzts, vienīgais veids, kā var atšifrēt kriptogrammu nezinot šifra atslēgu, ir pārlasot iespējamās atslēgas. Šodien, sakarā ar to, ka ir pieejama speciāla atslēgu pārlasīšanas aparatūra, DES tiek aizvietots ar 3DES un AES.

DES ir simetriska datu bloku šifrēšanas metode, kas apstrādā datus, sadalītus 64 bitu (8 baitu) blokos. Šifrēšanas rezultātā iegūtā kriptogramma arī ir 64 bitus garš bloks. Lai atšifrētu kriptogrammu, ir jāizmanto atšifrēšanas algoritms un tā pati šifra atslēga. Atslēgas garums ir 64 biti, lai gan reāli tiek izmantoti 56 biti – katra baita jaunākais bits kalpo paritātes kontrolei un šifrēšanas operācijā tiek ignorēts. 

Atslēga var būt jebkurš 56 bitu garš gadījuma skaitlis, ir neliels skaits “vāju” atslēgu, bet to izmantošanu var viegli ierobežot. Algoritma slepenība ir bāzēta uz šifra atslēgām.

DES izmanto tikai vienkāršas aritmētiskās un loģiskās operācijas, tāpēc algoritmu ir viegli realizēt aparatūras veidā. Sarežģītāk to ir realizēt programmā, kas prasa vairāk laika šifrēšanas operācijai. Lai DES algoritma programmu realizētu viedkartē, ir nepieciešams ~ 1 Kbaits atmiņas programmas koda glabāšanai, kā arī pēc iespējas lielāka operatīvā atmiņa (RAM), protams viedkartes mērogos.

DES princips balstās uz šifrēšanas  pamattehnoloģiju – datu sajaukšanu (confusion) un izkliedēšanu (diffusion). Datu sajaukšana nozīmē, ka kriptogrammas statistika ir saistīta ar sākuma teksta statistiku tik sarežģītā veidā, ka uzbrucējs nevar gūt no tā noderīgu informāciju. Datu izkliedēšana nozīmē, ka katrs sākuma teksta bits un katrs atslēgas bits var veidot tik daudz kombināciju, cik vispār ir iespējamo bitu.

Algoritma realizācijas shēma redzama zīmējumā. DES pamatā – DES aplis veidojas, sākuma tekstam pielietoto pārmainīšanu, kurai seko aizvietošana, šīs operācijas vada subatslēga. DES izmanto 16 apļus (round) – tas nozīmē, ka katram sākuma tekstam viena un tā pati operācija tiek veikta 16 reizes. Katrā aplī izmanto savu subatslēgu Ki.

 DES aplis

DES apļu struktūra.

DES algoritma izpildes pirmā fāze ir sākotnējā permutācija. Izmantojot zināmu datu pārmainīšanas tabulu, sākuma teksta bloka biti tiek samainīti vietām – piemēram 58. bits kļūst par pirmo, 50. bits par otro, 42. bits par trešo utt. Sākotnējā permutācija IP (initial permutation) un beigu permutācija IP-1, tas pats apgrieztā secībā pēc visu DES apļu pabeigšanas, praktiski neiespaido algoritma drošību un pamatā ir veidots, lai atvieglotu datu ielādi specializētās mikroshēmās. Šīs permutācijas ir neērti un laikietilpīgi veikt programmā ,bet vienkārši aparatūras risinājumos. Virkne DES programmas realizāciju to neizmanto. Šādu realizāciju nedrīkstētu saukt par DES, jo algoritms ir standartizēts.

Pēc sākotnējās permutācijas, izejas bloks tiek sadalīts divās 32 bitu garās  daļās – labajā (R) un kreisajā (L). Tās tiek izmantotas pirmajā DES aplī. Funkcijas f rezultāts ar XOR tiek kombinēts ar kreisās puses 32 bitiem un tā rezultāts kļūst par labās puses izejas datiem nākošajā aplī, labās puses dati Ri nākošajā aplī kļūst par kreisās puses L­­­­i+1 datiem. Šāda operācija tiek atkārtota 16 reizes, veidojot 16 DES apļus. Atšifrēšanas algoritms praktiski ir tāds pats, tikai mainās subatslēgu K­I pielietošanas kārtība.

Katrā aplī izmanto savu 48 bitu subatslēgu K­0 … K15. Subatslēgas ģenerē no šifra atslēgas nobīdot tās 56 bitus pēc algoritma.

Funkcijas f realizācija parādīta  zīmējumā. Sākumā Ri  pielieto paplašinošo pārmainīšanu, pārveidojot to par 48 bitu skaitli. Rezultātam izmantojot izslēdzošais VAI (XOR) loģisko operāciju ar 48 bitu subatslēgu iegūstam 48 bitu rezultātu. To sadala 6 bitu blokos un veic S0…S­­7 aizvietošanu, kopā 8 S bloki, iegūstot 32 bitu rezultātu. Pēc P – pārmainīšanas  funkcija f ir izpildīta un XOR ar L­i sagatavo datus nākošajam DES aplim. Gan paplašinošā pārmainīšana, gan S - aizvietošanas bloki un P - pārmainīšanas bloks ir standartizētas tabulas, kas nosaka katram ieejošajam bitam atbilstošo izejošā bita vietu.

Zīmējuma  labajā pusē attēlots subatslēgu Ki iegūšanas algoritms.  Šifra atslēgas 56 bitus sadala uz pusēm un veic to nobīdi. Nobīdes lielums katram DES aplim ir atšķirīgs. Pēc saspiedošās pārmainīšanas pielietošanas iegūstam 48 bitu subatslēgu Ki. Līdzīgi kā iepriekš arī saspiedošā pārmainīšana ir standarta tabula.  

 DES struktura

 DES funkcijas struktūra.

Šifrējot sākuma tekstu kurš ir garāks par vienu šifrēšanas bloku, var tikt lietoti dažādi paņēmieni – metodes. Lai būtu iespējams kriptogrammu atšifrēt standartizētas ir arī tās.   Saskaņā ar standartu FIPS pub 81, DES, tāpat kā citi bloku šifrēšanas algoritmi, var tikt izmantots 4 dažādos veidos (mode): ECB (electronic code book), CBC (cipher block chaining), OFB (output feedback) un CFB (cipher feedback). Pēdējos divus viedkaršu sistēmās pielieto reti.

ECB katrs izejas teksta bloks neatkarīgi no citiem tiek šifrēts ar vienu un to pašu atslēgu. Tas ir vienkāršākais DES lietošanas veids.

 ECB

 ECB darba veids bloku šifrēšanas algoritmiem.

CBC veidā šifrēšanas rezultāts var tikt izmantots tikai kā viens vesels, nevis kā atsevišķi bloki un kriptogrammā  pat pilnīgi vienādi sākuma teksta bloki dod pilnīgi atšķirīgu rezultātu. Pirms šifrēšanas, pirmajam sākuma teksta blokam tiek veikta XOR loģiskā operācija ar inicializācijas vektoru, sākuma teksta nākošajam blokam veic XOR ar iepriekšējā bloka kriptogrammu utt.. Parasti sākuma vektors ir nullvektors, bet lieto arī gadījuma skaitļus.

CBC 

CBC darba veids bloku šifrēšanas algoritmiem.

DES algoritma izpilde viedkartē ar 3,5 MHz takts frekvenci aizņem 17 ms vienam 8 baitu blokam, ar 4,9 MHz takti – 12 ms. DES realizēts aparatūras veidā veic viena bloka šifrēšanu 64 ns.

1.1.1.1    Trīskāršais DES (3-DES).

3-DES ievērojami palielina DES algoritma drošību un palielina atslēgu telpu, izmantojot trīs DES šifrēšanas operācijas  pēc kārtas. Sākuma teksts tiek šifrēts ar 1. atslēgu, pēc tam atšifrēts ar 2. atslēgu un vēlreiz šifrēts ar 1. atslēgu. Atšifrēšana notiek samainot vietām operācijas.

 3DES

Trīskāršā DES struktūra.

Ja visas atslēgas ir identiskas, tad šifrēšanas rezultāts ir tāds pats kā vienkāršā DES gadījumā. 3‑DES, kurā mijas šifrēšana un atšifrēšana, ir daudz drošāks par divkāršu šifrēšanu, lai gan kopējais atslēgas garums ir tāds pats. Pie tam 3‑DES ir savietojams ar vienkāršo DES šifrēšanu un prasa mazāk laika nekā citu algoritmu, kuros izmanto tik pat garas atslēgas, izpilde. Tāpēc šodien viedkartēs pārsvarā izmanto 3‑DES DES vietā.

Ir diezgan daudz simetrisko algoritmu, bet viedkartēs bez DES vēl ir sastopams algoritms IDEA.

Šodien arvien vairāk, un ne tikai viedkartēs, izmanto AES šifrēšanas sistēmu (sākotnēji publicēta kā Rijndael algoritms un kuru izstrādājuši Beļģu kriptogrāfi Rijmen un Daemen), kura ir standartizēta un akceptēta daudzās valstīs (arī ASV) un nodrošina daudz plašāku atslēgu telpu (izmanto 128, 192 vai 256 bitu atslēgas).

Asimetriskie algoritmi

Asimetriskie algoritmi šifrēšanai -  atšifrēšanai izmanto divas dažādas atslēgas- atslēgu pāri. Viena no tām ir publiska – vispārzināma, otra, privātā – slepena.

Asimetriskais 

Zīmējums 3.1‑6. Asimetriskās šifrēšanas princips.

Sākuma tekstu var šifrēt ar vispārzināmu publisko atslēgu un tikai adresāts, kuram ir atslēgu pāra otra puse – privātā atslēga, varēs to izlasīt. Asimetriskās šifrēšanas gadījumā atkrīt problēmas, kas ir saistītas ar drošu un slepenu simetrisko atslēgu izplatīšanu. Asimetriskā kriptogrāfija rada elektroniskā paraksta iespējas, kad tā patiesumu var pārbaudīt ikviens.

1.1.2.1    RSA algoritms.

RSA ir populārākais asimetriskās šifrēšanas algoritms, nosaukts tā izstrādātāju: Ronald L. Rivest, Adi Shamir un Leonard Adleman vārdā. Algoritms balstās uz lielu pirmskaitļu aritmētiku. Ir relatīvi viegli sareizināt divus lielus pirmskaitļus, bet ir ļoti grūti reizinājumu sadalīt pirmreizinātājos, jo vēl līdz šim tādam nolūkam nav izstrādāts efektīvs algoritms. Latvijā izmantotā drošā elektroniskā paraksta sistēma (Latvijas Pasts, LVRTC) izmanto 2048 bitu RSA atslēgas. Atslēgas garuma palielinājums par 15 bitiem dubulto laiku, kas nepieciešams rezultāta iegūšanai. Ja tiks atrasts efektīvs algoritms, tad, kā  

Viedkartēs izmantoto procesoru operatīvās atmiņas apjoms ir neliels un nepietiekams lielo starprezultātu glabāšanai. Tomēr ir metode, ko sauc par moduļa eksponencēšanu, kad starprezultāts nav garāks kā modulis. Tā ir metodes priekšrocība, kas ļauj realizēt algoritmu ar mazāku soļu skaitu un mazāku starprezultātu apjomu. Algoritma drošību tas neiespaido.

Algoritma priekšrocība ir iespēja variēt atslēgu garumus – ja ir nepieciešama lielāka drošība – var izvēlēties garāku atslēgu. Plaši lietotas tiek lietotas 1024 un 2048 bitu atslēgas. Modernākie viedkaršu procesori jau var izmanto 4096 bitu atslēgas. Tomēr šifrēšanas operācija ir pietiekoši darbietilpīga, 3,5 MHz takts frekvences procesoram tam nepieciešamas 2-3 sekundes 1024 bitu atslēgai. Viedkarte ar specializētu kriptoprocesoru, kas ir speciāli paredzēts ātrai eksponencēšanai, to paveiks ātrāk. Arī   lietojumprogrammas aizņemtais atmiņas apjoms  būs mazāks.

Citi asimetriskie algoritmi

ASV ir elektroniskā paraksta standarts DSS – digital signature standard (FIPS pub 186), kas nosaka, ka ziņojumu parakstīšanai ir jāizmanto algoritms DSA - digital signature algorithm. Eiropas Savienības elektroniskā paraksta tehniskā specifikācija pieļauj divu algoritmu izmantošanu – RSA un DSA.

DSA drošība balstās uz lielu skaitļu diskrētu logaritmēšanu. DSA realizācija ir ievērojami sarežģītāka un daudz grūtāk realizējama viedkartēs.

Daudzi viedkaršu kriptoprocesori lieto asimetrisko kriptogrāfiju, kas izmanto eliptiskās līknes. To priekšrocība ir iespēja izveidot ātras publisko atslēgu sistēmas ar nelieliem atslēgu garumiem 130 – 200 bitu.

Hash algoritmi

Asimetriskās kriptogrāfijas sarežģītības un laika patēriņa dēļ nav reāli šifrēt visu ziņojumu kopumā. Asimetrisko kriptogrāfiju izmanto, lai slepeni nosūtītu otrai pusei simetriskās sesijas šifrēšanas atslēgas, jo tās ir salīdzinoši īsas: 64 –256 biti. Asimetrisko kriptogrāfiju izmanto autentifikācijai, kad šifrēts tiek datora nosūtītais gadījuma skaitlis. Citos gadījumos tiek izmantots elektroniskā paraksta princips – izejas ziņojums tiek reducēts līdz fiksētam garumam izmantojot Hash funkcijas.

Hash funkcija ir viena virziena funkcija, kas iegūst fiksēta garuma izejas vērtību no brīva garuma sākotnējās vērtības kompresētā un neatgriezeniskā formā. Neatgriezeniskums nozīmē, ka no rezultāta nav iespējams iegūt sākotnējo vērtību. Hash funkcija pamatā tiek izmantota elektroniskā paraksta sistēmās, lai iegūtu dokumenta daidžestu, jeb kontrolskaitli , ko pēc tam šifrē ar parakstītāja privāto atslēgu. Hash funkcijām ir nepieciešamas sekojošas īpašības:

  • fiksēts rezultāta garums, kas ļauj optimizēt elektroniskā paraksta funkciju,
  • Hash funkcijai jābūt ātrai, jo ieejas vērtības lielums pieļauj plašas izmaiņas,
  • nepastāv iespēja, ka no rezultāta var iegūt sākotnējo vērtību,
  • tai ir jābūt kolīziju noturīgai – t.i. nav iespējams atrast citu sākotnējo vērtību, kas dod tādu pašu rezultātu,
  • pietiekoši garai, lai nevarētu būt divas sākotnējās vērtības, kas dod vienādu rezultātu (vismaz 128 biti).

Ir zināmas daudzas Hash funkcijas, plašāk lietotās ir SHA-1, kas ir noteikta kā ASV elektroniskajam parakstam izmantojamais daidžesta algoritms un ir standartizēts (FIPS pub 180-1) un MD5.  Abu algoritmu izmantošana ir atļauta Eiropas Savienības elektroniskā paraksta tehniskā specifikācijā.

 Atslēgu pārvalde

Kriptogrāfisko atslēgu pārvaldes mērķis ir novērst vai ierobežot iespēju, ka viedkartes Sistēma tiek izpostīta, ja viena vai vairākas atslēgas kļūst vispārzināmas.

Viena no iespējām kā paaugstināt sistēmas drošību, ir izmantot lielāku atslēgu skaitu, sadalīt autentifikācijas procesus pa karšu pielietojumiem, mainīt Sistēmā izmantotās atslēgas. Protams, tas prasa viedkartes atmiņas papildus resursus.

Sekundārās atslēgas

Viedkarte, atšķirībā no termināla, ir brīvā apgrozībā un jebkurš var to mēģināt analizēt un uzlauzt. Ja karte nesatur galvenās atslēgas, bet tikai atslēgas, kas var tikt iegūtas no kartes datiem, tad datu neautorizētas nolasīšanas un izmainīšanas varbūtība ir minimāla.

Sekundārās atslēgas tiek iegūtas izmantojot kriptogrāfijas algoritmus. Parasti tas ir DES (modificēts kā viena virziena algoritms) vai 3DES. Izmantojot galveno atslēgu un kartes individuālos datus iegūst vienu (un tikai vienu) individuālu, kartei piesaistītu atslēgu.

Atslēgu sadalīšana

Lai samazinātu risku, ka visa sistēma kopumā tiek izpostīta, tiek plaši izmantots, ka katram kartes pielietojumam ir sava atslēga  - piemēram, autentifikācijai, drošu transakciju apstiprinājumam, sakaru kanāla šifrēšanai. Tas parasti notiek izmantojot katra uzdevuma individuālās atslēgas iegūšanai  savu galveno atslēgu.

Atslēgu versijas

Kā likums, ir nepareizi apgādāt viedkarti ar vienu atslēgu komplektu visam kartes dzīves laikam. Pieņemot iespējamību, ka galvenā atslēga tiek izskaitļota vai arī kļūst citādi atklāta, tad visa Sistēmas infrastruktūra ir jāaptur, karšu izdevējam ir jāatsauc visas kartes. Atsevišķos gadījumos tas pat nav izdarāms. Šodienas sistēmās tiek veidotas iespējas, lai varētu pārslēgties uz jaunu atslēgu paaudzi. Šāda pārslēgšanas var tikt realizēta piespiedu kārtā vai arī pēc noteikta (mainīga) grafika. Tā kā galvenās atslēgas atrodas tikai terminālos, tad tikai tie ir jāapgādā ar jaunām, slepenām galvenajām atslēgām.

Dinamiskās atslēgas

Dažos pielietojumos, galvenokārt slepenu datu pārraidei un elektroniskajiem maksājumiem, izmanto dinamiskās jeb sesiju atslēgas. Viena no pusēm ģenerē gadījuma skaitli, dara to zināmu otrai pusei, un, izmantojot sekundārās atslēgas tiek iegūta sesijas simetriskā atslēga (katrā pusē atsevišķi). Šīs atslēgas tālāk tiek izmantotas datu apmaiņas sesijas sakaru šifrēšanai.

Ir iespējams arī sarežģītāks  sesijas atslēgu iegūšanas veids (specificēts X9.17).  Tam ir nepieciešams kāds sesijas vai laika atkarīgs skaitlis Ti, atslēga, kas tiek lietota tikai šim mērķim KGEN. Jebkura no pusēm var izveidot sesijai nepieciešamo atslēgu no sākuma atslēgas Ki. Viedkaršu lietojumprogrammu sesijas atslēgas tiek lietotas ļoti īsu brīdi – no dažiem simtiem ms līdz dažām sekundēm, pēc tam tās tiek izdzēstas.

Ziņojumu integritāte

Jebkurā datu pārraidē ir nepieciešama pārbaude, vai pārraidītie dati un uztvertie dati sakrīt un tie nav nejauši vai apzināti izmainīti datu pārraides kanālā. Ziņojumu integritātes pārbaudei tiek izmantoti dažādi veidi, sākot no vienkāršiem kļūdu detektēšanas kodiem ECC (Error Detection Code) līdz ziņojumu autentifikācijas kodiem MAC (Message Authentication Code), pēdējie izmanto kriptogrāfijas līdzekļus ziņojuma autentiskuma nodrošināšanai.

Visvienkāršākais un plaši lietotais ir paritātes bita pievienošana katram ziņojuma baitam. Paritātes bits tiek pievienots datu baitam atkarībā no vieninieku skaita datu baitā (pāris vai nepāris). Ja pārsūtīšanas laikā baitā rodas kļūda vienā bitā, tad mainās vieninieku skaits, ko viegli atklāj paritātes bits. Tā kā datu apmaiņa un uzglabāšana parasti tiek organizēta baitos, tad papildus bita pievienošana prasa papildus vietu. Paritātes bita izmantošana ir izdevīga, ja datu elements ir 7 biti.

Viedkartēs plašāk tiek lietota XOR (izslēdzošā VAI) kontrolsumma, bieži saukta par longitudinālās redundances pārbaudi (LRC – Longitudinal Redundancy Check) un cikliskās redundances pārbaude (CRC – Cyclic Redundancy Check).

LRC veido pirmajam datu baitam veicot XOR ar otro baitu, rezultātam atkal veic XOR ar trešo baitu utt. Iegūtā kontrolsumma tiek pievienota datu masīvam. Ja vēlreiz veic analoģisku operāciju datu masīvam kopā ar kontrolsummu, rezultāts būs 0.

CRC tiek iegūta cikliskā 8 vai16 bitu bīdes reģistrā, kura atgriezenisko saiti vada polinoms. Matemātiski tas nozīmē, ka datu masīvs tiek uzskatīts par lielu skaitli un dalīts ar polinomu. Atlikums ir kontrolsumma. Efektīvi metode ir pielietojama datu masīviem līdz 4 Kbaitiem. Lai veiktu pārbaudi, ir jāzina polinoms un bīdes reģistra parametri. Tā kā operācija tiek veikta bitu līmenī, metode ļauj atklāt bitu savstarpējās secības izmaiņas baitā, kā arī baitu secības izmaiņas.

LRC un CRC ļauj noteikt, vai saņemtie dati sakrīt ar nosūtītajiem, bet neļauj pārliecināties par to autentiskumu – to, ka izsūtītie dati nav aizvietoti ar citiem. Ļoti bieži pārliecība par datu autentiskumu un integritāti (pārliecību, ka dati nav netīši bojāti vai ļaunprātīgi pārveidoti) ir svarīgāka par datu konfidencialitāti. Metode datu integritātes nodrošināšanai ir MAC (Message Authentication Code) pievienošana ziņojumam. MAC veidošanai izmanto kriptogrāfijas algoritmus ar slepenām atslēgām, kuras ir zināmas tikai abām pusēm.

MAC veidošanai var izmantot jebkuru algoritmu un pēc būtības tas ir līdzīgs ziņojuma elektroniskajam parakstam, tomēr praksē bieži tiek izmantots DES. Simetriskā šifrēšanas algoritma izmantošana nodrošina lielu operācijas izpildes ātrumu un MAC pārbaude tiek veikta tikai divpusēji,  nevis daudzpusēji. Līdz ar to var izmantot tikai abām pusēm zināmu slepenu atslēgu.

 MAC

 MAC procedūra 

DES šifrēšana CBC veidā  sasaista visus blokus vienā ķēdē, jo nākošā bloka kriptogramma ir atkarīga no iepriekšējā rezultāta. Tāpēc kā MAC var izmantot tikai DES šifrēšanas rezultāta pēdējo bloku, tā samazinot pārraidāmo datu apjomu. Pats ziņojuma teksts tiek pārraidīts atklātā veidā.

Bauskas 58A-2, Rīga, LV-1004
tālr.: +371 67860094
fakss: +371 67605547
E-pasts: office[ at ]adi.lv
© Copyright 2016 ADI