5- amaliy ish Mavzu: Elliptik egri chiziqlarda nuqtalarni n lashtirish imkonini beruvchi dasturiy vositani ishlab chiqish. Ishdan maqsad: Elliptik egri chiziqqa asoslangan shifrlash algoritmi haqida nazariy va amaliy bilim ko‘nikmalarni shakllantirish. Nazariy qism Elliptik egri chiziqlar tushunchasi. Elleptik egri chiziqlar ochiq kalitli kriptotizimlar oilasining aʼzosi hisoblanadi. Kam sonli hisoblashlar asosida RSA va Diskret logarifm sxemalarining bardoshliligini taʼminlaydi (mos holda 160-256 va 1024-3072 bit kalit uzunligi). Elliptik egri chiziqlar takomillashgan Diskret logarifm muammosiga asoslangan. Biror K-maydonda olingan elliptik egri chiziq deb, quyidagi Veyershtrass tenglamasi deb ataluvchi tenglik orqali aniqlanuvchi y 2 a1 xy a3 y x 3 a 2 x 2 a 4 x a6 (5.1) egri chiziqqa aytiladi, bu yerda a1 , a2 , a3 , a4 , a6 K . Elliptik egri chiziq odatda E yoki E/K bilan belgilanadi va elliptik egri chiziqqa tegishli nuqtalar, ya’ni (5.1) tenglama yechimlari shu elliptik egri chiziqning affin nuqtalari deyiladi. Bundan soʼng elliptik egri chiziqlarning umumiy kanonik koʼrinishi hisoblangan ushbu y 2 x 3 ax 2 bx c , tenglama bilan ishlanadi, bu yerda (5.2) a, b, c Z ( a , b, c - butun sonlar) va 3 2 koʼphad p( x) x ax bx c karrali ildizga ega emas deb qaraladi. Yuqorida keltirilgan (2.2) koʼrinishdagi egri chiziq grafigini chizish uchun y x 3 ax 2 bx c , (5.3) chizish va Ox – oʼqiga nisbatan simmetrik akslantirish lozim. Bu (5.3) berilgan funktsiya grafigini chizish uchun esa kvadratsiz holidagi funksiya z x 3 ax 2 bx c grafigini chizib olish kerak boʼladi. Funktsiya grafigining Ox- oʼqi bilan kesishish nuqtalarini x 3 ax 2 bx c 0 tenglamaning yechimlarini topish orqali aniqlanadi. Bu tenglamadan, v x a 3 a x v 3 almashtirishdan foydalanib, v 3 pv q 0 keltirilgan tenglama olinadi, bu yerda 3 D p q 3 2 2 p 3b a 2 3 , q 2a 3 ab c. 27 3 ifoda diskriminant deb atalalib, keltirilgan tenglamaning ildizlari soni diskriminant qiymatining ishorasiga bogʼliq: a) D 0 boʼlsa, bitta haqiqiy ildizga ega, yaʼni funktsiya grafigi Ox- oʼqi bilan bitta nuqtada kesishadi; b) D 0 boʼlsa, uchta haqiqiy ildizga ega, yaʼni funktsiya grafigi Ox-oʼqi bilan uchta nuqtada kesishadi; c) D 0 boʼlsa, uchta haqiqiy ildizga ega boʼlib, ularning ikkitasi teng (karrali), yaʼni funktsiya grafigi Ox- oʼqi bilan ikkita nuqtada kesishadi. Aniqlangan maydonda elliptik egri chiziq 𝑦 2 𝑚𝑜𝑑𝑝 = (𝑥 3 + 𝑎𝑥 + 𝑏)𝑚𝑜𝑑𝑝 Bu yerda (4𝑎3 + 27𝑏2 )𝑚𝑜𝑑𝑝 ≠ 0, 𝑥, 𝑦, 𝑎, 𝑏 ∈ [0, 𝑝 − 1] - Fp maydonda aniqlangan elliptik egri chiziq, p –tub son. Aniqlangan maydonda nuqtalarni qoʼshish va ikkilantirish: 5.1 – jadval Nuqtalarni qo‘shish va ikkilantirish Nuqtalarni qoʼshish 𝑥𝑅 = (𝜆2 − 𝑥𝑃 − 𝑥𝑄 )𝑚𝑜𝑑𝑝 Nuqtalarni ikkilantirish 𝑥𝑅 = (𝜆2 − 2𝑥𝑃 )𝑚𝑜𝑑𝑝 𝑦𝑅 = (𝜆(𝑥𝑃 − 𝑥𝑅 ) − 𝑦𝑃 )𝑚𝑜𝑑𝑝 𝑦𝑄 − 𝑦𝑃 𝜆= 𝑚𝑜𝑑𝑝 𝑥𝑄 − 𝑥𝑃 𝑦𝑅 = (𝜆(𝑥𝑃 − 𝑥𝑅 ) − 𝑦𝑃 )𝑚𝑜𝑑𝑝 3𝑥𝑃2 + 𝑎 𝜆= 𝑚𝑜𝑑𝑝 2𝑦𝑃 EECh larga asoslangan shifrlash algoritmi. Ma’lumotni shifrlash va deshifrlash qadamlari 5.2-jadvalda keltirilgan. 5.2 – jadval EECh larga asoslangan shifrlash algoritmi 𝑬𝒑 (𝒂, 𝒃), 𝒑 − 𝑡𝑢𝑏 𝑠𝑜𝑛. 𝐶 − EEChdagi iyotiyoriy nuqta Alisa Bob α (α <p) va E EECHda A nuqta olinadi. β (β<p) va E EECHda B nuqta olinadi. 𝐴1 = 𝛼(𝐶 + 𝐴), 𝐴2 = 𝛼𝐴 𝐵1 = β(𝐶 + 𝐵), 𝐵2 = β𝐵 α, A – maxfiy kalit β, B – maxfiy kalit 𝐴1 , 𝐴2 − ochiq kalit 𝐵1 , 𝐵2 − ochiq kalit 𝐴𝑏 = 𝛼 ∗ 𝐵2 – Bob uchun Alisaning 𝐵𝑎 = β ∗ 𝐴2 – Alisa uchun Bobning maxsus ochiq kaliti maxsus ochiq kaliti Deshifrlash 𝑀 = 𝐸2 − (𝛼𝐸1 + 𝛼𝐵1 + 𝐵𝑎 ) Shifrlash 𝐸1 = 𝛾 ∗ 𝐶; 𝐸2 = 𝑀 + (𝛽 + 𝛾)𝐴1 − 𝛾𝐴2 + 𝐴𝑏 𝛾 − matnning har bir bayti uchun ixtiyoriy tanlanadi Misol 𝑦 2 = 𝑥 2 + 2𝑥 + 9 𝑦 2 = (𝑥 2 + 2𝑥 + 9)mod37 𝐸37 (2,9) Kalit generatsiyasi 𝐴𝑙𝑖𝑐𝑒 𝐶 = (9,4) 𝛼 = 5, A = (10,20) 𝐴1 = 𝛼(𝐶 + 𝐴) = 5[(9,4) + (10,20)] = (1,7) Bob β = 7, B = (11,20) 𝐵1 = β(𝐶 + 𝐵) = (11,17) 𝐴2 = 𝛼 ∗ 𝐴 = (33,23) 𝐵2 = β ∗ 𝐵 = (23,30) 𝐴𝑏 = 𝛼 ∗ 𝐵2 = (15,11) 𝐵𝑎 = β ∗ 𝐴2 = (2,13) Shifrlash / Deshifrlash 𝑀 = 𝑎𝑡𝑡𝑎𝑐𝑘 − ochiq matn 𝛼 = (5,25) Shifrlash 𝛾 = 8, 𝛼 − xarfi uchun 𝐸1 = 𝛾 ∗ 𝐶 = (1,30) = 𝑏 (𝑗𝑎𝑑𝑣𝑎𝑙 𝑏𝑜 ′ 𝑦𝑖𝑐ℎ𝑎) (𝑏,5) 𝐸2 = M + (β + 𝛾)𝐴1 − 𝛾𝐴2 + 𝐴𝑏 = (2,13) = 5 (𝑗𝑎𝑑𝑣𝑎𝑙 𝑏𝑜′𝑦𝑖𝑐ℎ𝑎) 𝛾 = 12, 𝑡 − xarfi uchun, t = (10,17) 𝐸1 = 𝛾 ∗ 𝐶 = (21,32) = 𝑐 (𝑗𝑎𝑑𝑣𝑎𝑙 𝑏𝑜 ′ 𝑦𝑖𝑐ℎ𝑎) (𝑐,1) 𝐸2 = M ∗ (β + 𝛾)𝐴1 − 𝛾𝐴2 + 𝐴𝑏 = (2,24) = 1(𝑗𝑎𝑑𝑣𝑎𝑙 𝑏𝑜 ′ 𝑦𝑖𝑐ℎ𝑎) Shifr matn = {b, 5; c, 1; #, j; v, b; b, p; @, f} Deshifrlash {b, 5; c, 1; #, j; v, b; b, p; @, f} = {(1,30), (2,13), (21,32), (2,24), (4,9), (27,32), (29,31), (1,30), (1,30), (31,22), (25,25), (4,28)} M = E2 – (E1 + B 1 + B A) = (5,25)=a M = E2 – (E1 + B 1 + B A) = (10,17)=t M = E2 – (E1 + B 1 + B A) = (10,17)=t M = E2 – (E1 + B 1 + B A) = (5,25)=a M = E2 – (E1 + B 1 + BA ) = (21,32)=c M = E2 – (E1 + B 1 + B A) = (9,4)=k Topshiriq 1. P=(5,25), Q=(1,30). R=P+Q va D=2Q ni hisoblang ? 2. P=(21,32), Q=(11,17). R=P+Q va D=2Q ni hisoblang ? 3. P=(16,20), Q=(7,12). R=P+Q va D=2Q ni hisoblang ? 4. P=(9,4), Q=(2,24). R=P+Q va D=2Q ni hisoblang ? 5. P=(15,11), Q=(16,20). R=P+Q va D=2Q ni hisoblang ? 6. P=(1,7), Q=(5,12). R=P+Q va D=2Q ni hisoblang ? 7. P=(0,3), Q=(7,12). R=P+Q va D=2Q ni hisoblang ? 8. P=(0,34), Q=(10,17). R=P+Q va D=2Q ni hisoblang ? 9. P=(31,22), Q=(13,30). R=P+Q va D=2Q ni hisoblang ? 10. P=(10,17), Q=(10,20). R=P+Q va D=2P ni hisoblang ? 11. P=(23,30), Q=(13,7). R=P+Q va D=2Q ni hisoblang ? 12. P=(4,9), Q=(33,23). R=P+Q va D=2Q ni hisoblang ? 13. P=(26,32), Q=(2,13). R=P+Q va D=2Q ni hisoblang ? 14. P=(13,30), Q=(35,16). R=P+Q va D=2Q ni hisoblang ? 15. P=(2,24), Q=(29,31). R=P+Q va D=2Q ni hisoblang ? 16. P=(23,7), Q=(29,6). R=P+Q va D=2Q ni hisoblang ? 17. P=(33,14), Q=(9,4). R=P+Q va D=2Q ni hisoblang ? 18 P=(4,28), Q=(15,26). R=P+Q va D=2Q ni hisoblang ? 19. P=(27,32), Q=(25,12). R=P+Q va D=2Q ni hisoblang ? 20. P=(21,32), Q=(7,25). R=P+Q va D=2Q ni hisoblang ? 21. P=(5,12), Q=(35,21). R=P+Q va D=2Q ni hisoblang ? 22. P=(26,5), Q=(23,30). R=P+Q va D=2Q ni hisoblang ? 23. P=(23,7), Q=(35,21). R=P+Q va D=2Q ni hisoblang ? 24. P=(1,30), Q=(4,9). R=P+Q va D=2Q ni hisoblang ? Nazorat savollari 1. Elleptik egri chiziqlar deb nimaga aytiladi. 2. Assimetrik shifrlash usullariga asos boʼladigan muammolardan biri bu nima. 6-amaliy ish Mavzu: Rabin ochiq kalitli shifrlash algoritmining dasturiy vositasini ishlab chiqish. Ishdan maqsad: Rabin ochiq kalitli shifrlash algoritmi haqida bilim va ko‘nikmani shakllantirish. Nazariy qism Rabin shifrlash sxemasi. Ochiq kalitlar kriptotizim va u modul boʼyicha kvadrat ildizni hisoblash murakkabligi asoslangan. U yashirin yoʼllar orqali bir tomonlama funksiya hususiyatiga ega. Kalit generatsiyasi • 𝑝 = 𝑞 = 3 (𝑚𝑜𝑑 4) tenglikni qanoatlantiruvchi ikkita katta tub sonlar tanlab olinadi. • 𝑁 = 𝑝 ∗ 𝑞 hisoblanadi. • Ochiq kalit – 𝑁 • Yopiq kalit – (𝑝, 𝑞) Shifrlash 𝑐 = 𝑚2 𝑚𝑜𝑑 𝑁 Deshifrlash • 𝑚𝑝 = 𝑐 𝑝+1⁄ 4 𝑚𝑜𝑑 𝑝 • 𝑚𝑞 = 𝑐 𝑞+1⁄ 4 𝑚𝑜𝑑 𝑞 • 𝑦𝑝 ∗ 𝑝 + 𝑦𝑞 ∗ 𝑞 = 1 • 𝑟1 = (𝑦𝑝 ∗ 𝑝 ∗ 𝑚𝑞 + 𝑦𝑞 ∗ 𝑞 ∗ 𝑚𝑝 ) 𝑚𝑜𝑑 𝑁 • 𝑟2 = 𝑁 − 𝑟1 • 𝑟3 = (𝑦𝑝 ∗ 𝑝 ∗ 𝑚𝑞 − 𝑦𝑞 ∗ 𝑞 ∗ 𝑚𝑝 ) 𝑚𝑜𝑑 𝑁 • 𝑟4 = 𝑁 − 𝑟3 Kalit generatsiyasi • 𝑝 = 7, 𝑞 = 11, 𝑝 = 𝑞 = 3 (𝑚𝑜𝑑 4) • 𝑁 = 𝑝 ∗ 𝑞 = 77 • m=20 Shifrlash • 𝑐 = 𝑚2 𝑚𝑜𝑑 𝑁 = 400 𝑚𝑜𝑑 77 = 15 Deshifrlash • 𝑚𝑝 = 𝑐 𝑝+1⁄ 4 𝑚𝑜𝑑 𝑝 = 152 𝑚𝑜𝑑 7 = 1 • 𝑚𝑞 = 𝑐 𝑞+1⁄ 4 𝑚𝑜𝑑 𝑞 = 153 𝑚𝑜𝑑 11 = 9 • 𝑦𝑝 ∗ 𝑝 + 𝑦𝑞 ∗ 𝑞 = (−3 ∗ 7) + (2 ∗ 11) = 1 • 𝑟1 = (𝑦𝑝 ∗ 𝑝 ∗ 𝑚𝑞 + 𝑦𝑞 ∗ 𝑞 ∗ 𝑚𝑝 ) 𝑚𝑜𝑑𝑁 = (−3 ∗ 7 ∗ 9 + 2 ∗ 11 ∗ 1) 𝑚𝑜𝑑 77 = 64 • 𝑟2 = 𝑁 − 𝑟1 = 77 − 64 = 13 • 𝑟3 = (𝑦𝑝 ∗ 𝑝 ∗ 𝑚𝑞 − 𝑦𝑞 ∗ 𝑞 ∗ 𝑚𝑝 ) 𝑚𝑜𝑑 𝑁 = (−3 ∗ 7 ∗ 9 − 2 ∗ 11 ∗ 1) 𝑚𝑜𝑑 77 = 20 • 𝑟4 = 𝑁 − 𝑟3 = 77 − 20 = 57 Topshiriq 1. O‘z familiyangizni Rabin ochiq kalitli shifrlash algoritmini orqali shifrlansin va qadamma – qadam izohlansin. Shuningdek Delpi, Java, C++ va C# dasturlash tizimlaridan birida dasturiy ta’minot yaratilsin. Nazorat savollari 1. Rabin shifrlash algoritmi yordamida shifrlangan maʼlumonti deshifrlash nima sababdan murakkab jarayon. 2. Rabin shifrlash sxemasi nimaga asoslangan.