Professional Documents
Culture Documents
1631015057
1631015057
تنص نظرية االعداد االساسية على ان اي عدد صحيح N > 1يمكن ان يك تب بصورة فريدة بالشكل ،N = ∏i pi eiبحيث } {piهي
اعداد اولية منفردة وei ≥ 1
لجميع قيم .i
5.5.5باقي القسمة
عندما يكون لدينا العدد صحيح aوالعدد الصحيح الموجب ،bفانه يوجد اعداد صحيحة فريدة qو rبحيث a = qb + r
و .0 ≤ r < bيعرف العدد rبكونه باقي القسمة ،والعدد qيعرف بكونه ناتج القسمة.
مثال( :)5.2عندما b = 15و a = 4فان q = 3و .r = 3
تستخدم عملية modلحساب باقي القسمة ويمكن صياغتها بالشكل:
.r = b mod a
مثال( :)5.3لحساب ،101 mod 7نك تب ،101 = 7 × 14 + 3وبالتالي.101 mod 7 = 3 :
اما لحساب ،−101 mod 7فنك تب ،−101 = 7 × (−15) + 4وبالتالي .−101 mod 7 = 4
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
خوارزمية اقليدس الموسعة.ليكن لدينا عددين صحيحين موجبين aو bفانه يوجد عددين صحيحن Xو Yبحيث يكون = Xa + Yb
) .gcd(a, bللحصول على قيم Xو Yباالضافة الى ) gcd(a, bنستخدم خوارزمية اقليدس ّ
الموسعة extended Euclidean
.algorithmخوارزمية (ّ )5.2
توضح كيفية عمل هذه الخوارزمية.
مثال( :)5.5عند حساب ) ،Xa + Yb = gcd(1759,550فاننا ّ
نقسم العددين لحين الحصول على باقي قسمة صفر ،عندها
نتوقف ونسترجع القيم قبل االخيرة( .)gcd(a, b) = r = 1 ،Y = 355 ،X = −111
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
مثال( :)5.9االعداد الصحيحة ℤهي زمرة تبادلية بالنسبة لعملية الجمع وليست زمرة بالنسبة لعملية الضرب الن الرقم الصحيح ،2على سبيل
المثال ،اليوجد له معكوس ضربي في مجموعة االعداد الصحيحة.
مثال( :)5.10عندما .N ≥ 2فإن الزمرة } {0, … , N − 1هي زمرة تبادلية بالنسبة لعملية الجمع mod Nورتبة تلك الزمرة هو .N
الحظ ،ان معكوس كل عنصر هو ] .[(N − a)mod Nتعرف هذه الزمرة ب ℤNوتشمل العناصر }.{0, … , N − 1
⏟g m = g
…g
m times
من ابرز قواعد عملية الرفع لالس هي:
.g1 = g ،(g m )m′ = g mm′ ، g m . g m′ = g m+m′
خوارزمية ك فوءة لعملية الرفع لالس .تعتبر عملية الرفع لالس ،ab mod Nعندما ،a ∈ ℤNو b > 0عملية معقدة .نستطيع ان
نعالج هذه العملية وذلك باختزال عمليات الرفع لالس بصورة متكررة ،مما يسمح بان تكون النتائج الوسطية صغيرة خالل عملية االحتساب.
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
لالسف ،حتى مع هذا االسلوب ،فانه الزالت عملية الرفع لالس عملية غير ك فوءة .خورزمية ( )5.4توضح كيفية اجراء عملية الرفع لالس بصورة
مختزلة.
بما ان الخوارزمية ( )5.4تستخدم bمن الدورات فانها تحتاج الى وقت تنفيذ خطيا مع ‖ .‖bالحظ ،ان الخوارزمية ( )5.4تتبع التكرار التالي:
تم صياغة هذا التكرار بشكل خوارزمية تعرف ب ) (square-and-multiplyلحساب عملية الرفع لالس التي تتطلب فقط ) ،𝒪(logbوالتي
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
ويمكن برهنة هذه النظرية بافتراض ان لدينا g1 , … , g mفي الزمرة 𝔾 .االن ّندعي ان
متالزمة ( .)5.1عندما تكون 𝔾 زمرة منتهية العناصر بحيث ، m = |𝔾| > 1فإن لكل عنصر𝔾 ∈ gوالي عدد صحيح iيكون
.g i = g i mod m
ويمكن برهنة هذه المتالزمة بالشكل التالي :ليكن ،i = qm + rبحيث .r = i mod mعندها يكون
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
∗ ∗
مثال( :)5.12لتكن ،N = 15 = 5.3فإن}|ℤ15 | = 8 = 4.2 = ، ℤ15 = {1,2,4,7,8,11,13,14
).∅(15
∗
متالزمة ( .)5.3ليكن ،N > 1وليكن ،a ∈ ℤNفإن .a∅(N) = 1 mod N
نظرية .)5.2( Fermatعندما يكون N = pعددا اوليا ،و } a ∈ {1, … , p − 1فإن،ap−1 = 1 mod p :
هناك صيغة اخرى هي ap = a mod p
5.5االفتراضات الصعبة
ذكرنا فيما سبق ان امنية مناهج التشفير الحديثة تعتمد على وجود مسائل يفترض ان تكون صعبة ،بحيث اذا تم حل هذه المسائل فانه يشكل
تهديد المنية تلك المناهج .في هذا الجزء نذكر بعض تلك المسائل.
نقول ان Factoringهي مسالة صعبة نسبة الى GenModulusاذا كان لجميع الخصوم 𝒜 توجد دالة ضئيلة جدا neglبحيث:
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
∗
كما ذكرنا فإن رتبة الزمرة ℤNهي ).∅(N) = (p − 1)(q − 1
عندما يكون Nقابال للتحليل فانه من السهل حساب ) .∅(Nاما عندما يكون تحليل عوامل Nغير معلوم فانه من الصعب حساب
).∅(N
استثمرت مسالة RSAهذه الميزة ،بحيث تكون مسالة RSAسهلة عندما يكون ) ∅(Nمعلوما وتكون صعبة بدون معرفة ).∅(N
تتلخص مسالة RSAبما يلي :ليكن لدينا العدد الصحيح المركب Nوليكن e > 0عدد اولي نسبيا مع ) ،∅(Nليكن العدد
∗
، y ∈ ℤNاحسب ،y 1⁄e mod Nبحيث عند اعطاء ) (N, e, yالمطلوب ايجاد قيمة xبحيث .x e = y mod N
يمكن صياغة المسالة شكليا كما يلي :ليكن GenRSAخوارزمية تعمل عند ادخال معامل االمنية nعلى اخراج
)) .(N, e > 0 | gcd(e, ∅(N) = 1, d|ed = 1 mod ∅(Nافترض التجربة التالية للخصم 𝒜 ولمعامل
االمنية .n
تجربة 𝐑𝐒𝐀 − 𝐢𝐧𝐯𝓐,𝐆𝐞𝐧𝐑𝐒𝐀 (𝐧) RSA
.1تنفيذ ) GenRSA(nللحصول على ).(N, p, q
∗
.2اختر .y ← ℤN
∗
.3يعطى 𝒜 ) ،(N, e, yويقوم باخراج .x ∈ ℤN
.4يكون اخراج التجربة 1اذا كان ،x e = y mod Nو 0ماعدا ذلك.
نقول ان RSAهي مسالة صعبة نسبة الى GenRSAاذا كان لجميع الخصوم 𝒜 توجد دالة ضئيلة جدا neglبحيث:
يمكن تصميم خوارزمية GenRSAاعتمادا على خوارزمية GenModulusالتي تخرج قيمة Nمع عواملها .ويمكن صياغة
GenRSAفي خوارزمية (.)5.6
الحظ عندما يكون تحليل Nمعلوما ،تكون مسالة RSAسهلة الحل :نقوم اوال بحساب ) ،∅(Nبعدها نحسب
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
]) ،d = [e−1 mod ∅(Nفي النهاية نحسب الحل ] .[y d mod Nوبالتالي ،لكي تكون مسالة RSAصعبة الحل ،يجب ان
يكون من المتعذر تحليل قيمة .Nبمعنى ان مسالة RSAال يمكن ان تكون اك ثر صعوبة من التحليل .ولكن ماذا عن العكس؟ هل من الممكن
تحليل عددين بسهولة اذا امكن حل مسالة .RSAالجواب هو كال ،اذ ال يمكن استنتاج ان RSAهي صعبة بصعوبة التحليل.
5.5افتراضات الزمر
المجاميع الجزئية.ليكن لدينا الزمرة المنتهية Gوالتي رتبتها .mلكل عنصر ّ g ∈ G
نعرف:
} 〈g〉 = {g 0 , g1 , … , g i−1
بحيث ،i ≤ mو iهو اصغر عدد صحيح موجب يحقق .g i = 1تدعى 〉 〈gزمرة جزئية متولدة من قبل .g
تعريف ( :)5.2ليكن لدينا الزمرة المنتهية 𝔾 و 𝔾 ∈ .gتعرف "رتبة العنصر" ) ord(gبكونها اصغر عدد صحيح موجب iبحيث
.g i = 1
تعريف( :)5.3ليكن mهو رتبة الزمرة 𝔾 (|𝔾| = ،)mاذا وجد 𝔾 ∈ gبحيث ،ord(g) = mفإن هذا يعني ان .〈g〉 = G
ّ
في هذه الحالة تسمى 𝔾 زمرة دورية cyclic groupويعرف gبكونه "مولد" generatorللزمرة 𝔾 ،او يعرف بال "عنصر البدائي" primitive
.element
ّ
الحظ ،ان العنصر gيسمى مولد mod pاذا وفقط اذا
{g i : 0 ≤ i ≤ p − 2} = ℤ∗p
ّ
بمعنى انه يولد جميع عناصر الزمرة عند رفعه لجميع االسس.
ّ ∗ ّ
،ℤ13بحيث يولد جميع عناصرها عند رفعه للقيم .0…11 مثال( :)5.16ليكن ،p = 13نرى ان العدد g = 2هو مولد للزمرة
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
متالزمة ( :)5.4عندما تكون 𝔾 زمرة ذات رتبة اولية ،pفإن 𝔾 تكون زمرة دورية .كذلك ،جميع عناصرها باستثناء العنصر المحايد هي ّ
مولدات
للزمرة 𝔾.
5.5.5افتراض DDH
{g 0 1 } m−1 ّ
. , g , … , gبصورة اخرى ،يمكن القول ليكن 𝔾 زمرة دورية رتبتها ،mفانه يوجد مولد 𝔾 ∈ gبحيث 𝔾 =
انه لكل 𝔾 ∈ hيوجد عنصر وحيد x ∈ ℤqبحيث .g x = h
يدعى xاللوغاريتم المتقطع ل hبالنسبة الى .g
تتمحور مسالة اللوغاريتم المتقطع discrete logarithm problemبحساب قيمة xعند اعطاء gو.h
هناك مسائل اخرى مرتبطة بمسالة اللوغاريتم المتقطع ،مثل مسالة ) Decisional Diffie-Hellman (DDHومسالة
ّ
) .Computational Diffie-Hellman (CDHتتلخص مسالة CDHكاالتي :ليكن 𝔾 زمرة دورية وليكن 𝔾 ∈ gمولد تلك الزمرة.
عند اعطاء عنصرين من الزمرة h1 = g x1و .h2 = g x2فانه من الصعب جدا حساب القيمة:
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
تعرف االعداد aiالتي اليتحقق بها االختبار ai N mod N = aiبكونها شواهد على التركيب .witness of composite
هناك اعداد شاذة عن هذه الطريقة التكرارية ،والتي تعرف باعداد ،Carmichael numbersحيث هي اعداد ّ
مركبة واليوجد شاهد على
تركيبها.
مثال على ذلك العدد 561=3.11.17يحقق االختبار a561 mod 561 = aلجميع قيم .a
وقد ثبت ان هذه االعداد الشاذة هي غير متناهية .لذا نحتاج الى طريقة اقوى من نظرية Fermatلفحص اولية العدد (بصورة احتمالية
ايضا).
خوارزمية .Miller-Rabinفي هذا الفصل سوف نستعرض خوارزمية Miller-Rabinالتي تعد احد اشهر خوارزميات فحص االولية االحتمالية.
تعتمد خوارزمية Miller-Rabinعلى مبدا التعبير عن اي عدد فردي موجب N ≥ 3بالشكل N − 1 = 2k qحيث qعدد
فردي و .k > 0باعتبار ان N − 1هو عدد زوجي وان تقسيم هذا العدد kمن المرات سوف يوصلنا الى عدد فردي.
على سبيل المثال ،عند تقسيم 24ثالث مرات نصل للعدد الفردي .3تعمل هذه الصيغة لخوارزمية Mille-Rabinعلى ضمان الحصول
على شواهد عديدة على كون العدد ّ
مركب.
لالعداد االولية خواص مميزة ،منها:
-عندما يكون pعدد اولي و aعدد موجب صحيح اصغر من pفاذا كان a2 mod p = 1فإن (a mod p)2 = 1يكون
صحيحا ،فقط في حالتي a mod p = 1او .a mod p = −1
-الخاصية االخرى اي عدد اولي p ≥ 3يك تب بالشكل p − 1 = 2k qحيث qعدد فردي و .k > 0عندما يكون لدينا العدد
الصحيح } a ∈ {1, … , p − 1فانه يتحقق احد الشرطين التاليين:
.aq = 1 mod p .1
.2احد اعداد السلسلة
k−1
aq , a2q , a4q , … , a2 qيساوي .−1 mod p
وهذا يعني وجود عدد 1 ≥ j ≥ kبحيث ان ،a2 q = −1 mod pويمكن برهنة هذه الحقيقة استنادا الى نظرية Fermat
j−1
k
التي تنص ان .ap−1 mod p = a2 q mod p = 1مما يعني ان اخر عنصر في
k
السلسلة aq mod p, a2q , a4q , … , a2 qله القيمة .1
الحظ ان كل عدد في السلسلة هو تربيع العدد السابق ،مما يعني ان احد الحالتين التالية تكون صحيحة:
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
مثال( :)5.17الختبار كون العدد 561اولي ام ال (وهو عدد شاذ كما ذكرنا) باستخدام خوارزمية .Miller-Rabinنستخدم عدد المحاوالت ،t = 1
وليكن a = 2نك تب .(n − 1) = 560 = 24 (35) = 2k qنحسب االن
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
مركب فإن احد عوامله هو ⌋.p ≤ ⌊√N وعندها فإن كان هذا العدد هو عدد ّ
وبالتالي فانه يك في لخوارزمية trial divisionان ّتجرب جميع االعداد الفردية التي هي اقل من √Nاليجاد احد عوامله.
عندما تكون N < 1012فإن هذه الخوارزمية تعد طريقة معقولة لتحليل العدد ،ولكن عندما يكون العدد كبير فاننا نستخدم
خوارزميات اعقد.
عند تحليل العدد ،فاما ان نجد جميع العوامل االولية له او نجد له عاملين فقط بالشكل N = n1 . n2بحيث < 1
.n1 , n2 < Nفي هذا الفصل سوف ّنركز على النوع الثاني.
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
ّ
توضح الخوارزمية ( )5.11عمل خوارزمية Pollard p − 1لتحليل عدد صحيح.
return
نقدم االن مثال بسيط.
مثال( :)5.19نستخدم خوارزمية Pollard p-1لتحليل العدد .N = 13927189نبدا من ) gcd(29! − 1, Nو نحسب االس لقيم
اكبر للمفكوك ،نجد ان:
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
oيتطلب هذا االسلوب) 𝒪(qخزن .لذا نحتاج الى تصميم خوارزميات تجد قيمة xبوقت و وخزن اقل.
5.5.5خوارزمية Shanks
طورت هذه الخوارزمية من قبل Shanksوتدعى احيانا بخوارزمية .Baby-step/Giant-step ّ
ز
تعتمد هذه الخوار ميه على مبدا مهاجمة "االلتقاء في المنتصف" لحساب اللوغاريتم المتقطع.
في هذه الخوارزمية يتم اعادة ك تابة xبالشكل:
،x = im + j بحيث ⌉ ،0 ≤ i, j < m ،m = ⌈√qوبذلك فإن g x = yيصبح بالشكل ،g im+j = yمما يعني
.gim = y(g−1)j
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة
امنية البيانات نظرية االعداد والزمر
تعمل الخوارزمية على حساب g imلتشكل القائمة ) L1 = (i, g imلجميع قيم .iثم ترفع العدد g −1 yلجميع قيم jللحصول على
القائمة ) ،L2 = (j, yg −jومن ثم تقوم الخوارزمية بالبحث عن العنصر المشترك (i, z) ∈ L1 ،zو (j, z) ∈ L2لتخرج الناتج
بالشكل .im + jتعمل الخوارزمية بوقت ) 𝒪(mوبخزن ).𝒪(m
توضح الخوارزمية ( )5.11طريقة عمل خوارزمية Shanksاليجاد اللوغاريتم المتقطع.
∗
مثال( :)5.22افترض اننا نرغب بحساب log 3 525في الزمرة .ℤ809
الحظ ،ان 809هو عدد اولي وبذلك فإن ،y = 525،g = 3 ،q = 808و .m = ⌈√808⌉ = 29
عندها .g 29 mod 809 = 99
نحسب اوال القائمة المرتبة ) (i, 99i : i = 0 … 28لنحصل على القائمة .L1
−1
ثم نحسب القائمة المرتبة (j, 525 × (3j ) mod 809) : j = 0 … ,28للحصول على القائمة .L2
من القائمتين نجد العنصر المشترك ) (10,644في L1و ) (19,644في ،L2
هنا ،يكون االخراج هو .(im + j) = (10 × 29 + 19 mod 808 = 309
يمكن التاكد من صحة الحل بفحص .3209 mod 808 = 525
جامعة البصرة-كلية التربية للعلوم الصرفة-قسم علوم الحاسوب 2021-2020 د .اياد ابراهيم عبد السادة