Mifumo ya ulinganifu ya crypto. IDEA algorithm. Kanuni ya usimbaji fiche ya Blowfish. Kwa hivyo, katika algorithm ya OFB ni muhimu kuzuia sio kurudia tu kwa vekta za uanzishaji, lakini pia ukweli kwamba kizuizi chochote cha j-th cha data ya pembejeo ya kazi kwa ujumbe mmoja haitumiki.

Toleo la awali la algorithm ya IDEA ilionekana mwaka wa 1990. Watengenezaji wa algorithm, Xuejia Lai na James Massey kutoka Taasisi ya Uswisi ETH Zurich, waliipa jina PES (Kiwango cha Usimbaji Kinachopendekezwa) kwa sababu algorithm hii ilipendekezwa kuchukua nafasi ya kiwango cha DES. Inafaa kukumbuka kuwa ETH Zurich na Profesa James Massey pia wanajulikana kwa algoriti walizotengeneza katika familia za SAFER/SAFER+/SAFER++.

Mwaka mmoja baadaye, algorithm ilibadilishwa ili kuongeza upinzani wa kriptografia kwa uchanganuzi tofauti wa cryptanalysis. Toleo jipya ilipokea jina la IPES (PES iliyoboreshwa - PES iliyoboreshwa), na mwaka mmoja baadaye algorithm ilibadilisha jina lake kuwa IDEA (Algorithm ya Usimbaji Data ya Kimataifa - algorithm ya kimataifa usimbaji fiche wa data).

Tabia kuu na muundo

Kanuni ya IDEA husimba data katika vizuizi vya biti 64, na ufunguo wa usimbaji wa algoriti una ukubwa wa biti 128. Kizuizi cha data iliyosimbwa imegawanywa katika vizuizi vinne vya 16-bit A, B, C na D (Mchoro 1), ambayo raundi nane za mabadiliko hufanywa:

A = A [x] Kr1 B = B + Kr2 C = C + Kr3 D = D [x] Kr4 T1 = A [+] C T2 = B [+] D T1 = T1 [x] Kr5 T2 = T1 + T2 T2 = T2 [x] Kr6 T1 = T1 + T2 A = A [+] T2 B = B [+] T1 C = C [+] T2 D = D [+] T1,

ambapo Krn ni subkey n ya duru r, "+" ni utendakazi wa kuongeza uendeshaji wa 16-bit modulo 2 (kwa nguvu ya 16), [+] ni ya busara kidogo. uendeshaji wa kimantiki"kipekee au" (XOR), [x] - kuzidisha kwa modulo ya uendeshaji wa biti-16 (2 (hadi nguvu ya 16) + 1), na thamani ya kizuizi kidogo kinachojumuisha sufuri pekee inachukuliwa kama thamani 2 (kwa Nguvu ya 16) shahada).

Baada ya kukamilisha hatua zilizoelezwa hapo juu, vizuizi viwili vya ndani (B na C) vinabadilishwa - katika mizunguko yote isipokuwa ya mwisho. Baada ya raundi nane kukamilika, mabadiliko ya ziada hufanywa (wakati mwingine huitwa raundi ya tisa ya algorithm):

A" = A [x] K91 B" = B + K92 C" = C + K93 D" = D [x] K94

Nakala ya maandishi ni matokeo ya mshikamano wa maadili yanayotokana A, B, C" na D".

Operesheni ya usimbuaji ni sawa na usimbaji fiche, na tofauti kwamba wakati wa usimbuaji funguo ndogo zilizorekebishwa hutumiwa kwa mlolongo tofauti:

K"r1 = (K(10-r)1)-1 K"r2 = -K(10-r)3 K"r3 = -K(10-r)2 K"r4 = (K(10-r) 4)-1 K"r5 = K(9-r)5 K"r6 = K(9-r)6,

isipokuwa raundi ya 1 na 9, ambayo funguo ndogo K"r2 na K"r3 zinabadilishwa. Hapa K"rn ni ufunguo wa n wa duru ya usimbuaji r, -x na x-1 ni maadili kinyume ya x yanayohusiana na shughuli zilizo hapo juu za modulo 2 (hadi nguvu ya 16) na modulo ya kuzidisha (2 nguvu ya 16) + 1) mtawalia, na 0 (hadi -1 nguvu) = 0.

Utaratibu muhimu wa upanuzi

