Crystalgraphy. Mifumo ya ulinganifu ya crypto

Mifumo ya ulinganifu ya crypto

Mifumo ya siri linganifu (pia usimbaji linganifu, misimbo linganifu) ni mbinu ya usimbaji fiche ambapo ufunguo sawa wa kriptografia hutumiwa kwa usimbaji fiche na usimbuaji. Kabla ya uvumbuzi wa mpango wa usimbaji fiche usiolinganishwa, njia pekee iliyokuwepo ilikuwa usimbaji fiche linganifu. Ufunguo wa algoriti lazima uwe siri na pande zote mbili. Kitufe cha algorithm kinachaguliwa na wahusika kabla ya ubadilishanaji wa ujumbe kuanza.

Hivi sasa, misimbo linganifu ni:

1. Zuia misimbo - mchakato wa habari katika vitalu vya urefu fulani (kawaida 64, 128 bits), ukitumia ufunguo wa kuzuia kwa utaratibu uliowekwa, kwa kawaida kupitia mizunguko kadhaa ya kuchanganya na uingizwaji, inayoitwa pande zote. Matokeo ya kurudia raundi ni athari ya anguko - upotezaji unaoongezeka wa mawasiliano kati ya vizuizi vya data wazi na iliyosimbwa.

2. Tiririsha misimbo - ambamo usimbaji fiche unafanywa kwa kila biti au baiti ya maandishi asilia (wazi) kwa kutumia gamma. Cipher ya mkondo inaweza kuundwa kwa urahisi kulingana na block cipher (kwa mfano, GOST 28147-89 katika hali ya gamma), iliyozinduliwa kwa hali maalum.

Mfumo wa kriptografia ya ufunguo wa umma

Mfumo wa siri wa ufunguo wa umma (au usimbaji fiche wa Asymmetric, Asymmetric cipher) ni mfumo wa usimbaji wa habari ambao ufunguo ambao ujumbe umesimbwa kwa njia fiche na ujumbe wenyewe uliosimbwa hupitishwa kupitia chaneli iliyo wazi (yaani, isiyolindwa, inayoonekana). Mpokeaji hutumia ufunguo wa faragha kutengeneza ufunguo wa umma na kusoma ujumbe uliosimbwa. Mifumo ya siri ya ufunguo wa umma kwa sasa inatumika sana katika itifaki mbalimbali za mtandao, hasa katika itifaki ya SSL na itifaki za kiwango cha programu HTTPS, SSH, n.k. kulingana nayo.

Mchele. 7.

1. Mpokeaji hutoa ufunguo. Ufunguo umegawanywa katika sehemu iliyo wazi na iliyofungwa. Katika kesi hii, ufunguo wa umma haupaswi kupitishwa kwenye chaneli iliyo wazi. Au uhalisi wake lazima uhakikishwe na mamlaka fulani inayoidhinisha.

2. Mtumaji husimba ujumbe kwa njia fiche kwa kutumia kitufe cha umma.

3. Mpokeaji anasimbua ujumbe kwa kutumia ufunguo wa faragha.

Ubaya wa mbinu: Ingawa ujumbe umesimbwa kwa njia salama, mpokeaji na mtumaji wanafichuliwa na ukweli wa kutuma ujumbe uliosimbwa.

Wazo la jumla la mfumo wa siri wa ufunguo wa umma ni kutumia, wakati wa kusimba ujumbe, kazi kama hiyo kutoka kwa ufunguo wa umma na ujumbe (kazi ya cipher), ambayo ni ngumu sana kugeuza kinyume chake, yaani, kuhesabu hoja yake. kutoka kwa thamani ya chaguo la kukokotoa, hata kujua thamani ya ufunguo.

Vipengele vya Mfumo

Faida Faida ya ciphers asymmetric juu ya ciphers symmetric ni kwamba hakuna haja ya kusambaza ufunguo wa siri. Mhusika anayetaka kupokea maandishi ya siri, kwa mujibu wa kanuni iliyotumika, hutengeneza jozi ya "ufunguo wa umma - ufunguo wa faragha". Maadili muhimu yanahusiana, lakini kuhesabu thamani moja kutoka kwa mwingine inapaswa kuwa haiwezekani kutoka kwa mtazamo wa vitendo. Ufunguo wa umma huchapishwa katika saraka zilizo wazi na hutumiwa kusimba maelezo na mshirika kwa njia fiche. Ufunguo wa faragha huwekwa siri na hutumika kusimbua ujumbe uliotumwa kwa mwenye jozi ya funguo. Sifa zisizolinganishwa zilianzishwa mnamo 1976 na Whitfield Diffie na Martin Hellman, Mielekeo Mipya katika Uandikaji wa Kisasa. Walipendekeza mfumo wa ubadilishanaji wa ufunguo wa siri ulioshirikiwa kulingana na shida ya logarithm tofauti. Kwa ujumla, msingi wa cryptosystems inayojulikana ya asymmetric ni mojawapo ya matatizo magumu ya hisabati, ambayo inaruhusu ujenzi wa kazi za njia moja na kazi za mtego. Kwa mfano, mfumo wa kificho wa Rivest-Shamir-Adelman hutumia tatizo la uanzishaji wa idadi kubwa, na mifumo ya siri ya Merkle-Hellman na Hoare-Rivest inategemea kile kinachoitwa tatizo la knapsack.

Mapungufu- mifumo ya kriptografia isiyolinganishwa inahitaji rasilimali kubwa zaidi za kompyuta. Kwa kuongeza, ni muhimu kuhakikisha uhalisi (ukweli) wa funguo za umma wenyewe, ambazo vyeti hutumiwa kwa kawaida.

Mfumo wa mseto (au pamoja) ni mfumo wa usimbuaji ambao una faida zote za mfumo wa ufunguo wa umma, lakini bila shida yake kuu - kasi ya chini ya usimbuaji.

Kanuni: Mifumo ya kriptografia inachukua fursa ya mifumo miwili kuu ya kriptografia: kriptografia linganifu na isiyolinganishwa. Programu kama vile PGP na GnuPG zimejengwa juu ya kanuni hii.

Hasara kuu Usimbaji fiche usiolinganishwa una sifa ya kasi ya chini kutokana na ukokotoaji changamano unaohitajika na algoriti zake, huku usimbaji fiche linganifu kwa kawaida unaonyesha utendakazi mzuri. Walakini, mifumo ya ulinganifu ya cryptosystems ina drawback moja muhimu - matumizi yao yanahitaji uwepo wa njia salama ya kusambaza funguo. Ili kuondokana na kasoro hii, wanaamua kutumia mifumo ya siri ya asymmetric ambayo hutumia jozi ya funguo: za umma na za kibinafsi.

Usimbaji fiche: Mifumo mingi ya usimbaji fiche hufanya kazi kama ifuatavyo. Kwa algorithm ya ulinganifu (3DES, IDEA, AES au nyingine yoyote), ufunguo wa random hutolewa. Ufunguo kama huo kawaida una ukubwa kutoka kwa bits 128 hadi 512 (kulingana na algorithm). Algorithm ya ulinganifu hutumika kusimba ujumbe kwa njia fiche. Katika kesi ya kuzuia ciphers, ni muhimu kutumia hali ya usimbuaji (kwa mfano, CBC), ambayo itawawezesha ujumbe kusimbwa kwa urefu zaidi ya urefu wa kuzuia. Kuhusu ufunguo wa nasibu wenyewe, ni lazima usimbwe kwa njia fiche kwa ufunguo wa umma wa mpokeaji ujumbe, na ni katika hatua hii ambapo mfumo wa siri wa ufunguo wa umma (RSA au Diffie-Hellman Algorithm) unatumika. Kwa kuwa ufunguo wa nasibu ni mfupi, usimbaji fiche huchukua muda kidogo. Kusimba kwa njia fiche seti ya ujumbe kwa kutumia algoriti isiyolinganishwa ni kazi ngumu zaidi kwa hesabu, kwa hivyo ni vyema kutumia usimbaji linganifu. Kisha inatosha kutuma ujumbe uliosimbwa na algorithm ya ulinganifu, pamoja na ufunguo unaofanana katika fomu iliyosimbwa. Mpokeaji kwanza anasimbua ufunguo kwa kutumia ufunguo wake wa faragha, na kisha hutumia ufunguo unaotokana kupokea ujumbe wote.

Sahihi ya dijiti hutoa:

* Utambulisho wa chanzo cha hati. Kulingana na maelezo ya ufafanuzi wa hati, sehemu kama vile "mwandishi", "mabadiliko yaliyofanywa", "muhuri wa wakati", n.k. zinaweza kusainiwa.

* Ulinzi dhidi ya mabadiliko ya hati. Mabadiliko yoyote ya bahati mbaya au ya kimakusudi kwa hati (au saini) yatabadilisha msimbo, kwa hivyo, saini itakuwa batili.

Vitisho vifuatavyo vya sahihi vya dijitali vinawezekana:

*Mshambulizi anaweza kujaribu kughushi saini kwa hati anayoipenda.

*Mshambulizi anaweza kujaribu kulinganisha hati na sahihi fulani ili sahihi ilingane nayo.

Unapotumia kitendakazi dhabiti cha msimbo, ni vigumu kukokotoa kuunda hati ghushi yenye misimbo sawa na ile halisi. Hata hivyo, matishio haya yanaweza kutekelezwa kwa sababu ya udhaifu katika algoriti maalum za kuweka akiba, saini au hitilafu katika utekelezaji wake. Walakini, vitisho vifuatavyo kwa mifumo ya sahihi ya dijiti pia vinawezekana:

*Mshambulizi anayeiba ufunguo wa faragha anaweza kutia sahihi hati yoyote kwa niaba ya mmiliki wa ufunguo.

*Mshambulizi anaweza kumlaghai mmiliki kutia sahihi hati, kwa mfano kwa kutumia itifaki ya sahihi ya upofu.

*Mshambulizi anaweza kubadilisha ufunguo wa umma wa mmiliki na kuweka ufunguo wake mwenyewe, akimwiga.

Utangulizi

Tatizo la kulinda habari kwa kuzibadilisha ili zisisomwe na mtu wa nje limesumbua akili ya mwanadamu tangu zamani. Historia ya kriptografia inaambatana na historia ya lugha ya mwanadamu. Isitoshe, uandishi wenyewe hapo awali ulikuwa mfumo wa kriptografia, kwa kuwa katika jamii za zamani ni wachache waliochaguliwa walioujua vizuri.

Mifumo ya kriptografia ilikua haraka wakati wa miaka ya Vita vya Kwanza na vya Pili vya Dunia. Kuanzia kipindi cha baada ya vita hadi siku ya leo, ujio wa kompyuta umeharakisha maendeleo na uboreshaji wa mbinu za kriptografia.

Kwa nini shida ya kutumia njia za siri katika mifumo ya habari (IS) imekuwa muhimu sana kwa sasa?

Kwa upande mmoja, matumizi ya mitandao ya kompyuta yamepanuka, haswa Mtandao wa kimataifa, ambapo habari nyingi za hali ya serikali, kijeshi, kibiashara na kibinafsi hupitishwa, kuzuia watu wasioidhinishwa kuzipata.

Kwa upande mwingine, kuibuka kwa kompyuta mpya zenye nguvu, mtandao na teknolojia za kompyuta za neva kumefanya iwezekane kudharau mifumo ya kriptografia ambayo hadi hivi majuzi ilizingatiwa kuwa haiwezi kuvunjika.

Cryptology (kryptos - siri, nembo - sayansi) inahusika na shida ya kulinda habari kwa kuibadilisha. Cryptology imegawanywa katika maeneo mawili - kriptografia Na uchambuzi wa siri. Malengo ya mwelekeo huu ni kinyume moja kwa moja.

Crystalgraphy inashiriki katika utafutaji na utafiti wa mbinu za hisabati za kubadilisha habari.

Uchambuzi wa siri- inachunguza uwezekano wa kusimbua habari bila kujua funguo.

Njia za Cryptographic za ulinzi wa habari- hizi ni njia maalum za usimbuaji, usimbuaji au mabadiliko mengine ya habari, kama matokeo ambayo yaliyomo ndani yake hayapatikani bila uwasilishaji wa ufunguo wa cryptogram na mabadiliko ya nyuma. Njia ya ulinzi ya cryptographic ni, bila shaka, njia ya kuaminika zaidi ya ulinzi, kwani habari yenyewe inalindwa, na si kuipata. Njia hii ya ulinzi inatekelezwa kwa namna ya programu au vifurushi vya programu.


Crystalgraphy

cryptography ya kisasa inajumuisha sehemu kuu nne:

1. Mifumo ya ulinganifu ya crypto. Katika mifumo ya siri ya ulinganifu, ufunguo sawa hutumiwa kwa usimbaji fiche na usimbuaji;

2. Mifumo ya ufunguo wa umma. Mifumo ya vitufe vya umma hutumia funguo mbili, ufunguo wa umma na ufunguo wa kibinafsi, ambazo zinahusiana kihisabati. Taarifa imesimbwa kwa kutumia ufunguo wa umma, unaopatikana kwa kila mtu, na kufutwa kwa kutumia ufunguo wa faragha, unaojulikana tu kwa mpokeaji wa ujumbe;

3. Sahihi ya elektroniki. Mfumo wa saini ya kielektroniki ni mabadiliko ya kriptografia yaliyounganishwa na maandishi, ambayo inaruhusu, wakati mtumiaji mwingine anapokea maandishi, kuthibitisha uandishi na uhalisi wa ujumbe.

4. Usimamizi muhimu. Huu ni mchakato wa mifumo ya usindikaji wa habari, yaliyomo ambayo ni mkusanyiko na usambazaji wa funguo kati ya watumiaji.

Maeneo makuu ya matumizi ya mbinu za cryptographic ni uhamisho wa habari za siri kupitia njia za mawasiliano, kuanzisha uhalisi wa ujumbe unaopitishwa, kuhifadhi habari kwenye vyombo vya habari katika fomu iliyofichwa.

Kwa hivyo, cryptography inafanya uwezekano wa kubadilisha habari kwa njia ambayo usomaji wake (kurejesha) unawezekana tu ikiwa ufunguo unajulikana.

Maelezo yatakayosimbwa na kusimbwa yatakuwa maandishi yaliyojengwa juu ya baadhi alfabeti. Maneno haya yanamaanisha yafuatayo.

Alfabeti- seti fupi ya herufi zinazotumiwa kusimba habari.

Maandishi- seti iliyoagizwa ya vipengele vya alfabeti.

Usimbaji fiche- Mchakato wa mabadiliko: maandishi asilia, ambayo pia inaitwa maandishi wazi, inabadilishwa maandishi yaliyosimbwa.

Usimbuaji- mchakato wa nyuma wa usimbuaji. Kulingana na ufunguo, maandishi ya siri yanabadilishwa kuwa ya asili.

Ufunguo - habari muhimu kwa usimbuaji laini na usimbuaji wa maandishi.

Cryptosystems imegawanywa katika ulinganifu Na na ufunguo wa umma.

KATIKA mifumo ya kriptografia linganifu hutumika kwa usimbaji fiche na usimbuaji ufunguo sawa.

KATIKA mifumo muhimu ya umma funguo mbili zinatumika - wazi Na imefungwa, ambazo zinahusiana kihisabati. Taarifa husimbwa kwa njia fiche kwa kutumia ufunguo wa umma, unaopatikana kwa kila mtu, na kusimbwa kwa kutumia ufunguo wa faragha, unaojulikana tu na mpokeaji wa ujumbe.

Masharti usambazaji muhimu Na usimamizi muhimu rejea michakato ya mfumo wa usindikaji wa habari, maudhui ambayo ni mkusanyiko na usambazaji wa funguo kati ya watumiaji.

Saini ya kielektroniki (digital). inaitwa mabadiliko ya kriptografia iliyoambatanishwa na maandishi, ambayo inaruhusu, wakati maandishi yamepokelewa na mtumiaji mwingine, kuthibitisha uandishi na uhalisi wa ujumbe.

Nguvu ya kriptografia ni sifa ya msimbo unaoamua upinzani wake kwa usimbuaji bila kujua ufunguo. Kuna viashiria kadhaa vya nguvu ya kriptografia, pamoja na:

· idadi ya funguo zote zinazowezekana;

· muda wa wastani unaohitajika kwa uchanganuzi wa siri.

Mifumo ya ulinganifu ya crypto

Aina nzima ya njia zilizopo za kriptografia zinaweza kupunguzwa kwa madarasa yafuatayo ya mabadiliko:

