ЭЛЬ-ГАМАЛЬ ЦИФРЛЫҚ ҚОЛТАҢБА ЖҮЙЕСІН ЗЕРТТЕУ

Ашық сабақ пәні: Ақпараттық қауіпсіздік және ақпаратты қорғау

Сабақ түрі: Практика

Өткізілген күні: 13.112024

Өткізілген уақыты: 16:20

Өткізілген аудитория: 406 каб/8к

Топ: ИС41(2)

Сабақтың мақсаты:

Эль-Гамаль схемасы - ақырлы өрістегі дискретті логарифмдерді есептеу қиындықтарына негізделген ашық кілтті криптожүйемен жұмыс. Криптожүйеге шифрлау схемасы және цифрлық қолтаңба алгоритмін кірістіру арқылы зерттеулер. Эль-Гамаль алгоритмі бойынша Хабарламаның электронды цифрлық қолтаңбасын есептеу және тексеру.

Сабақтың барысы:

Өтілген сабақты еске түсіру:

  1. RSA алгоритмі
  2. Электронды цифрлық қолтаңба
  3. Электронды цифрлық қолтаңбаны тексеру
  4. ЭЦҚ жабық кілті
  5. ЭЦҚ ашық кілті 

Жаңа сабақ:

Эль Гамаль шифрлау сұлбасының бұл түрі – цифрлық қолтаңба қою және шекті өрістегі дискреттік логарифмдерді есептеу күрделігіне негізделген.

Кілттер жұбын (ашық кілт - құпия кілт) генерациялау үшін алдымен үлкен мəнді Р қарапайым саны жəне G үлкен бүтін саны (G<P) таңдап алынады. P жəне G сандары, пайдаланушылар арасында ашық таратылуы мүмкін. Содан соң кез келген кездейсоқ бүтін x саны (x<P) таңдап алынады. x саны– құпия кілт болып табылады. Əрі қарай Y=Gx mod P есептеледі. Ал Y саны – ашық кілт болып саналады.

М хабарын шифрлау үшін k кездейсоқ бүтін саны (1<k<P-1) таңдап алынады. Бұл санды таңдағанда k жəне (Р-1) сандары өзара қарапайым болу керек. Одан соң мына сандарды есептейді:

a = Gk mod P,   b = Yk M mod P.

(a, b) сандардың жұбы – шифрмəтін болып есептеледі. Шифрланған мəтіннің ұзындығы, бастапқы ашық М мəтін ұзындығынан екі есе екенін байқауға болады. (a, b) шифрмəтінді кері шифрлау үшін мынадай есептеу жүргізіледі:

                            М = b/ax mod P.                                    (1)

ax = Gkx mod P жəне b/ax =Yk M/ax =Gkx M/Gkx =M (mod P)болғандықтан, (1) өрнегі шынайы болады.

Мысал. Р=17, G=2, құпия кілт x=5 деп алсақ, онда:

Y = Gx mod P = 25 mod 17 = 32 mod 17 = 15.

Сонымен, ашық кілттің мəні Y=15. “ƏКЕ” деген хабарды шифрлайық. М хабары М1=2, М2=13 жəне М3=8 болады. Кездейсоқ сан ретінде k=3 деп аламыз. НОД(k, Р-1)=1 екеніне көз жеткізелік. Шынында да, НОД(3, 16)=1. Енді а жəне b сандар жұбын есептейміз:

а = Gk mod P = 23 mod 17 = 8 mod 17 = 8,

b1 = Yk M1 mod P = 153 *2 mod 17 = 6750 mod 17 =1.

b2 = Yk M2 mod P = 153 *13 mod 17 = 43875 mod 17 = 15.

 b3 = Yk M3 mod P = 153 *8 mod 17 = 27000 mod 17 = 4. Сонда мынадай шифрланған мəтін аламыз:

(a, b1) = (8, 1); (a, b2) = (8, 15); (a, b3) = (8, 4).

Шифрмəтінді x құпия кілтін қолданып, кері шифрлаймыз:

М1 = b1/ax mod P = 1/85 mod 17.

М2 = b2/ax mod P = 15/85 mod 17.

М3 = b3/ax mod P = 4/85 mod 17.

Осы өрнектерді мынадай түрде жаза аламыз:

85 * М1 = 1 mod 17  немесе  32768 * 2 = 1 mod 17;       М1=2

85 * М2 = 15 mod 17  немесе  32768 * 13 = 15 mod 17; М2=13

85 * М3 =4 mod 17  немесе  32768 * 8 = 4 mod 17;         М3=8

Кері шифрланған хабар M1=2, M2=13, M3=8 екенін табамыз. Əдетте, Р ретінде үлкен мəнді бүтін қарапайым сан (512 ¸ 1024 бит) пайдаланылады.

Топты 2 кіші топқа бөлеміз: Әр топ тапсырмада жауабы шықпаған есептің не себепті жауабы шықпағанын топпен анықтап, зерттеу және оларды дұрыстау.

Тапсырма: р және g абоненттер параметрлері Эль-Гамаль шифрын пайдаланады. Жіберуші у ашық кілті бар М хабарламаны абонентке жібергісі келеді. Криптограмманың (G, х) мәнін жіберуші хабарламаны шифрлау үшін М кездейсоқ  к санын таңдап есептеу.

  1. р =23, g = 10, у= 13, М = 10, к = 2;
  2. р =59, g = 13, у = 6, М = 7,   к = 12;
  3. p = 67, g= 15, у =34, М = 5,   к= 17;
  4. р = 88, g= 7, у = 5,   М = 10, k = 9;
  5. р =47, g = 5,  у = 40, М = 20, к = 5.

Сабақты бекіту:

  1. 1. Эль-Гамаль криптожүйесі ?
  2. Ашық кілтті криптожүйе дегеніміз не?
  3. Жеке кілтті криптожүйе дегеніміз не?
  4. Эль-Гамаль алгоритмінің симметриялы шифрлаудан айырмашылығы қандай?

5.Эль Гамаль жүйесінің криптоберіктілігі неде?

  1. Кілттер жұбын (ашық кілт - құпия кілт) генерациялау ?
  2. М хабарын шифрлау алгоритмі?
  3. Шифрланған мəтіннің ұзындығы, бастапқы ашық М мəтін ұзындығынан неше есе ұзын болады?

Үй тапсырмасы:

1) 414 mod 21;

2) 650 mod 35;

3) 251 mod 39;

4) 10100 mod 33;

5) 946 mod 10.

Топты бағалау:

Екі топ бір-біріне баға қояды:            х
Әр топ өз мүшелеріне баға қояды:    y
Қорытынды баға :                                 z=(x+y)/2