Madhumuni ya utaratibu muhimu wa upanuzi ni kutoa funguo ndogo 52 za ​​16-bit zinazotumiwa katika duru za usimbaji fiche na mabadiliko ya ziada (yaani, jumla ya biti 832 habari muhimu). Utaratibu huu Ni rahisi sana, na inafanya kazi kama hii:

  1. Ufunguo wa usimbuaji wa 128-bit umegawanywa katika funguo nane za 16-bit; wanakuwa subkeys nane za kwanza za algorithm (K11, K12, K13, K14, K15, K16, K21, K22).
  2. Kitufe cha usimbuaji kimezungushwa kushoto biti 25.
  3. Matokeo yake yamegawanywa katika subkeys nane zifuatazo.
  4. Kitufe cha usimbuaji hubadilishwa kwa mzunguko kwenda kushoto kwa bits 25, na kadhalika hadi nambari inayohitajika ya funguo ndogo itatolewa.

Nguvu ya algorithm ya kriptografia

Mwaka uliofuata sana baada ya kuonekana kwa algorithm ya PES, waandishi wake walichapisha kazi ambayo udhaifu wa algorithm kuhusiana na cryptanalysis tofauti ilithibitishwa (tazama, kwa mfano, makala, "BYTE / Russia" No. 11"2004 ): ili kuamua ufunguo wa usimbuaji, inatosha kufanya shughuli 2 (hadi nguvu ya 64), wakati hesabu kamili ya maadili ya ufunguo wa 128-bit ingehitaji kufanya shughuli 2 (hadi 128th).

Algorithm ya IDEA iliibuka kama matokeo ya marekebisho madogo kwa algorithm ya PES (Mchoro 2). Ikiwa unalinganisha mipango ya algorithm ya IDEA na PES, huwezi kuona tofauti nyingi:

  • operesheni ya kuzidisha ya subblock B na subkey ya pili ya pande zote inabadilishwa na operesheni ya kuongeza,
  • operesheni ya kuongeza ya subblock D na subkey ya nne ya pande zote inabadilishwa na operesheni ya kuzidisha,
  • Njia nyingine ni kuhamisha vizuizi vidogo mwishoni mwa mzunguko.

Kama mmoja wa wataalamu mashuhuri zaidi wa kuficha siri duniani, Bruce Schneier, alibainisha katika kitabu chake Applied Cryptography, "... inashangaza jinsi mabadiliko madogo kama haya yanaweza kuleta tofauti kubwa." Algorithm ya IDEA ilikuwa na kinga dhidi ya uchanganuzi tofauti, na katika kitabu hicho hicho (kilichochapishwa mnamo 1996), Bruce Schneier alisema juu yake: "Nadhani ni algoriti bora na ya kuaminika zaidi iliyochapishwa hadi leo."

Walakini, mnamo 1996 hiyo hiyo, mchambuzi maarufu wa cryptanalyst Paul Kocher aligundua shambulio gumu zaidi la kutekeleza ambayo inaruhusu, kupitia vipimo vya mara kwa mara vya usahihi wa juu wa wakati wa utekelezaji, kusimba 2 (kwa nguvu ya 20) maandishi wazi yaliyochaguliwa kwa nasibu kwenye funguo zinazohusiana na a. uhusiano fulani na ufunguo unaotaka , na uchanganuzi uliofuata wa matokeo ili kukokotoa ufunguo wa usimbaji fiche unaohitajika. Shambulio hili(kama vile mashambulizi mengine kwenye funguo zilizounganishwa) inadhani kuwa cryptanalyst haina ufikiaji wa moja kwa moja kwa ufunguo unaotafutwa (kwa mfano, ufunguo umepachikwa katika aina fulani ya encryptor ya vifaa au kadi smart), lakini inaweza kubadilisha vipande mbalimbali vya ufunguo. kwa namna fulani.

Na mapema, mnamo 1993, wataalam kadhaa wa maandishi kutoka Ubelgiji waligundua madarasa kadhaa ya funguo dhaifu katika algorithm ya IDEA (jumla ya 2 (hadi nguvu ya 23) + 2 (hadi nguvu ya 35) + 2 (hadi nguvu ya 51) funguo za digrii tofauti za udhaifu), ambayo baadhi, kwa mfano, inaweza kuhesabiwa kwa shambulio la cryptanalytic na maandishi wazi yaliyochaguliwa. Walakini, waandishi wa shambulio hili wenyewe walipendekeza "dawa" - funguo dhaifu huondolewa kwa kuweka. Uendeshaji wa XOR 0DAE maalum ya heksadesimali kwa kila funguo ndogo kabla ya kuitumia.

Kwa hivyo, licha ya mapungufu yaliyogunduliwa, algorithm ya IDEA inachukuliwa kuwa algorithm yenye nguvu ya juu ya cryptographic. Faida isiyoweza kuepukika ya algorithm hii ni kasi kubwa usimbaji fiche, sio chini ya mara mbili ya algoriti ya DES (kulingana na jukwaa ambalo usimbaji fiche unafanywa). Na uwezo wa kufanya operesheni muhimu ya upanuzi "kwenye kuruka" (yaani, sambamba na utekelezaji wa duru za usimbuaji) unakaribishwa sana na zaidi. algorithms za kisasa usimbaji fiche. Walakini, inafaa kusema kuwa kasi ya usimbuaji imepunguzwa kwa sababu ya uwepo wa shughuli zinazotumia rasilimali nyingi kwa kuhesabu modulo za kuzidisha za kuzidisha (2 (hadi nguvu ya 16) + 1).

***

Kanuni ya IDEA haikufanya hivyo kiwango cha kimataifa usimbaji fiche, kama waandishi wake walivyotaka. Hata hivyo, inaweza kuchukuliwa kuwa mojawapo ya algoriti za usimbaji za kawaida ulimwenguni. IDEA bado inatumika kwa njia nyingi maombi mbalimbali, ikijumuisha programu inayojulikana na inayotumika ya ulinzi wa data ya PGP.

Algorithm WAZO (Algorithm ya Kimataifa ya Usimbaji Data) ni block cipher. Inafanya kazi kwenye vitalu vya 64-bit maandishi wazi. Faida isiyo na shaka ya algorithm ya IDEA ni kwamba ufunguo wake una urefu wa biti 128. Algorithm sawa hutumiwa kwa usimbaji fiche na usimbuaji.

Toleo la kwanza la algorithm ya IDEA ilipendekezwa mwaka wa 1990, waandishi wake walikuwa H. Lei na J. Massey. Algorithm ya asili iliitwa PES(Kiwango cha Usimbaji Kinachopendekezwa). Toleo lililoboreshwa la algorithm hii, iliyoandaliwa mnamo 1991, iliitwa IPES(Kiwango cha Usimbaji Kinachopendekezwa Kilichoboreshwa). Mnamo 1992, IPES ilibadilisha jina lake kuwa IDEA. Kanuni ya IDEA hutumia michakato ya kuchanganya na kutawanya kwa usimbaji fiche, ambayo hutekelezwa kwa urahisi katika maunzi na programu.

    IDEA hutumia shughuli zifuatazo za hisabati:
  • bitwise kuongeza modulo 2 (kipekee AU operesheni); operesheni inaonyeshwa kama (+);
  • nyongeza ya nambari kamili ambazo hazijasainiwa modulo 2 16; operesheni imeteuliwa kama [+];
  • kuzidisha modulo nambari kamili ambazo hazijatiwa sahihi (2 16 +1), na kizuizi cha sufuri 16 kilichochukuliwa kama 2 16; operesheni imeashiriwa kama (·).

Shughuli zote zinafanywa kwenye vizuizi vidogo-16.

    Operesheni hizi tatu haziendani kwa maana kwamba:
  • hakuna jozi kati ya shughuli hizi tatu zinazokidhi sheria ya ushirika,
    kwa mfano a[+] (b(+)c) # (a[+]b) (+)c;
  • hakuna jozi kati ya shughuli hizi tatu zinazokidhi sheria ya usambazaji,
    kwa mfano a[+] (b(·)c) # (a[+]b) (·) (a[+]с) .

Mchanganyiko wa shughuli hizi tatu hutoa mabadiliko changamano ya data ya ingizo, na kufanya IDEA kuwa ngumu zaidi kuchanganua ikilinganishwa na DES, ambayo inategemea tu operesheni ya XOR.

Mchoro wa jumla wa algorithm ya IDEA umeonyeshwa kwenye Mchoro 1. Kizuizi cha data cha 64-bit kimegawanywa katika vizuizi vinne vya 16-bit. Vizuizi vidogo hivi vinne vinakuwa pembejeo kwa kitanzi cha kwanza cha algoriti. Jumla ya mizunguko minane inafanywa. Kati ya mizunguko, vizuizi vidogo vya pili na vya tatu hubadilisha mahali. Katika kila mzunguko, mlolongo ufuatao wa shughuli hufanywa:

  1. (+) - nyongeza ya matokeo ya hatua 1 na 3.
  2. (+) - nyongeza ya matokeo ya hatua 2 na 4.
  3. (·) - kuzidisha matokeo ya hatua ya 5 na subkey ya tano.
  4. [+] - nyongeza ya matokeo ya hatua ya 6 na 7.
  5. (·) - kuzidisha matokeo ya hatua ya 8 na subkey ya sita.
  6. [+] - kuongeza matokeo ya hatua ya 7 na 9.
  7. (+) - nyongeza ya matokeo ya hatua 1 na 9.
  8. (+) - nyongeza ya matokeo ya hatua 3 na 9.
  9. (+) - nyongeza ya matokeo ya hatua 2 na 10.
  10. (+) - nyongeza ya matokeo ya hatua 4 na 10.

Mtini.1. Mchoro wa algorithm ya IDEA (hali ya usimbaji fiche)

Pato la kitanzi ni vizuizi vinne, ambavyo hupatikana kama matokeo ya hatua 11, 12, 13 na 14. Mwishoni mwa kitanzi, vizuizi vya pili na vya tatu vinabadilishwa (isipokuwa kitanzi cha mwisho). Matokeo yake, pembejeo kwa mzunguko unaofuata huundwa.

    Baada ya mzunguko wa nane, mabadiliko ya mwisho ya pato hufanywa:
  1. (·) - kuzidisha kizuizi kidogo X 1 na ufunguo mdogo wa kwanza.
  2. [+] - nyongeza ya kizuizi kidogo X 2 na kizuizi kidogo cha pili.
  3. [+] - nyongeza ya kizuizi kidogo X 3 na kizuizi kidogo cha tatu.
  4. (·) - kuzidisha kizuizi kidogo X 4 na kizuizi kidogo cha nne.

Vizuizi vidogo vinne vinavyotokana na Y 1 ...Y 4 vimeunganishwa katika uzuiaji wa maandishi ya siri.

Kuunda funguo ndogo Z 1 ...Z 6 pia ni rahisi kiasi. Algorithm hutumia jumla ya funguo ndogo 52 (sita kwa kila loops nane na zingine nne ili kubadilisha pato). Kwanza, ufunguo wa 128-bit umegawanywa katika funguo nane za 16-bit. Hizi ni funguo nane za kwanza za algorithm (funguo ndogo sita kwa mzunguko wa kwanza na funguo mbili za kwanza kwa pili). Kisha ufunguo wa biti 128 huzungushwa kushoto kwa biti 25 na tena kugawanywa katika funguo ndogo nane (funguo ndogo nne kwa raundi ya pili na funguo ndogo nne kwa ya tatu). Ufunguo umezungushwa tena kushoto 25 ili kutoa funguo nane zinazofuata, na kadhalika, hadi algorithm ikamilike.

Usimbuaji unafanywa kwa njia sawa, isipokuwa kwamba mpangilio wa utumiaji wa funguo ndogo unabadilishwa, na idadi ndogo ya funguo ndogo za usimbuaji ni nyongeza (-x) au kuzidisha (1/x) za funguo ndogo za usimbaji (Jedwali 1) .

Jedwali 1
Unganisha usimbaji fiche na IDEA ya algorithm ya kusimbua
Mzunguko Kitufe cha usimbaji fiche Chomeka usimbuaji
1 Z 1 (1) Z 2 (1) Z 3 (1) Z 4 (1) Z 5 (1) Z 6 (1) Z 1 (9)-1 -Z 2 (9) -Z 3 (9) Z 4 (9)-1 Z 5 (8) Z 6 (8)
2 Z 1 (2) Z 2 (2) Z 3 (2) Z 4 (2) Z 5 (2) Z 6 (2) Z 1 (8)-1 -Z 3 (8) -Z 2 (8) Z 4 (8)-1 Z 5 (7) Z 6 (7)
3 Z 1 (3) Z 2 (3) Z 3 (3) Z 4 (3) Z 5 (3) Z 6 (3) Z 1 (7)-1 -Z 2 (7) -Z 3 (7) Z 4 (7)-1 Z 5 (6) Z 6 (6)
4 Z 1 (4) Z 2 (4) Z 3 (4) Z 4 (4) Z 5 (4) Z 6 (4) Z 1 (6)-1 -Z 3 (6) -Z 2 (6) Z 4 (6)-1 Z 5 (5) Z 6 (5)
5 Z 1 (5) Z 2 (5) Z 3 (5) Z 4 (5) Z 5 (5) Z 6 (5) Z 1 (5)-1 -Z 2 (5) -Z 3 (5) Z 4 (5)-1 Z 5 (4) Z 6 (4)
6 Z 1 (6) Z 2 (6) Z 3 (6) Z 4 (6) Z 5 (6) Z 6 (6) Z 1 (4)-1 -Z 3 (4) -Z 2 (4) Z 4 (4)-1 Z 5 (3) Z 6 (3)
7 Z 1 (7) Z 2 (7) Z 3 (7) Z 4 (7) Z 5 (7) Z 6 (7) Z 1 (3)-1 -Z 2 (3) -Z 3 (3) Z 4 (3)-1 Z 5 (2) Z 6 (2)
8 Z 1 (8) Z 2 (8) Z 3 (8) Z 4 (8) Z 5 (8) Z 6 (8) Z 1 (2)-1 -Z 3 (2) -Z 2 (2) Z 4 (2)-1 Z 5 (1) Z 6 (1)
Badilisha
wito
Utgång
Z 1 (9) Z 2 (9) Z 3 (9) Z 4 (9) Z 1 (1)-1 -Z 2 (1) -Z 3 (1) Z 4 (1)-1

Ili kutekeleza algoriti ya IDEA, ilikubaliwa kuwa upatanisho zidishi wa (1/x) wa 0 ni sawa na 0.

Kanuni ya IDEA ina faida kadhaa juu ya algoriti ya DES. Ni salama zaidi kuliko algoriti ya DES kwa sababu ufunguo wa IDEA wa biti 128 ni ukubwa wa mara mbili wa ufunguo wa DES. Muundo wa ndani Algorithm ya IDEA hutoa upinzani bora kwa uchambuzi wa siri u. Utekelezaji wa programu uliopo takriban mara mbili kasi ya utekelezaji Algorithm ya DES. Kanuni ya IDEA imepewa hati miliki huko Uropa na Marekani.

UTANGULIZI

Mifumo ya siri linganifu (pia usimbaji fiche linganifu, misimbo linganifu) ni mbinu ya usimbaji ambayo data sawa hutumiwa kwa usimbaji fiche na usimbuaji. ufunguo wa kriptografia. Kabla ya uvumbuzi wa mzunguko 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.

Usimbaji fiche wa data na usimbaji fiche hutumika sana katika teknolojia ya kompyuta katika mifumo ya kuficha siri na habari za kibiashara kutoka kwa matumizi mabaya na wahusika wengine. Kanuni kuu ndani yao ni hali ambayo mtoaji na mpokeaji wanajua mapema algorithm ya usimbuaji, pamoja na ufunguo wa ujumbe, bila ambayo habari ni seti ya alama ambazo hazina maana.

Mfano wa kawaida wa algoriti kama hizi ni algoriti za kriptografia linganifu zilizoorodheshwa hapa chini: - uingizwaji rahisi;

Ruhusa moja kwa ufunguo;

Ruhusa mara mbili;

Ruhusa "Mraba wa Uchawi";

Rahisi kupanga upya.

Upotevu kamili wa mifumo yote ya takwimu ya ujumbe asili ni hitaji muhimu kwa sifa linganifu. Kwa kufanya hivyo, cipher lazima iwe na "athari ya avalanche", i.e. lazima kutokea mabadiliko ya nguvu kizuizi cha usimbuaji na mabadiliko ya 1-bit katika data ya kuingiza (kwa kweli, maadili ya biti 1/2 ya kizuizi cha usimbaji inapaswa kubadilika).

Hivi sasa, misimbo linganifu ni:

· block ciphers. Usindika habari katika vizuizi vya urefu fulani (kawaida 64, 128 bits), ukitumia ufunguo kwenye kizuizi ndani. kwa utaratibu 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 misimbo, 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.

Kuna algorithms nyingi sifa linganifu, vigezo muhimu ambavyo ni:

· kudumu;

· Urefu wa ufunguo;

· idadi ya mizunguko;

urefu wa block iliyosindika;

· utata wa utekelezaji wa maunzi/programu;

· utata wa uongofu.

SEHEMU YA UCHAMBUZI

IDEA algorithm

IDEA (Kiingereza: Algorithm ya Kimataifa ya Usimbaji Data, algoriti ya kimataifa ya usimbaji data) ni algoriti ya usimbaji linganifu ya data iliyo na hati miliki na kampuni ya Uswizi ya Ascom. Huu ni algoriti ya usimbaji wa kuzuia ulinganifu ambayo ilipendekezwa kuchukua nafasi ya kiwango cha DES. Toleo la awali la algorithm ya IDEA ilionekana mnamo 1990. Watengenezaji wa algoriti, Xuejia Lai na James Massey wa Taasisi ya Uswizi ETH Zurich, waliipa jina PES (Kiwango cha Usimbaji Kinachopendekezwa).

Kwa kuwa IDEA hutumia ufunguo wa 128-bit na saizi ya 64-bit, maandishi wazi yamegawanywa katika vizuizi 64. Ikiwa mgawanyiko huo hauwezekani, kizuizi cha mwisho kimefungwa njia tofauti mlolongo fulani wa bits. Ili kuzuia uvujaji wa habari kuhusu kila kizuizi cha mtu binafsi, modes mbalimbali usimbaji fiche. Kila kizuizi asilia ambacho hakijasimbwa cha 64-bit kimegawanywa katika vizuizi vinne vya biti 16 kila moja, kwani shughuli zote za aljebra zinazotumiwa katika mchakato wa usimbuaji hufanywa kwa nambari 16-bit. IDEA hutumia algoriti sawa kwa usimbaji fiche na usimbuaji.

IDEA hutumia shughuli zifuatazo za hisabati:

Bitwise kuongeza modulo 2 (kipekee AU operesheni);

Nyongeza ya nambari kamili ambazo hazijasainiwa modulo 2 16;

Kuzidisha modulo nambari kamili ambazo hazijatiwa sahihi (2 16 +1), na kizuizi cha sufuri 16 kilichochukuliwa kama 2 16;

Hasara kubwa ni kwamba IDEA ina hati miliki, kwani hii inazuia usambazaji wake wa bure. IDEA haitoi kwa kuongeza urefu wa ufunguo. Hasara nyingine inaweza kuzingatiwa ukweli kwamba sio kazi zote za cryptanalysis zimechapishwa, yaani, inawezekana kabisa kwamba cipher imevunjwa, au itavunjwa katika siku zijazo.

Muundo wa algorithm ya IDEA imewasilishwa hapa chini (Mchoro 1).

· modi ya kitabu cha msimbo wa kielektroniki (ECB -- Kitabu cha Msimbo wa Kielektroniki)

· hali ya kuzuia minyororo (CBC - Mnyororo wa Kizuizi cha Cipher)

· hali maoni kwa maandishi ya siri (CFB -- Cipher Feed Back)

· hali ya maoni ya pato (OFB -- Nyuma ya Mlisho wa Pato).

Katika hili kazi ya kozi inazingatiwa utekelezaji wa programu Kanuni ya usimbaji fiche ya IDEA (Modi ya Nyuma ya Mlisho wa Cipher).

Kanuni ya IDEA (Algorithm ya Usimbaji Data ya Kimataifa) ni ya darasa la wasimbaji linganifu. Algorithm hii ilitengenezwa mnamo 1990 kama njia mbadala kwa algorithm ya DES(Kiwango cha Usimbaji Data). Algorithm inatokana na wazo la mabadiliko mchanganyiko, ambayo kwa nasibu husambaza maandishi asilia katika nafasi ya maandishi ya siri.

Mabadiliko ya mchanganyiko yanatekelezwa kwa kutumia mlolongo unaobadilishana wa uingizwaji na shughuli rahisi vibali.
Ubadilishaji wa data unafanywa katika vitalu ambavyo ukubwa wake ni biti 64. Urefu muhimu katika algorithm ya IDEA ni biti 128.

Kila block ya 64-bit inachukuliwa kama vizuizi vinne vya biti 16, ambavyo hubadilishwa kwa kutumia utendakazi kamili zifuatazo.
1. Kuongeza kidogo modulo 2 (XOR) ya oparesheni mbili za biti 16, ambazo tutaashiria kama ..
2. Ongezeko la operesheni mbili kamili za biti 16 modulo 216, iliyoashiriwa kama .
3. Kuzidisha modulo ya nambari mbili ambazo hazijasainiwa. Matokeo ya operesheni ya kuzidisha hupunguzwa hadi urefu wa bits 16. Wakati wa kuhesabu operesheni hii, kuna ubaguzi kwa nambari iliyo na zero zote, ambayo inachukuliwa kama nambari wakati wa kuzidisha. Operesheni hii tutaashiria kama .
Utaratibu wa usimbuaji una raundi nane zinazofanana na mzunguko wa ziada wa 9 (Mchoro 8, A).


Mchele. 8 . Kanuni ya IDEA:
a - mpango wa utaratibu wa usimbuaji; b - muundo wa kuzidisha-ziada
Katika matokeo ya mzunguko wa 9, yaliyomo ya vizuizi vinne vya 16-bit huundwa, na kutengeneza kizuizi cha maandishi.
Sehemu kuu ya kila pande zote ni muundo wa kuzidisha-ziada (Mchoro 8, b).

Hapa F 1 i F 2 Thamani za 16-bit zinazotokana na maandishi wazi,
Z 5 i Z 6 - 16-bit ndogo.

Shughuli zote zinazohusika katika utaratibu wa usimbaji fiche zina ukubwa wa biti 16.
Katika Mtini. Mchoro wa 9 unaonyesha mchoro wa utekelezaji wa raundi ya kwanza ya algoriti ya IDEA.


Mchele. 9 . Awamu ya kwanza ya usimbaji fiche wa IDEA
Data ya pato i duru ya usimbaji fiche, hulishwa kwa pembejeo ( i+1) raundi. Pembejeo za raundi ya 1 ni nne
Kizuizi kidogo cha biti 16 ( X 1, X 2, X 3, X 4) 64-bit block maandishi ya chanzo.

Mchoro wa utekelezaji wa duru ya 9 ya usimbuaji unaonyeshwa kwenye Mtini. 10.


Mchele. 10 . Awamu ya tisa ya usimbaji fiche wa IDEA
Ikumbukwe kwamba vizuizi vya pili na vya tatu vya thamani ya kati W hubadilishwa baada ya kila duru ya usimbaji fiche isipokuwa ya nane.

Kila moja ya raundi tisa hutumia thamani kuu za kurudia-bit za 16 Zi, ambayo hupatikana kwa kubadilisha ufunguo wa asili wa 128-bit K.

Vifunguo 8 vya kwanza vya kurudia Z 1…Z 8 inachukuliwa kama sehemu nane mfululizo za ufunguo wa 128-bit. Ili kupata funguo nane zinazofuata za kurudia, thamani ya vitufe vya 128-bit K kwa mzunguko hubadilisha biti 25 kwenda kushoto na funguo Z 9…Z 16 inachukuliwa tena kama sehemu zake 8 mfululizo. Utaratibu huu inarudiwa hadi funguo zote 52 za ​​kurudia zipatikane.

Utaratibu wa kusimbua una mizunguko tisa sawa, lakini inafanywa tu kwa kutumia thamani tofauti za ufunguo wa kurudia. Vifunguo vya usimbuaji mara kwa mara hupatikana kutoka kwa funguo za usimbaji mara kwa mara kulingana na jedwali la mawasiliano (Jedwali la 3).

Jedwali 3
Thamani muhimu zinazotumika katika algoriti ya IDEA
kwa usimbuaji

Katika kesi hii, mahusiano yafuatayo yanaridhika:
(9)
(10)
Kwa hivyo kwa ufunguo Zj thamani iliyoonyeshwa kama- Zj, ni nyongeza kinyume modulo , na thamani iliyoashiriwa kama
- modulo ya kinyume ya kuzidisha +1.

Mpangilio wa kutumia funguo za kurudia kwa usimbaji fiche unaonyeshwa kwenye Mtini. kumi na moja.


Mchele. kumi na moja. Utaratibu wa kutumia funguo za kurudia za algoriti ya IDEA

Wakati usimbuaji unafanywa, miduara ya algorithm inatekelezwa kwa mpangilio sawa. Ingizo la raundi ya kwanza ni vizuizi vidogo vinne vya 16-bit vya 64-bit ciphertext block. Thamani zilizopatikana baada ya kutekeleza mzunguko wa pato ni vizuizi vidogo vya kizuizi cha chanzo cha 64-bit. Tofauti kutoka kwa utaratibu wa usimbuaji ni kwamba badala ya funguo Z 1...Z 52 funguo kutumika U 1...U 52.