Aina rahisi zaidi ya ugeuzaji inajumuisha kubadilisha herufi katika matini chanzi na nyingine (za alfabeti sawa) kulingana na kanuni changamano zaidi au chache. Ili kuhakikisha nguvu ya juu ya kriptografia, matumizi ya funguo kubwa inahitajika.

· Mipangilio upya.

Pia njia rahisi ya ubadilishaji wa kriptografia. Kawaida hutumiwa pamoja na njia zingine.

Kupanga upya - herufi za maandishi yaliyosimbwa hupangwa upya kulingana na sheria fulani ndani ya kizuizi fulani cha maandishi yaliyopitishwa.

· Gumming.

Mbinu hii inajumuisha kuweka juu juu ya maandishi chanzo baadhi ya mlolongo wa uwongo-nasibu uliotolewa kulingana na ufunguo.

Ubadilishaji wa uchanganuzi - maandishi yaliyosimbwa kwa njia fiche hubadilishwa kulingana na kanuni fulani za uchanganuzi, kwa mfano gamma - inajumuisha kuweka kwenye maandishi chanzo mlolongo fulani wa uwongo-nasibu unaozalishwa kulingana na ufunguo.

· Zuia misimbo.

Ugeuzaji uliochanganywa - unawakilisha mlolongo wa mbinu za kimsingi za ugeuzaji zinazotumika kwenye kizuizi cha maandishi ya siri. Kwa mazoezi, block ciphers ni ya kawaida zaidi kuliko mabadiliko "safi" ya darasa moja au nyingine kutokana na nguvu zao za juu za kriptografia. Viwango vya usimbuaji wa Kirusi na Amerika vinategemea darasa hili.

· Uingizwaji.

Uingizwaji - herufi katika maandishi ya siri hubadilishwa na herufi kutoka kwa alfabeti sawa au nyingine kulingana na sheria iliyoamuliwa mapema.


Taarifa zinazohusiana.


¦ Kanuni na viwango vya usimbaji fiche

¦ Sahihi ya kielektroniki ya kidijitali

¦ Teknolojia za kisasa za uthibitishaji. Kadi za Smart

Cryptography ni sayansi ya mbinu za hisabati za kuhakikisha usiri (kutowezekana kwa habari ya kusoma na wageni) na uhalisi (uadilifu na uhalisi wa uandishi) wa habari. Kwa maneno mengine, usimbaji fiche huchunguza mbinu za usimbaji habari, yaani, mbinu za ulinzi wa data zinazotumiwa kuhifadhi taarifa muhimu katika vyanzo visivyoaminika au kuzisambaza kwenye njia zisizo salama za mawasiliano.

Usimbaji fiche kama mchakato unarudi nyuma karne nyingi. Kwa hivyo, misimbo mbadala imekuwepo kwa takriban miaka 2500. Mfano wa kushangaza wa hii ni msimbo wa Atbash, ambao ulitokea karibu 600 BC. Kiini cha kazi yake kilikuwa kutumia alfabeti ya Kiebrania kwa mpangilio wa kinyume. Julius Caesar pia alitumia cipher badala, ambayo iliitwa baada yake - cipher Kaisari. Kiini cha msimbo wa Kaisari kilikuwa kuchukua nafasi ya kila herufi kwa herufi nyingine katika alfabeti, sehemu tatu zaidi kutoka ile ya awali. Kwa hivyo, barua A iligeuka kuwa D, B iligeuka kuwa E, nikageuka kuwa G, nk.

Bila shaka, usimbuaji unaweza kuitwa moja ya zana muhimu zaidi za usalama. Walakini, hatupaswi kusahau kuwa usimbuaji yenyewe sio suluhisho la shida zote. Mbinu za usimbaji fiche zinaweza na zinapaswa kuwa sehemu ya mpango wa kina wa usalama.

Kulingana na kanuni za kitamaduni za usalama wa habari, usimbuaji huhakikisha hali tatu za msingi za usalama wa habari.

¦ Usiri. Usimbaji fiche hutumiwa kuficha taarifa kutoka kwa watumiaji wasioidhinishwa wakati wa kutuma au kuhifadhi.

¦ Uadilifu. Usimbaji fiche hutumiwa kuzuia taarifa zisibadilishwe wakati wa kutuma au kuhifadhi. Mfano wa kushangaza ni hundi iliyopatikana kwa kutumia kazi ya heshi (kinachoweza kuonekana kwenye seva za FTP karibu na faili (kitu kama hiki - dpofgj 0 93utm34tdfgb45ygf) ambacho tutapakua).

¦ Utambulisho. Usimbaji fiche hutumiwa kuthibitisha chanzo cha habari na kuzuia mtumaji wa habari kukataa ukweli kwamba data ilitumwa nao.

Inajulikana kuwa mfumo wowote wa usimbaji fiche unaweza kudukuliwa. Jambo pekee ni kwamba kupata ufikiaji wa habari iliyolindwa kwa usimbaji fiche kunaweza kuhitaji wakati na rasilimali nyingi zisizokubalika.

Hii inamaanisha nini na inaonekanaje katika maisha halisi? Hebu fikiria hali hii: mshambulizi kwa namna fulani aliweza kunasa habari iliyosimbwa. Vitendo zaidi vya mdukuzi vinaweza kupunguzwa hadi chaguzi mbili za utapeli (ya tatu pia inawezekana, ambayo inajitokeza kwa kutumia udhaifu katika mazingira ya kazi):

¦ shambulio la "brute force", au Brute Force (mashambulizi ya "brute force" inamaanisha uteuzi wa chaguzi zote muhimu zinazowezekana);

¦ tafuta udhaifu katika kanuni.

Kwa kuzingatia ukweli kwamba algorithms ya usimbaji iliyotumiwa sasa tayari imejaribiwa kwa moto na wakati, ni dhahiri kabisa kwamba mshambuliaji atatumia Nguvu ya Brute. Utapeli wa habari ya siri iliyosimbwa kwa algorithm yenye nguvu na ufunguo mrefu wa kutosha (kwa mfano, bits 512) itahitaji mdukuzi kutumia "jeshi" la kompyuta kubwa au mtandao wa usambazaji wa mashine laki kadhaa, pamoja na muda mwingi na pesa. Lakini ikiwa una pesa, basi kwa nini usiwe! Kwa hiyo, mwaka wa 1997, Electronic Frontier Foundation (EFF) ilitangaza mfumo wa kompyuta ambao unaweza kupata ufunguo wa DES katika siku nne. Mfumo huo uligharimu kampuni $250,000 kuunda. Kwa vifaa vya kisasa, ufunguo wa DES unaweza kutambuliwa kupitia shambulio la nguvu ndani ya dakika 35.

2.1. Kanuni na viwango vya usimbaji fiche

Kulingana na funguo zilizotumiwa, usimbaji fiche unaweza kugawanywa katika aina zifuatazo.

¦ Usimbaji fiche linganifu, ambapo ufunguo wa usimbaji na usimbuaji ni ufunguo sawa (katika kiwango cha kawaida - nenosiri tu).

¦ Usimbaji fiche usio na usawa: unahusisha matumizi ya vitufe viwili tofauti - vya umma na vya faragha. Ufunguo wa umma kawaida hutumwa kwa maandishi wazi, wakati ufunguo wa faragha huwa siri kila wakati.

Aina zingine za usimbaji fiche pia zinajulikana, kama vile uandishi wa siri. Kwa sababu zinazojulikana, algorithms ya uandishi wa siri sio ya umma: algorithm ya usimbuaji yenyewe haijulikani kwa watu wa nje; Sheria ya mabadiliko inajulikana tu kwa mtumaji na mpokeaji wa ujumbe. Pedi za wakati mmoja zinaweza kuchukuliwa kuwa moja ya mifano ya kushangaza ya mifumo hiyo. Pedi za wakati mmoja (Padi ya Wakati Mmoja, au OTP) zinaweza kuitwa mfumo pekee wa usimbaji fiche usioweza kuvunjika kinadharia. Pedi ya mara moja ni orodha ya nambari kwa mpangilio nasibu zinazotumiwa kusimba ujumbe. Kama jina linavyopendekeza, OTP inaweza kutumika mara moja pekee. Pedi za wakati mmoja hutumiwa sana katika mazingira ya habari na kiwango cha juu cha usalama (lakini kwa ujumbe mfupi tu). Kwa hivyo, katika Umoja wa Kisovyeti, OTP ilitumiwa kuunganisha maafisa wa akili na Moscow.

Usimbaji fiche linganifu

Kama ilivyoelezwa hapo juu, kwa usimbaji fiche wa ulinganifu, ufunguo huo hutumiwa kusimba na kusimbua data. Ni wazi kwamba ufunguo wa algorithm lazima uhifadhiwe kwa siri na pande zote mbili. Kwa maneno rahisi, katika kesi hii ufunguo unamaanisha nenosiri, ambalo, bila shaka, lazima lihifadhiwe siri.

Algoriti maarufu za usimbaji linganifu ni:

¦ DES (iliyopitwa na wakati kwa kiasi kikubwa) na TripleDES (3DES);

¦ AES (Rijndael);

¦ GOST 28147-89;

Vigezo kuu vya usimbaji fiche wa ulinganifu vinaweza kuzingatiwa:

¦ kudumu;

¦ urefu wa ufunguo;

¦ idadi ya mizunguko;

¦ urefu wa kizuizi kilichochakatwa;

¦ utata wa utekelezaji wa maunzi/programu.

Kwa hiyo, hebu tuanze.

Kiwango cha Usimbaji Data (DES). Algorithm ya Kiwango cha Usimbaji Data (DES) ilitengenezwa na IBM mapema miaka ya 1970. Taasisi ya Kitaifa ya Viwango na Teknolojia ya Marekani (NIST) ilipitisha algoriti (uchapishaji wa FIPS 46) kwa ajili ya DES mwaka wa 1977. Algorithm ilibadilishwa zaidi mnamo 1983, 1988, 1993 na 1999.

Hadi hivi majuzi, DES ilikuwa "kiwango cha Marekani" kwa sababu serikali ya nchi hiyo ilipendekeza matumizi yake kwa mifumo mbalimbali ya usimbaji data. Walakini, licha ya ukweli kwamba DES ilipangwa kutumika kwa si zaidi ya miaka 10-15, majaribio ya kuibadilisha yalianza mnamo 1997 tu.

DES hutumia kitufe cha 56-bit. Kwa viwango vya leo, urefu wa ufunguo kama huo haukubaliki. DES ni algoriti ya usimbaji fiche ambayo huchakata block moja ya 64-bit ya maandishi wazi kwa wakati mmoja. Algoriti ya DES hufanya mizunguko 16 ya usimbaji fiche kwa kutumia kitufe kidogo tofauti katika kila mzunguko. Ufunguo uko chini ya algorithm yake mwenyewe kuunda funguo ndogo 16 (Mchoro 2.1).

Mchele. 2.1. Mpango wa uendeshaji wa DES

Hebu fikiria uendeshaji wa algorithm kwa undani zaidi. Kizuizi cha data ya pembejeo, kilicho na biti 64, kinabadilishwa kuwa kizuizi cha pato cha urefu sawa. Ufunguo wa usimbaji fiche lazima ujulikane kwa wahusika wanaotuma na wanaopokea. Algorithm hutumia sana vibali vya biti za maandishi.

Chaguo za kukokotoa F huletwa ambayo hufanya kazi kwa maneno chanzo-32 ® na hutumia kitufe cha 48-bit (J) kama kigezo. Mchoro wa uendeshaji wa kazi F unaonyeshwa kwenye Mtini. 2.1. Kwanza, bits 32 za pembejeo zinapanuliwa hadi 48, na bits kadhaa vikirudiwa.

Kwa msimbo na ufunguo wa 48-bit, operesheni ya kuongeza modulo-2 inafanywa. Nambari inayotokana ya 48-bit inabadilishwa kuwa 32-bit kwa kutumia S-matrices.

Nambari ya asili ya 48-bit imegawanywa katika vikundi nane vya bits sita. Nambari za kwanza na za mwisho kwenye kikundi hutumiwa kama anwani ya safu mlalo, na nambari nne za kati zinatumika kama anwani ya safu wima. Matokeo yake, kila bits sita za msimbo hubadilishwa kuwa bits nne, na kanuni nzima ya 48-bit inabadilishwa kuwa 32-bit (hii inahitaji S-matrices nane). Kuna maendeleo ambayo yanawezesha kufanya usimbaji fiche ndani ya kiwango cha DES katika maunzi, ambayo hutoa utendakazi wa hali ya juu.

Ili bado kuelewa ugumu wote wa algoriti ya DES, itakuwa sahihi kabisa kutoa maelezo ya mtandao unaoitwa Feishtel (wakati mwingine huitwa mtandao wa Feistel), ambao ndio msingi wa DES.

Mnamo 1973, Horst Feistel alichapisha makala katika Scientific American yenye kichwa “Cryptografia na Faragha ya Kompyuta,” ambamo alifichua baadhi ya vipengele muhimu vya usimbaji fiche na pia akaanzisha muundo ambao baadaye uliitwa mtandao wa Feistel. Mzunguko huu ulitumiwa katika mradi wa Lucifer wa IBM, ambao Feistel na Don Coppersmith walifanya kazi. Mradi huu ulikuwa wa majaribio, lakini ukawa msingi wa Kiwango cha Usimbaji Data (DES). Muundo wa kurudia wa algorithm ulifanya iwezekane kurahisisha utekelezaji wake katika mazingira ya vifaa.

Inafaa kutambua kwamba misimbo ifuatayo ya block hutumia mtandao wa zamani au uliorekebishwa wa Feishtel kama msingi wao: Blowfish, Camellia, CAST, DES, FEAL, GOST 28147-89, KASUMI, LOKI97, Lucifer, MacGuffin, MARS, MAGENTA, MISTY1, RC2 , RC5, RC6, Skipjack, TEA, Triple DES, Twofish, XTEA.

TripleDES (3DES). Ukosefu wa utulivu wa DES ulisababisha utaftaji wa njia mbadala. Mnamo 1992, utafiti ulionyesha kuwa DES inaweza kutumika mara tatu kutoa usimbaji fiche wenye nguvu zaidi. Hivi ndivyo DES (3DES) mara tatu ilizaliwa. Triple DES hutumiwa na funguo mbili au tatu. Ufunguo unaotumiwa katika kesi hii hutoa nguvu kubwa ikilinganishwa na DES ya kawaida.

Kiwango cha Juu cha Usimbaji Fiche (AES). Muda mfupi baada ya kutolewa kwa DES, udhaifu wa dhahiri wa algorithm uligunduliwa. Uhitaji wa kiwango kipya ulikuwa zaidi ya dhahiri: urefu mdogo wa ufunguo wa DES (bits 56) ulifanya iwezekanavyo kutumia njia ya nguvu ya brute dhidi ya algorithm hii. Kwa kuongeza, usanifu wa DES ulizingatia utekelezaji wa vifaa, na utekelezaji wa programu ya algorithm kwenye majukwaa yenye rasilimali ndogo haukutoa utendaji unaohitajika. Marekebisho ya TDES yalikuwa na urefu wa ufunguo wa kutosha, lakini ilikuwa polepole zaidi. TDES haijakuwepo kwa muda wa kutosha kusema kwamba kanuni ni thabiti na inategemewa. Ilibadilishwa, kama inavyotarajiwa, na algorithm thabiti zaidi na ya kuaminika - AES, ambayo, kwa njia, ilichaguliwa kama matokeo ya ushindani na kupitishwa kama kiwango cha usimbuaji wa Amerika na serikali ya Amerika. Kidogo kuhusu mashindano yenyewe.

Mnamo Januari 2, 1997, NIST (Taasisi ya Kitaifa ya Viwango na Teknolojia) ilitangaza nia yake ya kupata mbadala wa DES, ambayo imekuwa kiwango cha Amerika tangu 1977. NIST imepokea kiasi cha kutosha cha ingizo kutoka kwa wahusika kuhusu jinsi algoriti inapaswa kuchaguliwa. Mwitikio amilifu kutoka kwa jumuiya ya wazi ya usimbaji fiche ulisababisha kutangazwa kwa shindano hilo mnamo Septemba 12, 1997. Algorithm inaweza kupendekezwa na karibu shirika au kikundi chochote cha watafiti. Mahitaji ya chini ya kiwango kipya yalikuwa kama ifuatavyo:

¦ lazima iwe block cipher;

¦ urefu wa block lazima iwe biti 128;

¦ kanuni lazima ifanye kazi na funguo za urefu wa biti 128, 192 na 256;

¦ tumia utendakazi unaotekelezwa kwa urahisi katika maunzi (katika microchips) na programu (kwenye kompyuta na seva za kibinafsi);

¦ kuzingatia vichakataji 32-bit;

