Uploaded by l30l3 ur

1652517145

advertisement
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.
Download