Мавзу: Очиқ калитли криптотизимлар алгоритмларини дастурлаш Кириш: Ҳозирги кунда шифрлаш турлари кўп. Шу билан бирга бу шифрлаш турларидан хабардор бузғунчилар ҳам мавжуд. Буни олдини олиш мақсадида эса янги, мураккаб криптотизимлар ишлаб чиқилмоқда.
Ишдан мақсад:Ушбу ишдан мақсад, талабаларда ахборотларни криптографик ҳимоялаш усулини ўрганиш кўникмаларини шакиллантириш ва ассимметрик криптотизимлар дастурини ишлаб чиқиш.
Керакли жихозлар: Керакли жихозлар:Компьютер, дастурлар(Java, С++, С#, ихтиёрий), принтер, дафтар, А4 форматдаги оқ қоғоз.
Қисқача назарий маълумот: Очиқ калитли шифрлаш системаларида иккита калит ишлатилади. Ахборот очиқ калит ёрдамида шифрланса, махфий калит ёрдамида расшифровка қилинади.
Очиқ калитли системаларини қўллаш асосида қайтарилмас ёки бир томонли функциялардан фойдаланиш ётади. Бундай функциялар қуйидаги хусусиятларга эга. Маълумки маълум бўлса y=f( ) функцияни аниқлаш осон. Аммо унинг маълум қиймати бўйича x ни аниқлаш амалий жихатдан мумкин эмас. Криптографияда яширин деб аталувчи йўлга эга бўлган бир томонли функциялар ишлатилади. параметрли бундай функциялар қуйидаги хусусиятларга эга. Маълум учун Ez ва Dz алгоритмларини аниқлаш мумкин. Ez алгоритми ёрдамида аниқлик соҳасидаги барча х учун fz ( ) функцияни осонгина олиш мумкин. Худди шу тариқа Dz алгоритми ёрдамида жоиз қийматлар соҳасидаги барча учун тескари функция x=f-1( ) ҳам осонгина аниқланади. Айни вақтда жоиз қийматлар соҳасидаги барча ва деярли барча, учун хатто Ez маълум бўлганида ҳам f-1( )ни ҳисоблашлар ёрдамида топиб бўлмайди. Очиқ калит сифатида ишлатилса, махфий калит сифатида x ишлатилади.
Очиқ калитни ишлатиб шифрлаш амалга оширилганда ўзаро мулоқатда бўлган субъектлар ўртасида махфий калитни алмашиш зарурияти йўқолади. Бу эса ўз навбатида узатилувчи ахборотнинг криптоҳимоясини соддалаштиради.
Очиқ калитли криптосистемалари бир томонли функциялар кўриниши бўйича фарқлаш мумкин. Буларнинг ичида RSA, Эль-Гамал ва Мак-Элис системаларини алохида тилга олиш ўринли. Ҳозирда энг самарали ва кенг тарқалган очиқ калитли шифрлаш алгоритми сифатида RSA алгоритмини кўрсатиш мумкин. RSA номи алгоритмни яратувчилари фамилияларининг биринчи харфидан олинган (Rivest, Shamir ва Adleman).
Алгоритм модуль арифметикасининг даражага кўтариш амалидан фойдаланишга асосланган. Алгоритмни қуйидаги қадамлар кетма-кетлиги кўринишида ифодалаш мумкин.
1-қадам. Иккита 200дан катта бўлган туб сон p ва q танланади.
2-қадам. Калитнинг очиқ ташкил этувчиси n ҳосил қилинади
n=pq.
3-қадам. Қуйидаги формула бўйича Эйлер функцияси ҳисобланади:
f(p,q)=(p-1)(q-1).
Эйлер функцияси n билан ўзаро туб, 1 дан n гача бўлган бутун мусбат сонлар сонини кўрсатади. Ўзаро туб сонлар деганда 1 дан бошқа бирорта умумий бўлувчисига эга бўлмаган сонлар тушунилади.
4-қадам.f(p,q) қиймати билан ўзаро туб бўлган катта туб сон d танлаб олинади.
5-қадам. Қуйидаги шартни қаноатлантирувчи е сони аниқланади
ed=1(modf(p,q)) .
Бу шартга биноан кўпайтманинг f(p,q) функцияга бўлишдан қолган қолдиқ 1га тенг. е сони очиқ калитнинг иккинчи ташкил этувчиси сифатида қабул қилинади. Махфий калит сифатида d ва n сонлари ишлатилади.
6-қадам. Дастлабки ахборот унинг физик табиатидан қатъий назар рақамли иккили кўринишда ифодаланади. Битлар кетма-кетлиги L бит узунликдаги блокларга ажратилади, бу ерда L - L log2(n+1) шартини қаноатлантирувчи энг кичик бутун сон. Ҳар бир блок [0, n-1] оралиқка тааллуқли бутун мусбат сон каби кўрилади. Шундай қилиб, дастлабки ахборот Х(i), i= сонларнинг кетма-кетлиги орқали ифодаланади. i нинг қиймати шифрланувчи кетма-кетликнинг узунлиги орқали аниқланади.
7-қадам. Шифрланган ахборот қуйидаги формула бўйича аниқланувчи Y(i) сонларнинг кетма-кетлиги кўринишида олинади:
Ахборотни расшифровка қилишда қуйидаги муносабатдан фойдаланилади:
Х(i)=(Y(i))d(modn). Мисол.<ГA3> сўзини шифрлаш ва расшифровка қилиш талаб этилсин. Дастлабки сўзни шифрлаш учун қуйидаги қадамларни бажариш лозим.
1-қадам. p=3 ва q=11 танлаб олинади.
2-қадам. ҳисобланади.
3-қадам. Эйлер функцияси аниқланади.
4-қадам. Ўзаро туб сон сифатида d=3 сони танлаб олинади.
5-қадам. шартини қаноатлантирувчи е сони танланади. Айтайлик, е=7.
6-қадам. Дастлабки сўзнинг алфавитдаги харфлар тартиб рақами кетма-кетлигига мос сон эквиваленти аниқланади. А харфига -1, Г харфига-4, З харфига -9. Ўзбек алфавитида 36та харф ишлатилиши сабабли иккили кодда ифодалаш учун 6 та иккили хона керак бўлади. Дастлабки ахборот иккилик кодда қуйидаги кўринишга эга бўлади:
000100 000001 001001.
Блок узунлиги бутун сонлар ичидан шартини қаноатлантирувчи минималь сон сифатида аниқланади. =33 бўлганлиги сабабли =6.
Демак, дастлабки матн кетма-кетлик кўринишида ифодаланади.
7-қадам. кетма-кетлиги очиқ калит {7,33} ёрдамида шифрланади:
Y(1)=(47)(mod 33)=16384(mod 33)=16
Y(2)=(17)(mod 33)=1(mod 33)=1
Y(1)=(97)(mod 33)=4782969(mod 33)=15
Шифрланган сўз Y(i)=<16,1,15>
Шифрланган сўзни расшифровка қилиш махфий калит {3,33} ёрдамида бажарилади.:
Y(1)=(163)(mod 33)=4096(mod 33)=4
Y(1)=(13)(mod 33)=1(mod 33)=1
Y(1)=(153)(mod 33)=3375(mod 33)=9
Дастлабки сон кетма-кетлиги расшифровка қилинган X(i)=<4,1,9> кўринишида дастлабки матн <ГАЗ> билан алмаштирилади.
Келтирилган мисолда ҳисоблашларнинг соддалигини таъминлаш мақсадида мумкин бўлган кичик сонлардан фойдаланилди.
Эль-Гамал системаси чекли майдонларда дискрет логарифмларнинг ҳисобланиш мураккаблигига асосланган. RSA ва Эль-Гамал системаларининг асосий камчилиги сифатида модуль арифметикасидаги мураккаб амалларнинг бажарилиши заруриятини кўрсатиш мумкин. Бу ўз навбатида айтарлича ҳисоблаш ресурсларини талаб қилади.
Мак-Элис криптосистемасида хатоликларни тузатувчи кодлар ишлатилади. Бу система RSA системасига нисбатан тезроқ амалга оширилсада, жиддий камчиликка эга. Мак-Элис криптосистемасида катта узунликдаги калит ишлатилади ва олинган шифрматн узунлиги дастлабки матн узунлигидан икки марта катта бўлади.
Барча очиқ калитли шифрлаш методлари учун NP-тўлиқ масалани (тўлиқ саралаш масаласи) ечишга асосланган криптотахлил методидан бошқа методларининг йўқлиги қатъий исботланмаган. Агар бундай масалаларни ечувчи самарали методлар пайдо бўлса, бундай хилдаги криптосистема обрўсизлантирилади.
Юқорида кўрилган шифрлаш методларининг криптотурғунлиги калит узунлигига боғлиқ бўлиб, бу узунлик замонавий системалар учун, лоақал, 90 битдан катта бўлиши шарт.
Айрим муҳим қулланишларда нафақат калит, балки шифрлаш алгоритми ҳам маҳфий бўлади. Шифрларнинг криптотурғунлигини ошириш учун бир неча калит (одатда учта) ишлатилиши мумкин. Биринчи калит ёрдамида шифрланган ахборот иккинчи калит ёрдамида шифрланади ва ҳ.
Шифрлашнинг ўзгарувчан алгоритмларини қўллаш тавсия қилинади. Бунда шифрлаш калити шифрлашнинг муайян алгоритмини танлаш учун ҳам ишлатилади.
Очиқ калитлардан фойдаланувчи шифрлаш методларининг афзаллиги, аввало, махфий калитларни тарқатиш заруриятининг йўқлигидир. Катта масофаларда тарқалган компьютер системалари учун махфий калитларни тарқатиш айтарлича мураккаб масала ҳисобланади. Очиқ калитли системаларнинг оммалашувига махфий калитларнинг фақат уларни тўлиқ саралаш орқали олинишидан бошқа йўл билан олиб бўлмаслиги исботининг йўқлиги тўсқинлик қилади.
Стеганогрфия ахборотни криптоҳимоялашнинг истиқболли йўналишларидан ҳисобланади. Стеганография билан шифрлашни биргаликда (комплекс) ишлатилиши махфий ахборот криптотурғунлигини айтарлича оширади.