¦ usichanganye bila sababu muundo wa msimbo, ili wahusika wote wanaovutiwa waweze kufanya uchanganuzi huru wa algorithm kwa uhuru na kuhakikisha kuwa haina uwezo wowote ambao haujaorodheshwa.

Kando na yote yaliyo hapo juu, algoriti inayodai kuwa kiwango lazima isambazwe kote ulimwenguni bila kulipia matumizi ya hataza.

Mnamo Agosti 20, 1998, katika mkutano wa kwanza wa AES, orodha ya watahiniwa 15 ilitangazwa, ambayo ni: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Nyoka na samaki wawili.

Ni wazi kwamba katika majadiliano yaliyofuata algorithms hizi zilichanganuliwa kwa uangalifu zaidi, na sio tu mali za kriptografia zilichunguzwa, kama vile upinzani dhidi ya mashambulio yanayojulikana na kutokuwepo kwa funguo dhaifu, lakini pia nyanja za vitendo za utekelezaji. Kwa hivyo, wakati wa kuchagua algorithm, umakini maalum ulilenga kuongeza kasi ya utekelezaji wa nambari kwenye usanifu anuwai (kutoka kwa Kompyuta hadi kwa kadi mahiri na utekelezaji wa vifaa), uwezo wa kuongeza saizi ya nambari, na uwezekano wa kusawazisha.

Mnamo Machi 1999, mkutano wa pili wa AES ulifanyika, na mnamo Agosti 1999, wahitimu watano walitangazwa, wakiwemo: MARS, RC6, Rijndael, Serpent na Twofish. Zote zilitengenezwa na waandishi wa siri wanaojulikana na kutambuliwa ulimwenguni kote. Katika mkutano wa 3 wa AES mnamo Aprili 2000, waandishi wote waliwasilisha algoriti zao.

Mkutano wa tatu wa AES ulifanyika New York mnamo Aprili 13 na 14, 2000, muda mfupi kabla ya kumalizika kwa awamu ya pili. Mkutano huo wa siku mbili uligawanywa katika vikao vinane, vinne kwa siku. Vikao vya siku ya kwanza vilijadili maswala yanayohusiana na safu zinazoweza kupangwa (FGPAs), tathmini ya utekelezaji wa algoriti kwenye majukwaa mbalimbali, ikiwa ni pamoja na PA-RISC, IA-64, Alpha, kadi mahiri za kiwango cha juu na vichakataji mawimbi, ikilinganishwa na utendaji wa waombaji wa kawaida. , idadi ya raundi katika algoriti za mgombea ilichanganuliwa. Siku ya pili, Rijndael alichambuliwa kwa idadi iliyopunguzwa ya raundi na udhaifu wake katika kesi hii ulionyeshwa, suala la kuunganisha algorithms zote tano za mgombea katika kiwango cha mwisho lilijadiliwa, na algorithms zote zilijaribiwa tena. Mwishoni mwa siku ya pili, uwasilishaji ulifanyika ambapo waombaji walizungumza juu ya algorithms yao, faida na hasara zao. Vincent Rijmen alizungumza kuhusu Rijndael kama kiongozi, akisema kuegemea kwa ulinzi, utendaji wa juu wa jumla na unyenyekevu wa usanifu wa mgombea wake.

Mnamo Oktoba 2, 2000, algoriti ya Rijndael ilitangazwa kuwa mshindi wa shindano hilo, na utaratibu wa kusawazisha ulianza. Mnamo Februari 28, 2001, rasimu hiyo ilichapishwa, na mnamo Novemba 26, 2001, AES ilipitishwa kama FIPS 197.

Kwa kusema kabisa, AES na Rijndael sio kitu kimoja, kwani Rijndael inasaidia anuwai ya ufunguo na urefu wa kuzuia.

Cha kustaajabisha hasa ni ukweli kwamba algoriti ya Rijndael si sawa na algoriti za usimbaji linganifu zinazojulikana zaidi, ambazo zinatokana na mtandao wa Feishtel. Wacha tuwakumbushe wasomaji wetu kwamba upekee wa mtandao wa Feishtel ni kwamba thamani ya pembejeo imegawanywa katika vizuizi viwili au zaidi, ambavyo vingine vinashughulikiwa katika kila raundi kulingana na sheria fulani, baada ya hapo zimewekwa juu ya vizuizi ambavyo havijachakatwa.

Tofauti na GOST 28147, ambayo itajadiliwa hapa chini, algoriti ya Rijndael inawakilisha kizuizi cha data katika mfumo wa safu ya baiti mbili-dimensional ya ukubwa wa 4 x 4, 4 x 6 au 4 x 8 (saizi kadhaa zisizohamishika za kizuizi cha habari kilichosimbwa. wanaruhusiwa). Shughuli zote zinafanywa kwa baiti za kibinafsi za safu, na pia kwenye safu wima na safu huru.

Algorithm ya Rijndael inahusisha kufanya mabadiliko manne mfululizo.

1. BS (ByteSub) - uingizwaji wa meza ya kila byte ya safu (Mchoro 2.2).


Mchele. 2.2. Uingizwaji wa jedwali wa kila baiti ya safu

2. SR (ShiftRow) - mabadiliko ya safu za safu. Kwa operesheni hii, mstari wa kwanza unabakia bila kubadilika, na wengine hubadilishwa kwa mzunguko wa byte-byte kushoto na idadi maalum ya byte, kulingana na ukubwa wa safu. Kwa mfano, kwa safu ya 4 x 4, safu ya 2, 3 na 4 hubadilishwa na 1, 2 na 3 byte, kwa mtiririko huo (Mchoro 2.3).

3. Inayofuata inakuja MC (MixColumn) - operesheni kwenye nguzo za kujitegemea za safu, wakati kila safu inazidishwa na tumbo la kudumu C (X) kulingana na kanuni fulani (Mchoro 2.4).

4. Hatua ya mwisho ni AK (AddRoundKey) - kuongeza ufunguo. Kila kidogo ya safu huongezwa modulo 2 na kidogo sambamba ya ufunguo wa pande zote, ambayo, kwa upande wake, huhesabiwa kwa njia fulani kutoka kwa ufunguo wa encryption (Mchoro 2.5).


Mchele. 2.3. Mabadiliko ya safu ya safu


Mchele. 2.4. Operesheni MixColumn


Mchele. 2.5. Ongeza operesheni muhimu

Mabadiliko ya hapo juu ya data iliyosimbwa hufanywa kwa zamu kwa kila pande zote (Mchoro 2.6).

Mchele. 2.6. Rijndael mlolongo wa pande zote

Katika algorithm ya Rijndael, idadi ya duru za usimbuaji ® ni tofauti (raundi 10, 12 au 14) na inategemea saizi ya kuzuia na ufunguo wa usimbuaji (pia kuna saizi kadhaa za ufunguo).

Kwa nini Rijndael akawa kiwango kipya cha usimbaji fiche, mbele ya algoriti zingine? Kwanza kabisa, hutoa kasi ya juu ya usimbuaji, na kwenye majukwaa yote: katika utekelezaji wa programu na vifaa. Algorithm inatofautishwa na utaratibu uliofaulu wa hesabu linganishi ikilinganishwa na algoriti zingine zilizowasilishwa kwa shindano. Kwa kuongeza, mahitaji ya rasilimali kwa uendeshaji wake ni ndogo, ambayo ni muhimu wakati unatumiwa katika vifaa vilivyo na uwezo mdogo wa kompyuta.

Pamoja na faida zote na uhalisi wa algorithm ya AES, inaweza kuzingatiwa kuwa kamili ya kuegemea na uimara, lakini, kama ilivyo kawaida, hakuna bidhaa kamili.

Mnamo Mei 26, 2006, katika mkutano wa Quo Vadis IV, Nicolas Tadeusz Courtois (mwandishi wa maandishi wa Kipolandi anayeishi Ufaransa) aliwasilisha uthibitisho wa vitendo wa kuwepo kwa mashambulizi ya aljebra yaliyoboreshwa dhidi ya cipher ya AES-Rijndael. Katika muda wa saa moja na nusu kwenye kompyuta yake ndogo, alidukua onyesho kwa kutumia maandishi machache tu ya analogi ya karibu ya Rijndael. Ingawa ilikuwa mfano wa misimbo, ilikuwa na nguvu vile vile, hakuna udhaifu mkubwa ulioongezwa kwayo, ilikuwa na sifa sawa nzuri za uenezaji na upinzani kwa aina zote za cryptanalysis zilizojulikana hapo awali. Tofauti pekee ilikuwa kwamba vigezo vya S-box vilibadilishwa ndani ya muundo wa mashambulizi ya algebra na idadi ya raundi ilipunguzwa kwa uwazi. Walakini, hii ilitosha kuwashawishi wakosoaji juu ya ukweli wa mashambulio ya aljebra na kutokamilika kwa hata njia kama hiyo ya usimbaji fiche inayoonekana kuwa kamilifu.

GOST 28147. Algorithm inayofuata ya usimbuaji wa ulinganifu ambayo tutazingatia ni GOST 28147-89. Hiki ni kiwango cha usimbaji linganifu cha Soviet na Urusi kilichoanzishwa mnamo Julai 1, 1990. Kiwango ni cha lazima kwa mashirika, biashara na taasisi zinazotumia ulinzi wa siri wa data iliyohifadhiwa na kupitishwa katika mitandao ya kompyuta, katika mifumo tofauti ya kompyuta au kompyuta.

Algorithm ilitengenezwa katika Kurugenzi Kuu ya zamani ya KGB ya USSR au katika moja ya taasisi za siri za utafiti katika mfumo wake. Hapo awali ilikuwa na ukadiriaji (OB au SS - haijulikani haswa), kisha ukadiriaji ulishushwa kwa mfululizo na wakati algorithm ilitekelezwa rasmi kupitia Kiwango cha Jimbo la USSR mnamo 1989 iliondolewa. Algorithm inabaki kuwa chipboard (kama unavyojua, chipboard haizingatiwi ubao wa vidole). Mnamo 1989 ikawa kiwango rasmi cha USSR, na baadaye, baada ya kuanguka kwa USSR, kiwango cha shirikisho cha Shirikisho la Urusi.

Tangu kuchapishwa kwa GOST, ilikuwa na alama ya muhuri wa kizuizi "Kwa matumizi rasmi", na rasmi cipher ilitangazwa "wazi kabisa" mnamo Mei 1994. Kwa sababu zinazojulikana, historia ya kuundwa kwa cipher na vigezo vya muundo wake bado haijulikani.

GOST 28147-89 ni msimbo wa kuzuia na ufunguo wa 256-bit na mzunguko wa uongofu 32, unaofanya kazi kwenye vitalu vya 64-bit. Msingi wa kanuni ni mtandao wa Feishtel ambao tayari unajulikana kwetu. Njia kuu ya usimbuaji kulingana na GOST 28147-89 ni njia rahisi ya uingizwaji (njia ngumu zaidi za gamma na maoni ya gamma pia hufafanuliwa). Hebu fikiria utaratibu wa uendeshaji wa algorithm kwa undani zaidi.

Wakati GOST 28147-89 inafanya kazi, habari husimbwa kwa vizuizi vya bits 64 (algorithms kama hiyo inaitwa algorithms ya kuzuia), ambayo hugawanywa katika vizuizi viwili vya bits 32 (N1 na N2). Baada ya usindikaji wa subblock N1 kukamilika, thamani yake huongezwa kwa thamani ya subblock N2 (nyongeza inafanywa modulo 2, yaani, operesheni ya mantiki XOR inatumika - ya kipekee AU), na kisha vizuizi vidogo vinabadilishwa. Mabadiliko haya yanafanywa idadi fulani ya nyakati (raundi): 16 au 32, kulingana na hali ya uendeshaji ya algorithm. Katika kila pande zote, shughuli mbili zinafanywa (Mchoro 2.7).

Mchele. 2.7. Uongofu unafanywa idadi fulani ya nyakati

Operesheni ya kwanza inahusisha kutumia ufunguo. Yaliyomo kwenye kizuizi kidogo N1 yanaongezwa modulo 2 na sehemu ya 32-bit ya ufunguo wa Kx. Ufunguo kamili wa usimbaji fiche unawakilishwa kama muunganisho wa vitufe vidogo-32: K0, K1, K2, K3, K4, K5, K6, K7. Mchakato wa usimbaji fiche hutumia mojawapo ya funguo ndogo hizi, kulingana na nambari ya pande zote na hali ya uendeshaji wa algorithm.

Operesheni ya pili hufanya uingizwaji wa meza. Baada ya ufunguo, subblock N1 imegawanywa katika sehemu nane za bits nne, thamani ya kila ambayo inabadilishwa kwa mujibu wa meza ya uingizwaji kwa sehemu hii ya subblock. Baada ya hayo, mabadiliko kidogo ya mzunguko wa kizuizi kidogo hufanywa upande wa kushoto na bits 11.

Algorithm, iliyofafanuliwa na GOST 28147-89, inaweza kufanya kazi kwa njia nne:

¦ uingizwaji rahisi;

¦ michezo ya kubahatisha;

¦ michezo ya kubahatisha yenye maoni;

¦ kizazi cha viambishi vya kuiga.

Katika kuzalisha viambishi awali vya kuiga, mabadiliko sawa ya usimbuaji yaliyoelezwa hapo juu hutumiwa, lakini kwa kuwa madhumuni ya njia ni tofauti, mabadiliko haya yanafanywa tofauti katika kila mmoja wao.

Katika hali rahisi ya uingizwaji, mizunguko 32 iliyoelezwa hapo juu inafanywa ili kusimba kila sehemu ya habari ya biti 64. Kila block imesimbwa kwa uhuru wa nyingine, ambayo ni, matokeo ya usimbuaji wa kila block inategemea tu yaliyomo (kizuizi kinacholingana cha maandishi ya chanzo). Iwapo kuna vizuizi kadhaa vinavyofanana vya maandishi asilia (ya kawaida), vizuizi vinavyolingana vya maandishi ya siri pia vitafanana, ambayo hutoa maelezo ya ziada muhimu kwa cryptanalyst anayejaribu kuvunja cipher. Kwa hivyo, hali hii hutumiwa haswa kwa usimbuaji wa funguo za usimbuaji wenyewe (mifumo ya vitufe vingi hutekelezwa mara nyingi, ambayo, kwa sababu kadhaa, funguo zimesimbwa kwa kila mmoja). Njia nyingine mbili za uendeshaji zimekusudiwa kusimba maelezo yenyewe: gamma na gamma yenye maoni.

Katika hali ya gamma, kila kizuizi cha maandishi wazi huongezwa kidogo kidogo modulo 2 hadi 64-bit cipher gamma block. Cipher gamma ni mlolongo maalum unaopatikana kutokana na shughuli fulani na rejista N1 na N2.

1. Ujazaji wao wa awali umeandikwa kwa rejista N1 na N2 - thamani ya 64-bit inayoitwa ujumbe wa maingiliano.

2. Yaliyomo kwenye rejista N1 na N2 (katika kesi hii, ujumbe wa kusawazisha) umesimbwa kwa njia rahisi ya uingizwaji.

3. Yaliyomo kwenye rejista N1 yanaongezwa modulo (2 32 - 1) na C1 mara kwa mara sawa na 2 24 + 2 16 + 2 8 + 2 4, na matokeo ya kuongeza imeandikwa kusajili N1.

4. Yaliyomo kwenye rejista N2 yanaongezwa modulo 2 32 na C2 ya mara kwa mara sawa na 2 24 + 2 16 + 2 8 + 1, na matokeo ya kuongeza imeandikwa kusajili N2.

5. Yaliyomo kwenye rejista N1 na N2 yanatolewa kama kizuizi cha 64-bit cipher gamma (katika kesi hii, N1 na N2 huunda kizuizi cha kwanza cha gamma).

Ikiwa kizuizi kinachofuata cha gamma kinahitajika (hiyo ni, unahitaji kuendelea kusimba au kusimbua), unarudi kwa hatua ya 2.

Kwa usimbuaji, gamma inatolewa kwa njia sawa, na kisha maandishi ya siri na biti za gamma huwekwa tena XOR.

Ili kutengeneza misimbo inayohitajika kusimbua gamma, mtumiaji anayesimbua kriptogramu lazima awe na ufunguo sawa na thamani sawa ya ujumbe wa ulandanishi ambayo ilitumika wakati wa kusimba maelezo kwa njia fiche. Vinginevyo, haitawezekana kupata maandishi asili kutoka kwa ile iliyosimbwa.

Katika utekelezaji mwingi wa algorithm ya GOST 28147-89, ujumbe wa maingiliano haujaainishwa, lakini kuna mifumo ambapo ujumbe wa maingiliano ni kipengele cha siri sawa na ufunguo wa usimbuaji. Kwa mifumo kama hii, urefu wa ufunguo unaofaa wa algorithm (biti 256) huongezeka na bits nyingine 64 za ujumbe wa maingiliano ya siri, ambayo inaweza pia kuzingatiwa kama kipengele muhimu.

Katika hali ya kufungwa kwa gamma, kujaza rejista N1 na N2, kuanzia kizuizi cha pili, sio kizuizi cha awali cha gamma kinachotumiwa, lakini matokeo ya kusimba kizuizi cha maandishi ya awali. Kizuizi cha kwanza katika hali hii kinazalishwa sawasawa na uliopita.

Wakati wa kuzingatia hali ya kizazi cha viambishi vya kuiga, ni muhimu kufafanua dhana ya somo la kizazi. Kiambishi awali ni ukaguzi wa kriptografia unaokokotolewa kwa kutumia ufunguo wa usimbaji fiche na iliyoundwa ili kuthibitisha uadilifu wa ujumbe. Wakati wa kutoa kiambishi awali cha kuiga, shughuli zifuatazo zinafanywa: kizuizi cha kwanza cha 64-bit cha safu ya habari, ambayo kiambishi awali cha kuiga kinahesabiwa, imeandikwa kwa rejista N1 na N2 na kusimbwa kwa njia rahisi ya uingizwaji. raundi 16 za kwanza kati ya 32 zinafanywa). Matokeo yake ni muhtasari wa modulo 2 na kizuizi kinachofuata cha habari na matokeo huhifadhiwa katika N1 na N2.

Mzunguko unarudia hadi kizuizi cha mwisho cha habari. Yaliyomo ya 64-bit ya rejista za N1 na N2 au sehemu yao kama matokeo ya mabadiliko haya huitwa kiambishi awali cha kuiga. Saizi ya kiambishi awali cha kuiga huchaguliwa kulingana na uaminifu unaohitajika wa ujumbe: na urefu wa kiambishi awali cha kuiga r bits, uwezekano kwamba mabadiliko katika ujumbe hayatatambuliwa ni sawa na 2 ^. Mara nyingi, 32 -kiambishi awali cha kuiga kidogo kinatumika, ambayo ni, nusu ya yaliyomo kwenye rejista. Hii inatosha, kwani, kama hundi yoyote, kiambatisho cha kuiga kinakusudiwa kimsingi kulinda dhidi ya upotoshaji wa habari kwa bahati mbaya. Ili kulinda dhidi ya urekebishaji wa kukusudia wa data, njia zingine za kriptografia hutumiwa - kimsingi saini ya dijiti ya elektroniki.

Wakati wa kubadilishana habari, kiambishi awali cha kuiga hutumika kama aina ya njia za ziada za udhibiti. Hukokotolewa kwa maandishi wazi wakati maelezo yoyote yamesimbwa kwa njia fiche na kutumwa pamoja na maandishi ya siri. Baada ya kusimbua, thamani mpya ya kiambishi awali cha kuiga huhesabiwa na kulinganishwa na ile iliyotumwa. Ikiwa thamani hazilingani, inamaanisha kuwa maandishi ya siri yaliharibika wakati wa kutuma au funguo zisizo sahihi zilitumiwa wakati wa kusimbua. Kiambishi awali cha kuiga ni muhimu sana kwa kuangalia utunzi sahihi wa habari muhimu wakati wa kutumia miradi ya vitufe vingi.

Algorithm ya GOST 28147-89 inachukuliwa kuwa yenye nguvu kabisa - kwa sasa hakuna njia bora zaidi za ufunuo wake kuliko Nguvu ya Brute iliyotajwa hapo juu. Nguvu ya juu ya algorithm inafanikiwa hasa kutokana na urefu mkubwa wa ufunguo, sawa na 256 bits. Kwa kuongeza, unapotumia ujumbe wa maingiliano ya siri, urefu wa ufunguo wa ufanisi huongezeka hadi bits 320, na usiri wa meza ya uingizwaji huongeza bits za ziada. Kwa kuongeza, nguvu ya cryptographic ya GOST 28147-89 hata baada ya raundi 32 inaweza kuchukuliwa zaidi ya kutosha, na hii licha ya ukweli kwamba athari kamili ya kutawanya data ya pembejeo inapatikana baada ya raundi nane.

Leo, algorithm ya GOST 28147-89 inakidhi kikamilifu mahitaji yote ya cryptography na ina faida sawa na algorithms nyingine, lakini bila hasara zao. Faida dhahiri za algorithm hii ni pamoja na:

¦ utekelezaji bora na, ipasavyo, utendaji wa juu kwenye kompyuta za kisasa;

¦ ubatili wa shambulio la nguvu (mashambulizi ya XSL hayazingatiwi, kwani ufanisi wao bado haujathibitishwa kikamilifu).

Walakini, kama ilivyo kawaida, algorithm sio bila shida zake: inathibitishwa kidogo kuwa GOST ina funguo "dhaifu" na sanduku za S, lakini kiwango hakielezei vigezo vya kuchagua na kuondoa "dhaifu". Kwa kuongeza, kiwango hakielezei algorithm ya kuzalisha masanduku ya S (meza za uingizwaji). Kwa upande mmoja, hii inaweza kuwa habari ya ziada ya siri (pamoja na ufunguo), na kwa upande mwingine, inaleta matatizo kadhaa: haiwezekani kuamua nguvu ya cryptographic ya algorithm bila kujua meza ya uingizwaji mapema. ; Utekelezaji wa algorithm kutoka kwa watengenezaji tofauti unaweza kutumia jedwali tofauti za uingizwaji na zinaweza kuwa haziendani na kila mmoja.

Hebu tuangalie kwa ufupi algoriti zingine za usimbaji fiche linganifu.

Blowfish. Blowfish ni msimbo wa kuzuia 64-bit uliotengenezwa na Schneier mnamo 1993. Sifa hii, kama nyingine nyingi, inatokana na algoriti ya mtandao ya Feishtel. Mzunguko tofauti wa usimbaji fiche wa algoriti hii una upitishaji unaotegemea ufunguo na uwekaji data unaotegemea ufunguo. Shughuli zote zinatokana na XOR na nyongeza kwa maneno 32-bit. Ufunguo una urefu tofauti (urefu wa juu wa biti 448) na hutumiwa kutoa safu kadhaa za subkey. Cipher iliundwa mahsusi kwa mashine 32-bit na ina kasi zaidi kuliko algoriti ya DES tuliyozingatia hapo awali.

WAZO(Algorithm ya Kimataifa ya Usimbaji Data) ilitengenezwa na K. Lai na D. Massey mwishoni mwa miaka ya 1980. Ni msimbo unaojumuisha vizuizi vinavyojirudia 64 na ufunguo wa 128-bit na raundi nane. Ikumbukwe kwamba, tofauti na algoriti za usimbaji fiche tulizojadili hapo awali, IDEA haitokani na mtandao wa Feishtel, ingawa mchakato wa usimbuaji ni sawa na usimbaji fiche. IDEA iliundwa ili iwe rahisi kutekeleza katika programu na maunzi. Kwa kuongeza, usalama wa IDEA unategemea matumizi ya aina tatu zisizolingana za shughuli za hesabu kwenye maneno ya 16-bit.

Mojawapo ya kanuni za uundaji wa IDEA ilikuwa kufanya uchanganuzi wake wa kutofautisha kuwa mgumu iwezekanavyo, ambao kwa sasa unaonyeshwa na kukosekana kwa alama dhaifu za algebra katika algoriti. Hata ingawa darasa kubwa (2,51) la funguo dhaifu zilizogunduliwa na "Daemen" fulani zinaweza kuhatarisha algorithm kinadharia, IDEA inabaki kuwa algoriti inayotegemewa, kwa kuwa kuna funguo 2,128 zinazowezekana, ambayo inafanya kuwa ngumu kupasuka.

RC5 ni msimbo wa kuzuia haraka sana uliotengenezwa na Ronald Linn Rivest mahususi kwa Usalama wa Data wa RSA. Algorithm hii ni parametric, ambayo ni, kizuizi chake, urefu wa ufunguo na idadi ya kupita (duru) ni tofauti.

Saizi ya block inaweza kuwa 32, 64 au 128 bits. Idadi ya kupita inaweza kutofautiana kutoka 0 hadi 2048 bits. Aina hii ya parametricity hufanya RC5 kuwa algoriti inayoweza kunyumbulika isivyo kawaida na bora katika darasa lake.

Urahisi wa kipekee wa RC5 hurahisisha kutumia. RC5, yenye ukubwa wa block ya biti 64 na kupita 12 au zaidi, hutoa upinzani mzuri dhidi ya utofautishaji na uchanganuzi wa mstari.

Usimbaji fiche usiolinganishwa

Tofauti na algoriti za usimbaji linganifu, ambazo hutumia ufunguo sawa kwa usimbaji fiche na usimbaji fiche, algoriti za usimbaji zisizolinganishwa hutumia vitufe vya umma (kwa usimbaji) na vya faragha au vya siri (kwa usimbaji fiche).

Kwa mazoezi, ufunguo mmoja unaitwa siri na mwingine unaitwa umma. Ufunguo wa kibinafsi unawekwa siri na mmiliki wa jozi muhimu. Ufunguo wa umma hutumwa hadharani kwa maandishi wazi. Ikumbukwe kwamba ikiwa mteja ana moja ya funguo za jozi, basi ufunguo mwingine hauwezi kuhesabiwa.

Kitufe cha umma kinahesabiwa kutoka kwa siri: kl = f (k2). Kanuni za usimbaji fiche zisizolingana zinatokana na matumizi ya vitendakazi vya njia moja. Kwa ufafanuzi, chaguo za kukokotoa y = f(x) ni za unidirectional ikiwa inaweza kuhesabiwa kwa urahisi kwa thamani zote zinazowezekana za x, na kwa thamani nyingi zinazowezekana za y ni vigumu sana kuhesabu thamani ya x ambayo y = f(x) .

Mfano wa kazi ya njia moja ni kuzidisha kwa idadi kubwa mbili: N = S x G. Katika yenyewe, kutoka kwa mtazamo wa hisabati, kuzidisha vile ni operesheni rahisi. Walakini, operesheni inverse (mtengano wa N katika sababu mbili kubwa), pia inaitwa factorization, kulingana na makadirio ya wakati wa kisasa, ni shida ngumu ya kihesabu.

Naam, hebu tuangalie baadhi ya algoriti za usimbaji fiche zisizolingana.

Algorithm ya Diffie-Hellman. Mnamo 1976, Whitfield Diffie na Martin Hellman walitengeneza mfumo wao wa usimbuaji wa ufunguo wa umma. Mfumo wa Diffie-Hellman ulitengenezwa ili kutatua tatizo la usambazaji muhimu wakati wa kutumia mifumo ya siri ya siri. Wazo lilikuwa kutumia njia salama kukubaliana juu ya ufunguo wa siri bila kushiriki ufunguo kwa njia nyingine yoyote. Kwa hiyo, ilikuwa ni lazima kutafuta njia salama ya kupata ufunguo wa faragha kwa kutumia njia sawa ya mawasiliano ambayo usalama uliundwa. Kiini cha algoriti ya Diffie-Hellman ni kama ifuatavyo. Hebu tufikiri kwamba pointi mbili (S1 na S2) zinahitaji kuanzisha uhusiano salama kati yao wenyewe, ambayo ni muhimu kukubaliana juu ya ufunguo wa encryption.

¦ S1 na S2 zinakubali nambari mbili kubwa A na b, na 1< a < b.

¦ S1 huchagua nambari nasibu i na kukokotoa I = ai? muundo b. S1 hutuma I kwa mteja S2.

¦ S2 huchagua nambari nasibu j na kukokotoa J = aj? muundo b. S2 hutuma J kwa mteja S1.

¦ S1 hukokotoa k1 = Ji? muundo b.

¦ S2 hukokotoa k2 = Ij? muundo b.

Tuna k1 = k2 = ai? j x mod b, kwa hivyo k1 na k2 ni funguo za siri zinazokusudiwa kutumika katika uwasilishaji wa data zingine.

Hata ikiwa tunadhania kwamba mshambuliaji kwa namna fulani ataweza kusikiliza trafiki iliyopitishwa, atajua a, b, I na J. Hata hivyo, i na j hubakia siri. Kiwango cha usalama cha mfumo kinategemea ugumu wa kupata i kwa I = ai inayojulikana? muundo b. Shida hii inaitwa shida ya logarithm ya diski na inachukuliwa kuwa ngumu sana (yaani, karibu haiwezekani kutatua kwa kutumia vifaa vya kisasa vya kompyuta) ikiwa nambari ni kubwa sana. Kwa hivyo, a na b lazima ichaguliwe kwa uangalifu sana. Kwa mfano, b na (b - 1)/2 lazima ziwe za kwanza na angalau urefu wa biti 512. Urefu wa nambari iliyopendekezwa ni biti 1024.

Algorithm ya RSA ilianzishwa mwaka wa 1978 na waandishi-wenza watatu na kupata jina lake kutoka kwa barua za kwanza za majina ya mwisho ya watengenezaji (Rivest, Shamir, Adleman). Nguvu ya algorithm inategemea ugumu wa kuhesabu idadi kubwa na kuhesabu logarithms za kipekee. Kigezo kuu cha algorithm ya RSA ni moduli ya mfumo N, ambayo hutumiwa kutekeleza mahesabu yote kwenye mfumo, na N = R x S (R na S ni nambari kubwa za siri za nasibu, kawaida za kipimo sawa).

Kitufe cha siri k2 huchaguliwa kwa nasibu na lazima kikidhi masharti yafuatayo: 1< k2 < F(N) и НОД (k2, F(N))= 1, где НОД – наибольший общий делитель. Иными словами, k1 должен быть взаимно простым со значением функции Эйлера F(N) , причем последнее равно количеству положительных целых чисел в диапазоне от 1 до N, взаимно простых с N, и вычисляется как F(N) = (R – 1) ? (S – 1) .

Kitufe cha umma kl kinahesabiwa kutoka kwa uhusiano (k2 x kl) = 1? muundo F (N). Kwa kusudi hili, algorithm ya jumla ya Euclidean (algorithm ya kuhesabu kigawanyiko kikuu cha kawaida) hutumiwa. Usimbaji fiche wa kizuizi cha data M kwa kutumia algorithm ya RSA hufanywa kama ifuatavyo: C = Mkl? mod N. Kwa kuwa katika mfumo halisi wa crypto kwa kutumia RSA nambari k1 ni kubwa sana (kwa sasa mwelekeo wake unaweza kufikia hadi bits 2048), hesabu ya moja kwa moja ya Mk1 ni isiyo ya kweli. Ili kuipata, mchanganyiko wa squaring mara kwa mara ya M na kuzidisha matokeo hutumiwa. Ugeuzaji wa kazi hii kwa vipimo vikubwa hauwezekani; kwa maneno mengine, haiwezekani kupata M inayojulikana C, N na kl. Walakini, kuwa na ufunguo wa siri k2, ukitumia mabadiliko rahisi unaweza kuhesabu M = Ck2? mod N. Kwa wazi, pamoja na ufunguo wa siri yenyewe, ni muhimu kuhakikisha usiri wa vigezo R na S. Ikiwa mshambuliaji anapata maadili yao, ataweza kuhesabu ufunguo wa siri k2.

Mfumo wa kificho wa RSA kwa sasa unatumika katika aina mbalimbali za bidhaa, majukwaa, na viwanda. Inatosha kukumbuka matumizi yake katika mifumo ya uendeshaji ya Microsoft, Apple, Sun na Novell kufikiria "kiwango kikubwa" cha RSA. Katika maunzi, algoriti ya RSA inatumika sana katika simu salama, kwenye kadi za mtandao za Ethaneti, kwenye kadi mahiri, na katika vifaa vya kriptografia vya Zaxus (Racal). Kwa kuongeza, algorithm imejumuishwa katika itifaki zote kuu za mawasiliano salama ya Mtandao, ikiwa ni pamoja na S/MIME, SSL na S/WAN, na pia hutumiwa katika mashirika mengi ya serikali, maabara ya serikali na vyuo vikuu. Kufikia msimu wa 2000, teknolojia zinazotumia algoriti ya RSA zilipewa leseni na zaidi ya kampuni 700.

Algorithm ya ElGamal. ElGamal ilitengeneza toleo la mfumo wa Diffie-Hellman. Aliboresha algorithm hii na akaja na algorithm moja ya usimbaji fiche na moja ya uthibitishaji. Algoriti ya ElGamal haikuwa na hati miliki (tofauti na RSA) na hivyo ikawa njia mbadala ya bei nafuu kwa kuwa hakuna ada za leseni zilizohitajika. Kwa kuwa algorithm hii inategemea mfumo wa Diffie-Hellman, uimara wake unahakikishwa na ugumu wa kutatua tatizo sawa la logarithm.

Algorithm ya Sahihi ya Dijiti. Kanuni ya DSA iliundwa na serikali ya Marekani kama kanuni ya kawaida ya sahihi za dijiti (angalia Sehemu ya 2.3). Algorithm hii inategemea mfumo wa ElGamal, lakini inaruhusu tu uthibitishaji. Usiri hauhakikishwi na kanuni hii.

Usimbaji fiche kwa kutumia mikunjo ya duaradufu. Mikondo ya mviringo ilipendekezwa kutumika katika mifumo ya usimbuaji mnamo 1985. Mifumo ya usimbaji wa mduara wa mviringo (ECC) hutegemea tatizo tofauti la hisabati kutoka kwa uwekaji alama au logariti tofauti. Tatizo hili ni kama ifuatavyo: kutokana na pointi mbili A na B kwenye curve ya duaradufu, kama vile A = kB, ni vigumu sana kuamua nambari k. Licha ya kuwa "kigeni" kwa kiasi fulani, kutumia ECC juu ya kanuni za RSA au Diffie-Hellman katika baadhi ya matukio hutoa faida kubwa. Kubwa zaidi ya faida hizi ni kwamba funguo zinaweza kuwa fupi sana (kutokana na ugumu wa kazi). Na hii bila kupoteza stamina! Matokeo yake, mahesabu yanafanywa kwa kasi wakati wa kudumisha kiwango sawa cha usalama. Kwa hivyo, usalama unaotolewa na ufunguo wa 160-bit ECC unaweza kuwa sawa na ufunguo wa 1024-bit RSA.

Manufaa na hasara za mbinu za usimbaji fiche za ulinganifu na asymmetric

Leo, katika uwanja wa usalama wa habari, mifumo iliyo na usimbuaji wa ulinganifu na asymmetric inawakilishwa sana. Kila moja ya algorithms ina faida na hasara zake, ambazo haziwezi kupuuzwa.

Hasara kuu ya usimbuaji wa ulinganifu ni hitaji la uhamishaji wa funguo za umma - "kutoka mkono hadi mkono". Upungufu huu hauwezi kupuuzwa, kwa kuwa kwa mfumo kama huo inakuwa vigumu kutumia usimbuaji wa ulinganifu na idadi isiyo na kikomo ya washiriki. Vinginevyo, algorithm ya usimbaji ulinganifu inaweza kuchukuliwa kuwa ya kisasa kabisa na yenye ufanisi, na idadi ndogo ya hasara, hasa dhidi ya historia ya usimbuaji wa asymmetric. Hasara za mwisho sio muhimu sana kusema kwamba algorithm ni mbaya kwa namna fulani, lakini hata hivyo.

Hasara ya kwanza ya usimbuaji wa asymmetric ni kasi ya chini ya shughuli za usimbuaji na usimbuaji, ambayo ni kwa sababu ya hitaji la kusindika shughuli zinazotumia rasilimali nyingi. Matokeo yake, mahitaji ya sehemu ya vifaa vya mfumo huo mara nyingi haikubaliki.

Upungufu mwingine ni wa kinadharia tu, na iko katika ukweli kwamba nguvu ya hisabati ya algorithms ya usimbuaji wa asymmetric bado haijathibitishwa.

Matatizo ya ziada hutokea wakati wa kulinda funguo za umma zisibadilishwe, kwa sababu inatosha tu kuchukua nafasi ya ufunguo wa umma wa mtumiaji wa kisheria ili baadaye usimbue kwa urahisi kwa ufunguo wako wa kibinafsi.

Bila kujali ubaya na faida za usimbuaji wa asymmetric na ulinganifu, ni muhimu tu kutambua kuwa suluhisho za hali ya juu zaidi ni zile zinazochanganya kwa mafanikio algorithms ya aina zote mbili za usimbuaji.

2.2. Saini ya kielektroniki ya dijiti

Shukrani kwa maendeleo ya haraka ya uwanja wa teknolojia ya habari, teknolojia zimeingia katika maisha yetu na zinajulikana, bila ambayo dunia ya kisasa tayari ni vigumu kufikiria. Moja ya teknolojia hizi, ambazo, kwa njia, hulinda usalama wa shughuli zinazofanywa mtandaoni, ni saini ya kielektroniki ya dijiti (EDS). Matumizi yake kama njia ya kutambua na kuthibitisha umuhimu wa kisheria wa hati yanazidi kuwa kiwango katika ulimwengu wa kidijitali.

Sahihi ya kielektroniki ya dijiti (EDS) ni hitaji la hati ya kielektroniki inayokusudiwa kuthibitisha chanzo cha data na kulinda hati hii ya kielektroniki dhidi ya kughushi. Saini ya kielektroniki ya dijiti ni mlolongo wa herufi zilizopatikana kama matokeo ya mabadiliko ya kriptografia ya data ya kielektroniki. Sahihi ya kielektroniki ya dijiti huongezwa kwenye kizuizi cha data, ikiruhusu mpokeaji wa kizuizi hicho kuthibitisha chanzo na uadilifu wa data na kulinda dhidi ya kughushi. EDS hutumiwa kama mlinganisho wa sahihi iliyoandikwa kwa mkono.

Shukrani kwa saini za digital, nyaraka nyingi - pasipoti, kura, mapenzi, mikataba ya kukodisha - sasa inaweza kuwepo kwa fomu ya elektroniki, na toleo lolote la karatasi basi litakuwa nakala ya asili ya elektroniki.

Maneno ya kimsingi yanayotumiwa wakati wa kufanya kazi na sahihi za dijiti

Ufunguo wa kibinafsi- hii ni habari ya urefu wa biti 256, ambayo huhifadhiwa mahali pasipoweza kufikiwa na wengine kwenye diski ya floppy, kadi smart, kumbukumbu ya kugusa. Ufunguo wa kibinafsi hufanya kazi tu sanjari na ufunguo wa umma.

Ufunguo wa umma kutumika kuthibitisha saini ya digital ya faili za hati zilizopokelewa; kitaalam hii ni habari fulani ambayo ina urefu wa biti 1024. Ufunguo wa umma hufanya kazi tu wakati unapooanishwa na ufunguo wa faragha.

Msimbo wa uthibitishaji- msimbo wa urefu usiobadilika unaotokana na data kwa kutumia ufunguo wa siri na kuongezwa kwa data ili kuchunguza ukweli wa mabadiliko katika data iliyohifadhiwa au kupitishwa kwenye kituo cha mawasiliano.

Zana za saini za kielektroniki za dijiti- maunzi na/au programu ambayo hutoa:

¦ uundaji wa saini ya kielektroniki ya dijiti katika hati ya kielektroniki kwa kutumia ufunguo wa kibinafsi wa sahihi ya kielektroniki ya dijiti;

¦ uthibitisho kwa kutumia ufunguo wa umma wa sahihi ya kielektroniki ya dijiti ya uhalisi wa sahihi ya dijiti katika hati ya kielektroniki;

¦ uundaji wa funguo za kibinafsi na za umma za sahihi za kielektroniki za dijiti.

EDS ni rahisi

Wacha tuanze na ukweli kwamba saini ya dijiti sio "mnyama" hata kidogo, na hakuna maarifa maalum, ujuzi au uwezo unaohitajika kuitumia.

Funguo za kriptografia za umma na za kibinafsi (za siri) hutengenezwa kwa kila mtumiaji wa saini ya dijiti anayeshiriki katika ubadilishanaji wa hati za kielektroniki.

Kipengele muhimu ni ufunguo wa siri, ambao hutumiwa kusimba nyaraka za elektroniki na kuzalisha saini ya digital ya elektroniki. Ufunguo wa siri unabaki na mtumiaji na hutolewa kwake kwa njia tofauti: inaweza kuwa diski ya floppy, kadi ya smart au kati nyingine. Ni lazima iwe siri kutoka kwa watumiaji wengine wa mtandao.

Mamlaka ya Uthibitishaji (mtu wa tatu, au anayeitwa "msuluhishi") ina nakala ya ufunguo wa umma, na maktaba ya vyeti muhimu vya umma imeundwa. Mamlaka ya Uthibitishaji huhakikisha usajili na uhifadhi salama wa funguo za umma ili kuepuka upotoshaji au majaribio ya kughushi.

Mtumiaji anapoweka saini yake ya kielektroniki ya dijiti chini ya hati ya elektroniki, kwa kuzingatia ufunguo wa siri wa saini ya dijiti na yaliyomo kwenye hati, idadi fulani kubwa hutolewa kupitia ubadilishaji wa kriptografia, ambayo ni saini ya dijiti ya elektroniki ya mtumiaji huyu chini ya hii. hati maalum. Nambari hii imeongezwa hadi mwisho wa hati ya elektroniki au kuhifadhiwa kwenye faili tofauti. Habari ifuatayo imejumuishwa kwenye saini:

¦ jina la saini ya faili ya ufunguo wa umma;

¦ habari kuhusu mtu aliyeunda saini;

¦ tarehe ya kuunda saini.

Mtumiaji ambaye amepokea hati iliyosainiwa na ana ufunguo wa umma wa sahihi ya dijiti ya mtumaji, kulingana nao, hufanya mabadiliko ya kriptografia ya kinyume, ambayo inahakikisha uthibitishaji wa sahihi ya dijiti ya kielektroniki ya mtumaji. Ikiwa saini ya dijiti chini ya hati ni sahihi, hii inamaanisha kuwa hati hiyo ilisainiwa na mtumaji na hakuna mabadiliko yaliyofanywa kwa maandishi ya waraka. Vinginevyo, ujumbe utatolewa kwamba cheti cha mtumaji si sahihi.

Usimamizi muhimu

Tatizo muhimu katika ufunguo wote wa siri wa ufunguo wa umma, ikiwa ni pamoja na mifumo ya sahihi ya dijiti, ni usimamizi wa ufunguo wa umma. Ni muhimu kuhakikisha kuwa mtumiaji yeyote ana uwezo wa kufikia ufunguo wa kweli wa umma wa mtumiaji mwingine yeyote, kulinda funguo hizi dhidi ya kubadilishwa na mshambulizi, na pia kupanga ubatilishaji wa ufunguo ikiwa umeathiriwa.

Tatizo la kulinda funguo kutoka kwa uingizwaji hutatuliwa kwa msaada wa vyeti. Cheti hukuruhusu kuthibitisha data iliyomo kuhusu mmiliki na ufunguo wake wa umma kwa kutia sahihi ya mtu yeyote anayeaminika. Mifumo ya cheti cha kati (kwa mfano, PKI - Miundombinu muhimu ya Umma) hutumia mamlaka ya cheti kinachodumishwa na mashirika yanayoaminika. Katika mifumo iliyogatuliwa (kwa mfano, PGP - Faragha Nzuri Sana), mtandao wa uaminifu hujengwa na kila mtumiaji kwa kutia saini cheti cha watu wanaofahamika na wanaoaminika.

Usimamizi muhimu unashughulikiwa na vituo vya usambazaji wa cheti. Kwa kuwasiliana na kituo kama hicho, mtumiaji anaweza kupata cheti cha mtumiaji, na pia angalia ikiwa ufunguo fulani wa umma bado haujafutwa.

EDS chini ya darubini

Hebu tuangalie kwa karibu kanuni ya uendeshaji wa saini za digital. Mpango wa saini ya kielektroniki kawaida hujumuisha sehemu zifuatazo:

¦ algorithm ya kutengeneza jozi muhimu za watumiaji;

¦ kipengele cha kuhesabu saini;

¦ kipengele cha uthibitishaji wa saini.

Kazi ya kuhesabu saini kulingana na hati na ufunguo wa siri wa mtumiaji huhesabu saini yenyewe. Kulingana na algoriti, kitendakazi cha kukokotoa saini kinaweza kubainishwa au kuwezekana. Chaguo za kukokotoa zinazobainisha kila mara hukusanya saini sawa kutoka kwa data sawa ya ingizo. Vitendo vinavyowezekana vinatanguliza kipengele cha kubahatisha katika sahihi, ambayo huongeza nguvu ya kriptografia ya algoriti za sahihi za dijiti. Hata hivyo, saketi za uwezekano zinahitaji chanzo cha kuaminika cha nasibu (ama jenereta ya kelele ya maunzi au jenereta ya biti ya uwongo iliyo salama kwa njia fiche), ambayo inatatiza utekelezaji.

Hivi sasa, miradi ya kuamua haitumiki. Hata algoriti za awali sasa zimefanyiwa marekebisho ambayo yanazigeuza kuwa za uwezekano (kwa mfano, katika algoriti ya saini ya RSA, toleo la pili la PKCS#1 kiwango cha mabadiliko ya awali ya data (OAEP), ambayo inajumuisha, miongoni mwa mambo mengine, kelele. )

Chaguo za uthibitishaji wa saini hukagua ikiwa inalingana na hati iliyotolewa na ufunguo wa umma wa mtumiaji. Ufunguo wa umma wa mtumiaji unapatikana kwa umma, kwa hivyo mtu yeyote anaweza kuthibitisha sahihi kwenye hati fulani.

Kwa kuwa hati zinazosainiwa ni za urefu tofauti (na kubwa kabisa), katika mifumo ya saini ya dijiti saini mara nyingi huwekwa sio kwenye hati yenyewe, lakini kwenye hashi yake. Vitendaji vya herufi kriptografia hutumiwa kukokotoa heshi, ambayo huhakikisha kuwa mabadiliko kwenye hati yanatambuliwa wakati sahihi inathibitishwa. Vitendaji vya hashi si sehemu ya algoriti ya sahihi ya dijiti, kwa hivyo kipengele chochote cha kukokotoa chenye kuaminika kinaweza kutumika katika mpango. Hashi ni nini?

Hashing ni mabadiliko ya safu ya data ya ingizo kuwa nambari fupi ya urefu uliowekwa (inayoitwa hashi au nambari ya heshi), ili, kwa upande mmoja, nambari hii ni fupi sana kuliko data asili, lakini, kwa upande mwingine. , kuna uwezekano mkubwa wa kuendana nayo kwa njia ya kipekee.

Tuendelee. Algorithms ya saini ya dijiti imegawanywa katika madarasa mawili makubwa:

¦ sahihi dijitali za kawaida;

¦ sahihi za dijitali zilizo na urejeshaji wa hati.

Sahihi za kawaida za kidijitali lazima ziambatishwe kwenye hati inayotiwa saini. Darasa hili linajumuisha, kwa mfano, algorithms kulingana na curves elliptic (ECDSA, GOST R34.10-2001, DSTU 4145-2002). Saini za dijiti zilizo na urejeshaji wa hati zina hati iliyosainiwa: wakati wa mchakato wa uthibitishaji wa saini, mwili wa hati huhesabiwa kiatomati. Darasa hili linajumuisha mojawapo ya algorithms maarufu zaidi, RSA, ambayo tutazingatia mwishoni mwa sehemu.

Inahitajika kutofautisha kati ya saini ya dijiti ya elektroniki na nambari ya uthibitishaji wa ujumbe, licha ya kufanana kwa kazi zinazotatuliwa (kuhakikisha uadilifu wa hati na kutowezekana kwa kukataa uandishi). Algorithms ya sahihi ya dijiti ni ya darasa la algoriti zisizolinganishwa, ilhali misimbo ya uhalisi inakokotolewa kwa kutumia mifumo linganifu.

Tunaweza kusema kwamba saini ya dijiti hutoa aina zifuatazo za ulinzi.

¦ Utambulisho wa chanzo cha hati. Kulingana na maelezo ya ufafanuzi wa hati, sehemu kama vile "mwandishi", "mabadiliko yaliyofanywa", "muhuri wa wakati", n.k. zinaweza kusainiwa.

¦ Ulinzi dhidi ya mabadiliko ya hati. Mabadiliko yoyote ya bahati mbaya au ya kimakusudi kwa hati (au saini) yatabadilisha heshi na hivyo kubatilisha sahihi hiyo.

Ni dhahiri kabisa kwamba saini ya dijiti sio kamili hata kidogo. Vitisho vifuatavyo vya sahihi vya dijitali vinawezekana, ambapo mshambuliaji anaweza:

¦ kughushi saini kwa hati iliyochaguliwa na yeye;

¦ chagua hati kwa sahihi uliyopewa ili saini ilingane nayo;

¦ kughushi saini kwa angalau hati fulani;

¦ badilisha ufunguo wa umma (angalia kifungu kidogo cha "Udhibiti Muhimu" sehemu ya 2.2) na yako mwenyewe, ukijifanya mmiliki;

¦ kumdanganya mmiliki kutia sahihi hati, kwa mfano, kwa kutumia itifaki ya sahihi ya upofu;

¦ kutia sahihi hati yoyote kwa niaba ya mwenye ufunguo ikiwa ufunguo wa faragha tayari umeibiwa.

Kwa kutumia kipengele cha kukokotoa chenye nguvu cha heshi, ni vigumu kimahesabu kuunda hati ghushi yenye heshi sawa na ile halisi. Hata hivyo, matishio haya yanaweza kutokea kwa sababu ya udhaifu katika kanuni maalum za hashing au sahihi au hitilafu katika utekelezaji wake.

RSA kama msingi wa sahihi ya dijiti

Sio siri kwamba RSA (inayotumiwa kuunda saini za dijiti na urejeshaji wa hati) imepata umaarufu zaidi kati ya algoriti za kriptografia za saini za dijiti.

Mwanzoni mwa 2001, mfumo wa kificho wa RSA ulikuwa mfumo wa kriptografia usio na ulinganifu uliotumiwa sana (mfumo wa ufunguo wa umma) na mara nyingi huitwa kiwango cha de facto. Bila kujali viwango rasmi, kuwepo kwa kiwango hicho ni muhimu sana kwa maendeleo ya biashara ya mtandaoni na uchumi kwa ujumla. Mfumo wa ufunguo wa umma uliounganishwa unaruhusu ubadilishanaji wa hati na saini za kielektroniki za dijiti kati ya watumiaji katika nchi tofauti kwa kutumia programu tofauti kwenye majukwaa tofauti; Uwezo huu ni muhimu kwa maendeleo ya e-commerce.

Kuenea kwa mfumo wa RSA umefikia kiwango ambacho huzingatiwa wakati wa kuunda viwango vipya. Ya kwanza katika ukuzaji wa viwango vya sahihi vya dijiti ilikuwa kiwango cha ANSI X9.30, ambacho kilisaidia Kiwango cha Sahihi ya Dijiti mnamo 1997. Mwaka mmoja baadaye, ANSI X9.31 ilianzishwa, ambayo iliweka msisitizo kwenye saini za digital za RSA, ambazo zilijibu kwa hali halisi, hasa kwa taasisi za fedha.

Hadi hivi majuzi, kikwazo kikuu cha kuchukua nafasi ya utiririshaji wa karatasi na zile za elektroniki ilikuwa mapungufu ya uthibitishaji salama; karibu kila mahali mikataba, hundi, barua rasmi, nyaraka za kisheria bado zinatekelezwa kwenye karatasi.

Ujio wa sahihi za kidijitali zenye msingi wa RSA umefanya miamala ya kielektroniki kuwa salama na ya kuaminika.

Algorithm ya RSA inadhani kuwa ujumbe uliosimbwa unaweza kusomwa na mpokeaji na yeye tu. Kama ilivyoelezwa hapo juu, algorithm hii hutumia funguo mbili - za umma na za siri. Kanuni hii pia inavutia katika hali ambapo idadi kubwa ya masomo (N) lazima yawasiliane kwa njia ya yote kwa wote. Kwa upande wa mpango wa usimbaji fiche wa ulinganifu, kila somo lazima litoe funguo zao kwa washiriki wengine wote katika ubadilishanaji, na jumla ya funguo zitakazotumiwa zitakuwa kubwa kabisa kwa thamani kubwa ya N. Matumizi ya algoriti ya ulinganifu. inahitaji tu usambazaji wa funguo za umma na washiriki wote, jumla ya funguo ni sawa na N.

Ujumbe unawakilishwa kama nambari M. Usimbaji fiche unafanywa kwa kutumia chaguo za kukokotoa za umma f(M) na ni mpokeaji pekee anayejua jinsi ya kutekeleza utendakazi wa f-1. Anayeandikiwa huchagua nambari kuu mbili kuu p na q, ambazo hufanya siri. Anatangaza n = pq na nambari d, c (d, p – 1) = (d, q – 1) = 1 (njia moja inayowezekana ya kukidhi hali hii ni kuchagua d kubwa kuliko p/2 na q/2) . Usimbaji fiche unafanywa kwa kutumia fomula: f(M) = Md x mod n, ambapo M na f(M) zote ni< n – 1 . Оно может быть вычислено за разумное время, даже если M, d и n содержат весьма большое количество знаков. Адресат вычисляет M на основе M d , используя свое знание p и q. Если dc ? (p _ 1) 1, тогда (M d) e? uk 1.

Maandishi asilia M yanapatikana na mpokeaji kutoka kwa F(M) iliyosimbwa kwa kubadilisha: M = (F(M)) e( mod pq). Hapa, maandishi asilia na maandishi yaliyosimbwa kwa njia fiche yanachukuliwa kuwa nambari za binary ndefu.

Vile vile (Md) e? q M, ikiwa dc ? (q _ 1) 1. e inakidhi masharti haya mawili ikiwa cd ? (uk _ 1)(q _ 1) 1 . Tunaweza kuruhusu e = x wakati x ni suluhu la mlinganyo dx + (p – 1)(q – 1)y = 1.

Tangu (M d) e M inagawanywa kwa p na q, na pia inaweza kugawanywa kwa pq. Kwa hiyo, tunaweza kuamua M kwa kujua Md, kuhesabu thamani yake kwa nguvu ya e, na kuamua salio wakati imegawanywa na pq. Ili kudumisha usiri, ni muhimu kwamba, kujua n, haiwezekani kuhesabu p na q. Ikiwa n ina tarakimu 100, kutafuta cipher kunahusisha kujaribu takriban michanganyiko 1050. Tatizo hili limesomwa kwa takriban miaka 100.

Kinadharia, inaweza kudhaniwa kuwa inawezekana kufanya operesheni ya f-l bila kuhesabu p na q. Lakini kwa hali yoyote, kazi hii si rahisi, na watengenezaji wanaona kuwa ni vigumu kuzingatia.

Tuseme tuna maandishi f(M) na maandishi wazi M na tunataka kupata maadili ya p na q. Ni rahisi kuonyesha kuwa data kama hiyo ya awali haitoshi kutatua shida - unahitaji kujua maadili yote yanayowezekana ya Mi.

Hebu tufafanue matumizi ya algorithm ya RSA na mfano maalum. Wacha tuchague nambari kuu mbili p = 7; q = l7 (katika mazoezi nambari hizi ni mara nyingi zaidi). Katika kesi hii, n = pq itakuwa sawa na ll9. Sasa tunahitaji kuchagua e.Tuchague e = 5. Hatua inayofuata inahusisha kutengeneza nambari d, ili de = 1 x mod [(p – 1)(q – 1)]. d = 77 (algorithm iliyopanuliwa ya Euclidean imetumika). d ni ufunguo wa siri, na e na n huonyesha ufunguo wa umma. Hebu maandishi ambayo tunahitaji kuficha yawakilishwe na M = 19. C = Me x mod n. Tunapata ciphertext C = 66. "Nakala" hii inaweza kutumwa kwa mpokeaji anayefaa. Mpokeaji anasimbua ujumbe uliopokelewa kwa kutumia M = Cd x mod n na C = 66. Matokeo yake ni M = 19.

Kwa mazoezi, funguo za umma zinaweza kuwekwa kwenye hifadhidata maalum. Ikiwa unahitaji kutuma ujumbe uliosimbwa kwa mshirika wako, unaweza kwanza kuomba ufunguo wake wa umma. Baada ya kuipokea, unaweza kuendesha programu ya usimbuaji na kutuma matokeo ya kazi yake kwa mpokeaji.

Je, inawezekana kudukua sahihi ya kielektroniki ya kidijitali?

Kudukua sahihi ya dijiti ya kielektroniki kunatokana na kudukuliwa kwa algoriti ya usimbaji. Katika kesi hii, tutazingatia chaguzi zinazowezekana za udukuzi kwa kutumia algorithm ya RSA kama mfano.

Kuna njia kadhaa za hack RSA. Shambulio la ufanisi zaidi ni kutafuta ufunguo wa faragha unaolingana na ufunguo wa umma unaohitajika. Hii ingemruhusu mshambulizi kusoma ujumbe wote uliosimbwa kwa njia fiche kwa ufunguo wa umma na kughushi saini. Shambulio kama hilo linaweza kufanywa kwa kutafuta sababu kuu (sababu) za moduli ya jumla n - p na q. Kulingana na p, q na e (kipeo kikuu cha jumla), mshambuliaji anaweza kukokotoa kipeo fulani d kwa urahisi. Ugumu kuu ni kutafuta sababu kuu (factoring) n. Usalama wa RSA unategemea factoring, ambayo ni tatizo gumu bila ufumbuzi wa ufanisi.

Kwa kweli, shida ya kurejesha ufunguo wa siri ni sawa na shida ya kutengeneza moduli: unaweza kutumia d kupata sababu za n, na kinyume chake: unaweza kutumia n kupata d. Ikumbukwe kwamba uboreshaji wa vifaa vya kompyuta pekee hautapunguza nguvu ya mfumo wa cryptosystem wa RSA ikiwa funguo ni za urefu wa kutosha. Kwa kweli, kuboresha vifaa huongeza nguvu ya mfumo wa crypto.

Njia nyingine ya kuvunja RSA ni kupata njia ya kuhesabu mzizi wa mod n. Kwa kuwa C = Me x mod n, basi mzizi wa digrii e ya mod n ni ujumbe M. Kwa kuhesabu mzizi, unaweza kufungua ujumbe uliosimbwa na kughushi saini bila hata kujua ufunguo wa siri. Shambulio hili si sawa na factoring, lakini kwa sasa hakuna mbinu inayojulikana ambayo inaweza kuvunja RSA kwa njia hii. Walakini, katika hali maalum, wakati ujumbe mwingi unaohusiana umesimbwa kwa msingi wa kiashiria sawa cha thamani ndogo, inawezekana kufungua ujumbe. Mashambulizi haya ndiyo njia za pekee za kusimbua barua pepe zote zilizosimbwa kwa ufunguo fulani wa RSA.

Kuna aina nyingine za mashambulizi ambayo, hata hivyo, huruhusu ujumbe mmoja tu kusimbwa na hairuhusu mvamizi kufungua ujumbe mwingine uliosimbwa kwa ufunguo sawa. Kwa kuongeza, uwezekano wa kufuta sehemu ya ujumbe uliosimbwa ulisomwa.

Shambulio rahisi zaidi kwa ujumbe mmoja ni shambulio la maandishi wazi yaliyokusudiwa. Mshambulizi, akiwa na maandishi yaliyosimbwa kwa njia fiche, anadhani kwamba ujumbe una maandishi fulani maalum (kwa mfano, "Stirlitz to Playschner"). Kisha husimba kwa njia fiche maandishi yaliyokusudiwa kwa ufunguo wa umma wa mpokeaji na kulinganisha maandishi yanayotokana na maandishi ya siri yaliyopo. Shambulio hili linaweza kuzuiwa kwa kuongeza vipande vichache vya nasibu hadi mwisho wa ujumbe. Shambulio lingine la ujumbe mmoja hutokea wakati mtumaji anatuma ujumbe sawa M kwa waandishi watatu, kila mmoja wao anatumia kielelezo cha kawaida e = 3. Akijua hili, mshambuliaji anaweza kuingilia ujumbe huu na kufuta ujumbe wa M.

Shambulio hili pia linaweza kuzuiwa kwa kuanzisha biti chache nasibu kwenye ujumbe kabla ya kila usimbaji fiche. Kwa kuongeza, kuna aina kadhaa za mashambulizi ya maandishi ya siri (au mashambulizi ya ujumbe wa mtu binafsi ili kughushi saini) ambapo mshambuliaji huunda baadhi ya maandishi ya siri na kupata maandishi yanayolingana, kwa mfano kwa kumhadaa mtumiaji aliyeingia ili asimbue ujumbe ghushi. Bila shaka, pia kuna mashambulizi ambayo hayana lengo la mfumo wa crypto moja kwa moja, lakini kwa udhaifu wa mfumo mzima wa mawasiliano kwa ujumla. Mashambulizi kama haya hayawezi kuzingatiwa kama udukuzi wa RSA, kwa kuwa hauonyeshi udhaifu wa algoriti, lakini hatari ya utekelezaji maalum. Kwa mfano, mshambulizi anaweza kupata ufunguo wa siri ikiwa hautahifadhiwa kwa usalama unaofaa. Inapaswa kusisitizwa kuwa kwa ulinzi kamili haitoshi kulinda utekelezaji wa algorithm ya RSA na kuchukua hatua za usalama wa hisabati, yaani, kutumia ufunguo wa urefu wa kutosha, kwa kuwa katika mashambulizi ya mazoezi juu ya hatua zisizohifadhiwa za usimamizi muhimu wa RSA. mfumo una mafanikio makubwa zaidi.

2.3. Teknolojia za kisasa za uthibitishaji. Kadi za Smart

Kadi mahiri, kama vile Kadi za Kumbukumbu, ni kadi za plastiki zilizo na chip iliyojengewa ndani (ICC, kadi ya saketi iliyounganishwa). Hata hivyo, kadi smart ni kifaa ngumu zaidi kilicho na microprocessor na mfumo wa uendeshaji unaodhibiti kifaa na upatikanaji wa vitu kwenye kumbukumbu yake. Kwa kuongeza, kadi mahiri kwa kawaida huwa na uwezo wa kufanya hesabu za kriptografia.

Madhumuni ya kadi mahiri ni uthibitishaji wa mtumiaji wa sababu moja na mbili, kuhifadhi habari na kufanya shughuli za kriptografia katika mazingira yanayoaminika.

Acha niwakumbushe wasomaji wetu kwamba uthibitishaji wa mambo mawili unahusisha matumizi ya sifa mbili za kitambulisho, kwa mfano: nenosiri na alama ya vidole, kadi ya smart na retina, nk.

Kadi mahiri zinazidi kutumika katika maeneo mbalimbali - kuanzia mifumo ya kuweka akiba hadi kadi za mkopo na benki, kadi za wanafunzi na simu za GSM.

Kulingana na chip iliyojengwa ndani, kadi zote smart zimegawanywa katika aina kadhaa kuu, ambazo hutofautiana sana katika kazi wanazofanya:

¦ kadi za kumbukumbu;

¦ kadi za microprocessor;

¦ kadi zenye mantiki ya kriptografia.

Kadi za kumbukumbu zimeundwa kuhifadhi habari. Kumbukumbu kwenye aina hizi za kadi inaweza kuwa huru kufikia au inaweza kuwa na mantiki ya udhibiti wa ufikiaji kwenye kumbukumbu ya kadi ili kuzuia usomaji na uandishi wa data.

Kadi za Microprocessor pia zimeundwa kwa ajili ya kuhifadhi habari, lakini, tofauti na za kawaida, zina programu maalum au mfumo mdogo wa uendeshaji unaokuwezesha kubadilisha data kwa kutumia algorithm maalum na kulinda taarifa zilizohifadhiwa kwenye kadi wakati wa maambukizi, kusoma na kuandika.

Kadi zilizo na mantiki ya kriptografia hutumiwa katika mifumo ya usalama wa habari kushiriki moja kwa moja katika mchakato wa usimbuaji data au utengenezaji wa funguo za kriptografia, saini za dijiti za elektroniki na habari zingine muhimu kwa uendeshaji wa mfumo.

Wasomaji wa Kadi Mahiri

Licha ya jina - kisoma kadi mahiri - vifaa vingi vya mwisho, au vifaa vya kiolesura (IFD, InterFace Device), vina uwezo wa kusoma na kuandika, ikiwa uwezo wa kadi mahiri na haki za ufikiaji zinaruhusu. Visomaji vya kadi mahiri vinaweza kuunganishwa kwenye kompyuta kupitia mlango wa serial, sehemu ya PCMCIA, au basi ya serial ya USB. Kulingana na njia ya kusoma habari, kadi zimegawanywa katika zifuatazo:

¦ mawasiliano;

¦ bila mawasiliano;

- na interface mbili.

Kadi za mawasiliano huingiliana na msomaji kwa kugusa pedi ya mawasiliano ya chuma ya kadi na anwani za msomaji. Njia hii ya kusoma ni rahisi kutekeleza, lakini huongeza kuvaa kwenye kadi na matumizi ya mara kwa mara. Kadi mahiri ya mawasiliano ina sehemu tatu:

¦ eneo la mawasiliano:

Mawasiliano sita au nane za mraba au mviringo;

Nafasi za mawasiliano zinafanywa kwa mujibu wa kiwango cha ISO-7816;

¦ chip (kadi ya microprocessor);

¦ msingi wa plastiki.

Visomaji vya kadi mahiri vinaweza kuunganishwa kwenye kibodi.

Wazalishaji wengine huzalisha aina nyingine za vifaa vya maunzi vinavyounganisha kadi mahiri ya mawasiliano na kisoma kadi mahiri. Tabia zao za kumbukumbu na uwezo wa kompyuta ni sawa na kadi smart. Vifaa maarufu "dongles" ni wale wanaotumia bandari ya USB. Vifunguo vya USB vinavutia mashirika fulani kwa sababu USB inazidi kuwa kiwango cha kawaida katika kompyuta mpya: shirika halihitaji kununua visomaji vyovyote kwa watumiaji.

Kutumia Vifaa Mahiri vilivyo na Uthibitishaji wa Ufunguo wa Umma

Kadi mahiri, funguo za USB na vifaa vingine mahiri vinaweza kuboresha utegemezi wa huduma za PKI: kadi mahiri inaweza kutumika kuhifadhi funguo za faragha za mtumiaji kwa njia salama, na pia kufanya mabadiliko ya kriptografia kwa usalama. Bila shaka, vifaa vya uthibitishaji mahiri havitoi usalama kamili, lakini hutoa usalama unaozidi uwezo wa kompyuta ya mezani ya kawaida.

Ufunguo wa faragha unaweza kuhifadhiwa na kutumika kwa njia tofauti, na watengenezaji tofauti hutumia mbinu tofauti. Rahisi zaidi ni kutumia kifaa mahiri kama diski kuu: kadi husafirisha ufunguo wa faragha inapohitajika, na shughuli za kriptografia hufanywa kwenye kituo cha kazi. Mbinu hii sio bora zaidi kwa mtazamo wa usalama, lakini ni rahisi kutekeleza na inaweka mahitaji ya chini kwa kifaa chenye akili. Mbinu nyingine mbili ni salama zaidi kwa sababu zinahitaji kifaa mahiri kufanya shughuli za kriptografia. Na ya kwanza, mtumiaji hutoa funguo kwenye kituo cha kazi na kuzihifadhi kwenye kumbukumbu ya kifaa. Katika pili, anazalisha funguo kwa kutumia kifaa. Katika matukio yote mawili, mara ufunguo wa faragha umehifadhiwa, hauwezi kuondolewa kutoka kwa kifaa au kupatikana kwa njia nyingine yoyote.

Kuzalisha jozi muhimu. Inazalisha ufunguo nje ya kifaa. Katika kesi hii, mtumiaji anaweza kutengeneza nakala rudufu ya ufunguo wa kibinafsi. Ikiwa kifaa kinashindwa, kinapotea, kuharibiwa au kuharibiwa, mtumiaji ataweza kuhifadhi ufunguo sawa wa kibinafsi kwenye kadi mpya. Hii ni muhimu ikiwa mtumiaji anahitaji kusimbua data yoyote, ujumbe, n.k. uliosimbwa kwa ufunguo unaolingana wa umma, lakini hili ni tatizo la muda mfupi katika kutoa uthibitishaji. Kwa kuongeza, ufunguo wa faragha wa mtumiaji uko katika hatari ya kuibiwa.

Inazalisha ufunguo kwa kutumia kifaa

Katika kesi hii, ufunguo wa faragha hauonekani kwa fomu wazi na hakuna hatari kwamba mshambuliaji ataiba nakala yake ya hifadhi. Njia pekee ya kutumia ufunguo wa faragha ni kupitia umiliki wa kifaa mahiri. Kwa kuwa ni salama zaidi, suluhisho hili linaweka mahitaji makubwa juu ya uwezo wa kifaa mahiri: lazima kitoe funguo na kutekeleza mabadiliko ya kriptografia. Suluhisho hili pia linadhania kuwa ufunguo wa faragha hauwezi kurejeshwa ikiwa kifaa kitashindwa, n.k. Hili ni jambo la kuwa na wasiwasi kuhusu unapotumia ufunguo wa faragha kwa usimbaji fiche, lakini si pale unapotumika kwa uthibitishaji, au katika huduma zingine ambapo sahihi ya dijitali iko. kutumika.

Kwa kadi smart, kuna viwango kadhaa vya kimataifa vinavyofafanua karibu mali zote za kadi, kutoka kwa ukubwa, mali na aina za plastiki hadi maudhui ya habari kwenye kadi, itifaki za uendeshaji na muundo wa data.

¦ Kiwango cha ISO-7816 "Kadi za utambulisho - kadi zilizo na chip iliyo na anwani." Inajumuisha sehemu sita zinazodhibiti sifa za kimwili, ukubwa na eneo la mawasiliano, ishara na itifaki, muundo wa faili, anwani na kubadilishana amri.

¦ Kiwango cha EMV (Europay, MasterCard & Visa). Sehemu ya kwanza na ya pili inategemea ISO-7816, na sehemu zinazofuata zinaongeza ufafanuzi wa usindikaji wa shughuli, vipimo vya mwisho, nk.

"Anatomy ya kutisha" ni smart - udukuzi unawezekana?

Kulingana na takwimu za lengo, karibu kadi bilioni 2 za smart zilizo na microchip iliyojengewa ndani ziliuzwa duniani kote mwaka wa 2002, na mauzo ya vifaa hivyo yanatarajiwa kukua katika miaka ijayo.

Kwa nini kadi smart ni maarufu sana? Pengine, upeo wa matumizi ya "vifaa" hivi huongezeka mara kwa mara: kutoka kwa kadi za benki na simu hadi kitambulisho cha pasipoti ya digital. Upanuzi mkubwa wa kadi mahiri umehitaji zaidi ya uhakikisho tu kutoka kwa watengenezaji kuhusu usalama wa teknolojia mahiri.

Je, inawezekana kudukua kadi mahiri, na ikiwa ni hivyo, jinsi ya kuifanya?

Unaweza. Kulingana na takwimu za kutisha za malengo, tangu mwaka wa 1994, karibu kadi zote (pamoja na Uropa, na kisha Amerika na Asia) kadi za smart zinazojulikana wakati huo zilizotumiwa katika mifumo ya televisheni ya kulipia zilidukuliwa kwa mafanikio kwa kutumia mbinu za uhandisi wa kinyume. Unafikiri ni wapi mifumo ya kutazama vituo vya TV vilivyofungwa ilionekana kwenye rafu za masoko maarufu? Ikiwa yeyote kati ya wasomaji atafikiria ghafla kuwa kudukua kadi smart ya benki ni sawa na hadithi za kisayansi, tunathubutu kukuhakikishia kwamba sivyo. Jambo zima ni kwamba wanajaribu tu kutofichua habari zilizoainishwa tayari za aina hii, ili wasivunje sifa ya huduma za miundo ya benki.

Wacha tuangalie baadhi ya njia zinazotumika kwa uchunguzi wa maiti kwa sasa. Kumbuka kuwa utapeli wa kitaalam, kama sheria, unahusisha matumizi ya pamoja ya mbinu kadhaa.

Uchambuzi wa habari kutoka kwa njia za pembeni inamaanisha kuwa mshambuliaji, kwa kutumia vifaa maalum, huondoa muundo wa sumakuumeme wa mionzi ya upande katika usambazaji wa nguvu, miunganisho ya kiolesura, saketi za kichakataji na nodi zingine zinazohusika moja kwa moja au kwa njia isiyo ya moja kwa moja katika utengenezaji, ubadilishaji au usambazaji wa ishara ya kufanya kazi.

Mashambulizi ya programu kuashiria matumizi ya kiolesura cha kawaida cha kuingiliana na kichakataji cha kadi mahiri. Kama sheria, katika kesi hii, utapeli unawezekana kwa sababu ya uwepo wa udhaifu dhahiri katika hatua za usalama za itifaki au algorithms ya kriptografia.

Teknolojia ya utekelezaji, au microsensing. Katika kesi hii, darubini hutumiwa, na kwa msaada wa micromanipulator, mshambuliaji hupata ufikiaji wa moja kwa moja kwenye eneo la kazi la chip, ambapo kifungu cha habari kinarekodiwa hatua kwa hatua (kidogo kidogo).

Teknolojia za kushindwa inaashiria uundaji wa hali isiyo ya kawaida ya uendeshaji wa chip ili kufungua njia zinazowezekana za ufikiaji wa habari iliyolindwa. Kwa mfano, mwishoni mwa Septemba 1996, timu ya watafiti kutoka Bellcore (kituo cha utafiti cha kampuni ya Bell ya Marekani) iliripoti kwamba udhaifu mkubwa unaowezekana wa asili ya jumla ulikuwa umegunduliwa katika vifaa salama vya siri, hasa katika kadi mahiri za kielektroniki. malipo (D. Boneh, R. A. DeMillo, R. J. Lipton "Juu ya Umuhimu wa Kuangalia Itifaki za Cryptographic kwa Makosa"; www.demiLLo.com/PDF/smart.pdf). Waandishi waliita njia yao ya kushambulia "uchambuzi wa siri katika Uwepo wa Makosa ya Vifaa." Kiini cha njia hiyo ni kwamba kosa katika uendeshaji wa mzunguko wa elektroniki unaosababishwa na ionization au mionzi ya microwave inaruhusu mtu kulinganisha maadili mabaya kwenye pato la kifaa na maadili sahihi, na hivyo kurejesha habari ya cryptographic iliyohifadhiwa kwenye kadi smart.

Mifumo ya ulinganifu ya crypto

Mifumo ya ulinganifu ya crypto(Pia usimbaji fiche linganifu, sifa linganifu) - njia ya usimbuaji ambayo ufunguo sawa wa kriptografia hutumiwa kwa usimbaji fiche na usimbuaji. Kabla ya uvumbuzi wa mpango wa usimbaji fiche usiolinganishwa, njia pekee iliyokuwepo ilikuwa usimbaji fiche linganifu. Ufunguo wa algoriti lazima uwe siri na pande zote mbili. Algorithm ya usimbaji huchaguliwa na wahusika kabla ya ubadilishanaji wa ujumbe kuanza.

Taarifa za msingi

Usimbaji fiche wa data na usimbaji fiche hutumiwa sana katika teknolojia ya kompyuta katika mifumo ya kuficha taarifa za siri na za kibiashara kutokana na matumizi mabaya ya wahusika wengine. Kanuni kuu ndani yao ni hali ambayo transmita na mpokeaji wanajua algoriti ya usimbaji fiche mapema, pamoja na ufunguo wa ujumbe, bila ambayo habari ni seti tu ya alama ambazo hazina maana.

Mfano wa classic wa algorithms vile ni algoriti za kriptografia linganifu iliyoorodheshwa hapa chini:

  • Rahisi kupanga upya
  • Ruhusa moja kwa ufunguo
  • Ruhusa mara mbili
  • Ruhusa "Mraba wa Uchawi"

Rahisi kupanga upya

Ruhusa rahisi isiyo na ufunguo ni mojawapo ya mbinu rahisi zaidi za usimbaji fiche. Ujumbe umeandikwa kwenye jedwali katika safu wima. Baada ya maandishi kuandikwa kwa safuwima, husomwa mstari kwa mstari ili kuunda usimbaji fiche. Ili kutumia misimbo hii, mtumaji na mpokeaji wanahitaji kukubaliana juu ya ufunguo ulioshirikiwa katika muundo wa saizi ya jedwali. Kuchanganya herufi katika vikundi haijajumuishwa kwenye ufunguo wa msimbo na hutumiwa tu kwa urahisi wa kuandika maandishi yasiyo na maana.

Ruhusa moja kwa ufunguo

Njia ya vitendo zaidi ya usimbaji fiche inayoitwa permutation ya ufunguo mmoja ni sawa na ile ya awali. Inatofautiana tu kwa kuwa nguzo za jedwali zimepangwa upya kulingana na neno kuu, kifungu au seti ya nambari za urefu wa mstari wa jedwali.

Ruhusa mara mbili

Kwa usalama zaidi, unaweza kusimba tena ujumbe ambao tayari umesimbwa kwa njia fiche. Njia hii inajulikana kama permutation mara mbili. Kwa kufanya hivyo, ukubwa wa meza ya pili huchaguliwa ili urefu wa safu na nguzo zake ni tofauti kuliko katika meza ya kwanza. Ni bora ikiwa wao ni wa hali ya juu. Kwa kuongeza, safu katika jedwali la kwanza zinaweza kupangwa upya, na safu katika jedwali la pili. Hatimaye, unaweza kujaza meza katika zigzag, nyoka, ond, au njia nyingine. Njia kama hizo za kujaza meza, ikiwa haziongeza nguvu ya cipher, basi fanya mchakato wa usimbuaji kuwa wa kufurahisha zaidi.

Ruhusa "Mraba wa Uchawi"

Miraba ya kichawi ni jedwali za mraba zenye nambari asilia zinazofuatana kutoka 1 iliyoandikwa kwenye seli zao, ambazo huongeza hadi nambari sawa kwa kila safu, kila safu na kila mlalo. Miraba kama hiyo ilitumiwa sana kuingiza maandishi yaliyosimbwa kulingana na nambari zilizotolewa ndani yake. Ikiwa utaandika yaliyomo kwenye jedwali kwa mstari, unapata usimbaji fiche kwa kupanga upya herufi. Kwa mtazamo wa kwanza, inaonekana kana kwamba kuna viwanja vichache sana vya uchawi. Walakini, idadi yao huongezeka haraka sana kadiri ukubwa wa mraba unavyoongezeka. Kwa hivyo, kuna mraba mmoja tu wa uchawi unaopima 3 x 3, ikiwa hutazingatia mizunguko yake. Tayari kuna mraba 880 wa uchawi wa 4 x 4, na idadi ya mraba ya uchawi ya ukubwa wa 5 x 5 ni karibu 250,000. Kwa hiyo, mraba mkubwa wa uchawi unaweza kuwa msingi mzuri wa mfumo wa kuaminika wa usimbuaji wa wakati huo, kwa sababu kwa mikono kujaribu kila kitu. chaguzi kuu za msimbo huu hazikufikirika.

Nambari kutoka 1 hadi 16 zinafaa katika mraba kupima 4 kwa 4. Uchawi wake ulikuwa kwamba jumla ya nambari katika safu, safu na diagonals kamili ilikuwa sawa na idadi sawa - 34. Viwanja hivi vilionekana kwanza nchini China, ambako walipewa. baadhi ya "nguvu za uchawi".

Baada ya hayo, maandishi ya maandishi yameandikwa kwa kamba (kusoma hufanywa kutoka kushoto kwenda kulia, mstari kwa mstari):
.irdzegu SzhaoyanP

Wakati wa kusimbua, maandishi yanafaa katika mraba, na maandishi wazi yanasomwa katika mlolongo wa nambari za "mraba wa uchawi". Mpango lazima uzae "miraba ya uchawi" na uchague inayohitajika kulingana na ufunguo. Mraba ni kubwa kuliko 3x3.

Hadithi

Mahitaji

Upotevu kamili wa mifumo yote ya takwimu ya ujumbe asili ni hitaji muhimu kwa sifa linganifu. Ili kufanya hivyo, cipher lazima iwe na "athari ya avalanche" - mabadiliko makubwa katika kizuizi cha usimbuaji yanapaswa kutokea na mabadiliko ya 1-bit katika data ya pembejeo (kwa kweli, maadili ya 1/2 bits ya kizuizi cha usimbuaji lazima mabadiliko).

Sharti lingine muhimu ni kutokuwepo kwa mstari (yaani, masharti f(a) xor f(b) == f(a xor b)), vinginevyo utumiaji wa uchanganuzi tofauti wa cryptanalysis kwa cipher unawezeshwa.

Mpango wa jumla

Hivi sasa, misimbo linganifu ni:

  • block ciphers. Wanachakata habari katika vizuizi vya urefu fulani (kawaida 64, 128 bits), wakitumia ufunguo wa kizuizi kwa mpangilio uliowekwa, kwa kawaida kupitia mizunguko kadhaa ya kuchanganya na kubadilisha, inayoitwa mizunguko. Matokeo ya kurudia raundi ni athari ya anguko - upotezaji unaoongezeka wa mawasiliano kati ya vizuizi vya data wazi na iliyosimbwa.
  • mtiririko wa ciphers, ambapo usimbaji fiche unafanywa kwa kila biti au baiti ya maandishi asilia (wazi) kwa kutumia gamma. Cipher ya mkondo inaweza kuundwa kwa urahisi kulingana na block cipher (kwa mfano, GOST 28147-89 katika hali ya gamma), iliyozinduliwa kwa hali maalum.

Sifa nyingi za ulinganifu hutumia mchanganyiko changamano wa idadi kubwa ya vibadala na vibali. Sifa nyingi kama hizo zinatekelezwa kwa kupita kadhaa (wakati mwingine hadi 80), kwa kutumia "kifunguo cha kupitisha" kwenye kila kupita. Seti ya "funguo za kupitisha" kwa kupita zote inaitwa "ratiba muhimu". Kama sheria, imeundwa kutoka kwa ufunguo kwa kufanya shughuli fulani juu yake, ikiwa ni pamoja na vibali na uingizwaji.

Njia ya kawaida ya kuunda algoriti za usimbaji linganifu ni mtandao wa Feistel. Algorithm huunda mpango wa usimbuaji kulingana na kazi F (D, K), ambapo D ni kipande cha data nusu ya ukubwa wa kizuizi cha usimbuaji, na K ni "ufunguo wa kupitisha" kwa kupitisha fulani. Chaguo la kukokotoa halihitajiki kugeuzwa - utendakazi wake kinyume unaweza kuwa haujulikani. Faida za mtandao wa Feistel ni bahati mbaya karibu kabisa ya usimbuaji na usimbuaji (tofauti pekee ni mpangilio wa nyuma wa "funguo za kupita" kwenye ratiba), ambayo inawezesha sana utekelezaji wa vifaa.

Uendeshaji wa vibali huchanganya biti za ujumbe kulingana na sheria fulani. Katika utekelezaji wa vifaa, inatekelezwa kidogo kama ubadilishaji wa waya. Ni shughuli za vibali zinazowezesha kufikia "athari ya maporomoko ya theluji." Operesheni ya vibali ni ya mstari - f(a) xor f(b) == f(a xor b)

Shughuli za ubadilishaji hufanywa kwa kubadilisha thamani ya baadhi ya sehemu ya ujumbe (mara nyingi biti 4, 6 au 8) na nambari ya kawaida, yenye waya ngumu katika algoriti kwa kufikia safu isiyobadilika. Operesheni ya kubadilisha inatanguliza kutokuwa na mstari katika algoriti.

Mara nyingi nguvu ya algorithm, haswa dhidi ya cryptanalysis tofauti, inategemea uchaguzi wa maadili kwenye jedwali la kuangalia (S-boxes). Kwa kiwango cha chini, inachukuliwa kuwa haifai kuwa na vitu vilivyowekwa S(x) = x, na pia kutokuwepo kwa ushawishi wa baiti fulani ya pembejeo kwenye matokeo - ambayo ni, kesi wakati matokeo kidogo ni sawa kwa jozi zote za maneno ya ingizo ambayo yanatofautiana katika sehemu hii tu ya .

Vigezo vya algorithm

Kuna algorithms nyingi (angalau dazeni mbili) za ulinganifu wa cipher, vigezo muhimu ambavyo ni:

  • urefu wa ufunguo
  • idadi ya raundi
  • urefu wa kizuizi kilichochakatwa
  • utata wa utekelezaji wa maunzi/programu
  • utata wa ubadilishaji

Algorithms ya kawaida

  • AES (Kiingereza) Kiwango cha Juu cha Usimbaji Fiche) - Kiwango cha usimbaji fiche cha Marekani
  • GOST 28147-89 - kiwango cha encryption data ya ndani
  • DES (Kiingereza) Kiwango cha Usimbaji Data) - kiwango cha usimbaji data nchini Marekani

Ikilinganisha na mifumo ya siri ya asymmetric

Faida

  • kasi (kulingana na Crystalgraphy Iliyotumika - maagizo 3 ya ukubwa wa juu)
  • urahisi wa utekelezaji (kwa sababu ya shughuli rahisi)
  • urefu mfupi unaohitajika wa ufunguo kwa uimara unaolinganishwa
  • maarifa (kutokana na umri mkubwa)

Mapungufu

  • utata wa usimamizi muhimu katika mtandao mkubwa. Inamaanisha ongezeko la quadratic katika idadi ya jozi muhimu ambazo zinapaswa kuzalishwa, kupitishwa, kuhifadhiwa na kuharibiwa kwenye mtandao. Kwa mtandao wa wanachama 10, funguo 45 zinahitajika, kwa 100 tayari 4950, kwa 1000 - 499500, nk.
  • utata wa kubadilishana muhimu. Ili kuitumia, ni muhimu kutatua tatizo la uhamisho wa kuaminika wa funguo kwa kila mteja, kwani kituo cha siri kinahitajika kuhamisha kila ufunguo kwa pande zote mbili.

Ili kufidia mapungufu ya usimbaji linganifu, mpango wa kriptografia wa pamoja (mseto) unatumiwa sana kwa sasa, ambapo ufunguo wa kikao unaotumiwa na wahusika kubadilishana data kwa kutumia usimbaji linganifu hupitishwa kwa kutumia usimbaji fiche usiolinganishwa.

Mali muhimu ya ciphers symmetric ni kutowezekana matumizi yao kuthibitisha uandishi, kwa kuwa ufunguo unajulikana kwa kila chama.

Fasihi

  • Gatchin Yu.A., Korobeinikov A.G. Misingi ya algorithms ya kriptografia. Mafunzo. - St. Petersburg: SPbGITMO (TU), 2002.
  • Kohn P. Universal algebra. - M.: Mir. - 1968.
  • Korobeinikov A. G. Misingi ya hisabati ya cryptography. Mafunzo. St. Petersburg: St. Petersburg GITMO (TU), 2002.

Viungo

  • kitabu cha marejeleo, ikijumuisha usimbaji fiche linganifu
Juni 13, 2017 saa 01:37 jioni

Usimbaji fiche linganifu na linganifu. Uchambuzi wa kanuni za kusambaza data iliyosimbwa kwa njia fiche kati ya seva

  • Algorithms,
  • Usalama wa Habari,
  • Crystalgraphy

Wacha tukubaliane kwamba mashine inayosambaza data iliyosimbwa daima ni mashine A, na mashine inayoipokea imeteuliwa B.

Maktaba hutatua kesi mbili zinazowezekana (ikiwa ni lazima, nitaongeza utendaji):


2) Kesi wakati kuna mashine na inahitaji kuhamisha data iliyosimbwa kwa mashine nyingine (B). Katika kesi hii, mwanzilishi wa uhamisho ni mashine ya kwanza (A).

Maktaba hutumia chaguzi zote mbili, kwa kila moja ambayo kuna onyesho:

Kwa kesi ya kwanza kwenye folda seva_b_1 kuna script testGetDataFromA.php
Kwa kesi ya pili kwenye folda seva_a_1 kuna script testPushDataToB.php

Maktaba ya visa vyote viwili ni Encode.php sawa, lakini kwa kesi ya kwanza hati zingine za ziada zinahitajika, kwa kesi ya pili, kwa hivyo ili kuzuia kuchanganyikiwa, nilizigawanya kiutendaji katika seva_a_1 na folda_b_1 (labda matoleo ya baadaye ya maktaba itakuwa na muundo tofauti). Kwa hivyo, ikiwa mashine zote mbili zinahitaji kutekeleza kesi ya kwanza ya uhamishaji na ya pili, kila mashine kama hiyo itakuwa na folda zote mbili.

Sasa hebu tuzungumze juu ya jinsi suluhisho zote mbili zinatekelezwa:

Kiini cha visa vyote viwili ni kwamba mashine hubadilishana ufunguo wa ulinganifu ili kupitisha maandishi ya siri. Kwa ubadilishanaji huu, usimbuaji wa asymmetric hutumiwa, ambayo ni, moja ya mashine (X) hutoa jozi ya funguo (za umma na za kibinafsi) na kupitisha ufunguo wa umma kwa mashine ya pili. Mashine ya pili hutoa ufunguo wa ulinganifu kwa ufunguo huu wa umma na kuirejesha kwa ya kwanza, ambayo huiondoa kwa ufunguo wake wa kibinafsi. Tofauti iko katika ambaye ni mwanzilishi wa maambukizi - ikiwa maandishi yaliyosimbwa yanahitaji kupokea mlolongo mmoja wa vitendo, ikiwa hupitishwa - mwingine. Maktaba inayozingatiwa pia hufanya ukaguzi wa ziada, ambao hujitokeza kwa ukweli kwamba pamoja na ufunguo wa ulinganifu uliosimbwa kwa kutumia ufunguo wa umma, data hupitishwa ambayo ni mashine zote mbili tu zinajua na ambayo inaweza kubadilishwa mara moja kwa mwaka (au hata kupitishwa katika kila shughuli ikiwa mtu anataka kucheza na kanuni).

Kabla ya kuanza kuchambua utekelezaji, nitaonyesha tu kwamba ufunguo wa ulinganifu umesimbwa kwa kutumia kazi za usimbuaji wa php Mcrypt kulingana na mpango ufuatao:

$encrypted_data = urlencode(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $sinc_key, $notice_text, MCRYPT_MODE_ECB))); $test_decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$sinc_key, base64_decode(urldecode($encrypted_data)),MCRYPT_MODE_ECB));
Usimbaji fiche usiolinganishwa hushughulikiwa kwa kutumia php OpenSSL

Kwa hivyo:

Nitazingatia kwanza michoro iliyorahisishwa ya visa vyote viwili vya maambukizi vilivyoonyeshwa mwanzoni, na kisha kwa undani zaidi.

1) Kisa wakati kuna mashine (B) inayohitaji data kutoka kwa mashine A (kwa mfano, inahitaji kupata tokeni ya mteja) na data hii lazima ipokelewe kwa usalama. Wale. Mwanzilishi wa uhamishaji ni mashine B.

Mashine B hutengeneza jozi ya funguo (za kibinafsi na za umma) na hufanya ombi kwa mashine A, kutuma ufunguo wa umma (kuweka ule wa kibinafsi). Mashine A hutengeneza ufunguo wa ulinganifu na husimba kwa njia fiche maelezo ya siri N yanayohitajika kwa ajili ya uwasilishaji. Baada ya hayo, mashine A hurejesha ufunguo wa ulinganifu uliosimbwa kwa ufunguo wa umma, pamoja na maelezo ya siri N yaliyosimbwa kwa ufunguo wa ulinganifu. Mashine B huondoa data kwa kutumia njia fiche. ufunguo wake wa kibinafsi. Katika data iliyosimbwa, anapokea ufunguo wa ulinganifu na data iliyosimbwa nayo. Kwa kutumia ufunguo wa ulinganifu, huondoa data ya siri.

Hakuna hakikisho kwamba gari A ni gari letu, na si afisa wa FSB Anatoly. Kwa hivyo, utekelezaji wa algorithm hii na maktaba hubadilishwa kidogo na ukaguzi wa ziada:

(Onyesho la hati - server_b_1/testGetDataFromA.php)

Ufunguo wa siri SIGNATURE_KEY umesajiliwa kwenye mashine zote mbili, ambazo hushiriki katika uthibitishaji wa ziada. Mashine B hutoa jozi ya funguo (za kibinafsi na za umma), ufunguo wa sasa wa kuunganisha na kufanya ombi (http://.../server_a_1/getDataToB.php) kwa mashine A, kutuma ufunguo wa sasa wa kuunganisha na ufunguo wa umma ( kuweka ya kibinafsi). Mashine A hutengeneza ufunguo wa ulinganifu na husimba kwa njia fiche taarifa ya siri N inayohitajika kwa usambazaji. Data ya ziada M pia inatolewa, ambayo ni md5 kutoka kwa laini iliyo na SIGNATURE_KEY na ufunguo wa muunganisho wa sasa. Baada ya hayo, mashine A hurejesha mfuatano uliosimbwa kwa njia fiche kwa ufunguo wa umma kutoka kwa ufunguo wa ulinganifu na data ya ziada M, pamoja na taarifa ya siri N iliyosimbwa kwa ufunguo wa ulinganifu. Mashine B husimbua data kwa kutumia ufunguo wa ulinganifu kwa ufunguo wake wa faragha, hutengeneza kamba iliyotolewa na M (kwa kuwa inaweza kukokotoa md5 kwa urahisi kutoka kwa mfuatano ulio na SIGNATURE_KEY na ufunguo wa muunganisho wa sasa). Ikiwa data ya ziada inalingana (ambayo ni ukaguzi wa ziada kwa kila muamala ambao mashine A inaujua SIGNATURE_KEY, na kwa hivyo mashine yetu), mashine B hutoa ufunguo wa ulinganifu ambao hutumiwa nao kusimbua maelezo ya siri ya N.

2) Kesi wakati kuna mashine na inahitaji kuhamisha data iliyosimbwa kwa mashine nyingine (B). Katika kesi hii, mwanzilishi wa uhamisho ni mashine ya kwanza (A).

Algorithm iliyorahisishwa ya uhamishaji kama huu ni kama ifuatavyo.

Kabla ya kuhamishia mashine B, mashine A inahitaji ufunguo wa umma wa mashine B ili kuhamisha taarifa. Ili kufanya hivyo, ni (mashine A) kwanza hufanya ombi la kupata ufunguo wa umma kwa mashine B. Baada ya kuipokea, mashine A inazalisha ufunguo wa ulinganifu, husimba maelezo yanayohitajika nayo, na husimba haya yote kwa ufunguo wa umma uliopokea. Data hutumwa kwa mashine B, ambayo husimbua pakiti kwa ufunguo wake wa faragha na kusimbua data kwa ufunguo wa ulinganifu.

Hakuna hakikisho kwamba tulipokea ufunguo wa umma kutoka kwa mashine B, na sio kutoka kwa wakala wa FSB Petrov. Kwa hivyo, utekelezaji wa algorithm hii na maktaba hubadilishwa kidogo na ukaguzi wa ziada:

(Onyesho la hati - server_a_1/testPushDataToB.php)

Ufunguo wa siri SIGNATURE_KEY umesajiliwa kwenye mashine zote mbili, ambazo zinahusika katika uthibitishaji wa ziada. Mashine A, ikiwa imetoa md5 kutoka kwa ufunguo wa muunganisho wa sasa na SIGNATURE_KEY hutuma data hii (pamoja na ufunguo ambao haujasimbwa wa muunganisho wa sasa) kwa mashine B (http://.../server_b_1/get_public_key.php), ambayo hutoa ufunguo wa umma ikiwa tu utapata md5 sawa kutoka kwa SIGNATURE_KEY yake na ufunguo uliopokewa wa muunganisho wa sasa. Hii haisuluhishi suala kwamba ufunguo wa umma utapokelewa haswa kutoka kwa mashine A, na sio kutoka kwa mashine ya wakala wa FSB Vasily, lakini inahakikisha mashine B kwamba hutoa ufunguo wa umma haswa kwa mashine A (ingawa inazalisha ufunguo wa umma. kwa ujumla ni jambo la kiholela, lakini hata hapa ni bora kuwa salama). Pamoja na ufunguo wa umma, md5 inatolewa kutoka SIGNATURE_KEY na ufunguo wa pili wa muunganisho wa sasa. Kitufe cha pili cha muunganisho wa sasa ni heshi ya kiholela. Data ya ufunguo wa umma, ufunguo wa pili wa muunganisho wa kiholela na md5 iliyobainishwa hurejeshwa kwa mashine A. Baada ya kupokea ufunguo wa pili wa muunganisho wa kiholela, mashine A, ikijua SIGNATURE_KEY, hutengeneza md5 ya uthibitishaji na ikiwa inalingana na kile mashine iliyopokelewa, ufunguo wa umma unachukuliwa kuwa kutoka kwa mashine B, na sio kutoka kwa Vasily.

Ifuatayo, mashine A (hapa mpango ni sawa na kesi ya kwanza ya uhamisho wa data) hutoa ufunguo wa ulinganifu na hundi ya ziada, ambayo ni md5 kutoka SIGNATURE_KEY na ufunguo wa uunganisho wa sasa. Data hii imesimbwa kwa njia fiche kwa ufunguo wa umma kutoka kwa mashine B. Kisha, data, pamoja na ufunguo wa uunganisho wa sasa, hutumwa kwa mashine B (http://.../server_b_1/pushDataFromA.php), ambayo hutoa muunganisho wa sasa. key na SIGNATURE_KEY md5 kulingana na data iliyopatikana kutoka kwa data hii , huiangalia na kile kilichopokelewa, ambayo inathibitisha kwamba data si kutoka kwa wakala wa FSB Nikolai. Ikiwa kila kitu kiko sawa na hundi imepitishwa, ufunguo wa ulinganifu hutolewa kwa kutumia ufunguo wa kibinafsi, ambao tayari unapunguza ujumbe.

Nitafurahi ikiwa habari hii ni muhimu kwa mtu.