تقابل PK وSK :
· در رمزنگاري هاي كليد مخفي كليد رمز گذاري و كليد رمز گشايي يك كليد است.بطور كلي دو تابع وجود دارد يكي تابع رمزگذاري و ديگري معكوس آن تابع رمز گشايي.
· در مقابل كليد مخفي ؛الگوريتم كليد عمومي قرار دارد.در چنين سيستمي دو كليد وجود دارد يكي كليد عمومي و ديگري كليد خصوصي.
اعداد اول چه هستند؟
· يك عدد اول؛ عددي است كه تنها بر خودش و يك قابل تقسيم باشد.
· به عنوان مثال 10 عدد اول نيست زيرا بر اعداد 1و2و5 و10 بخش پذير است.ولي 11 يك عدد اول است زيرا تنها به خودش و 1 بخش پذير است.
· اعدادي كه يك عدد بر آنها بخش پذير است فاكتور هاي آن عدد خوانده مي شود.فرايند پيدا كردن فاكتورها فاكتور گرفتن يا تجزيه نام دارد.
· براي مثال تجزيه ي عدد 15 مي گوييم اين عدد از 3*5 بدست مي آيد ولي در مورد 6320491217 چطور؟
· حال در مورد يك عدد 155 رقمي چطور؟يا 200 رقمي يا بيشتر؟به طور خلاصه تجزيه كردن اعداد قطعا از تعدادي مرحله تشكيل شده كه تعداد اين مراحل بابزرگ شدن عدد به صورت نمايي بالا مي رود.اگر يك عدد به مقدار كافي بزرگ باشد؛ زمان مورد نياز براي اجراي تمام مراحل تجزيه كردن ممكن است به قدري زياد باشد كه سالها به طول بيانجامد.
حساب پيمانه اي:
در رياضيات پيمانه اي تنها اعداد صحيح غير منفي كوچكتر از پيمانه مورد بررسي قرار مي گيرد.پس براي پيمانه ي n (mod N) تنها اعداد صحيح كه از 0 تا (N-1) قابل حساب هستند و نتايج محاسبات تنها از 0 تا (N-1) قابل قبول است.فكر كنيد زمان نظامي بر عددي بر پيمانه ي 2400 است.براي مثال 2200 بعلاوه 400 (10:00 PM plus 4 hours)جواب 2600 نمي شود.شما از صفر شروع مي كنيد.بنابراين 2200+400 mod 2400 را بايد محاسبه كنيم كه مي شود:2600-2400=0200 و يا 2:00 صبح. همچنين اگر از 0 يا نصف شب شروع كنيم.شش برابر 500 (بخوانيد شش بار 5 ساعت به جلو)3000 نميشود.جواب 0600 يا 6:00 بعد از ظهر مي شود.اين حساب دقيقا مثل ساعت عمل ميكند.
A mod b=r به اين معني كه a بر b تقسيم شده است و باقي مانده r است.
براي مثال :
”mod همان باقيمانده تقسيم است.“
22 mod 3 = 1
34 mod 2 = 0
18 mod 5 = 3
-4 mod 3 = 2 because (3)(-2) + 2 = -4
-16 mod 7 = 5 because (7)(-3) + 5 = -16
· اعداد اول وقتي در رياضيات پيمانه اي بكار گرفته مي شوند ؛ داراي خواص سودمندي مختلفي هستند.
· الگوريتم RSA از اين خواص استفاده مي كند.
اعداد نسبت به هم اول:
· دو عدد نسبت به هم اولند اگر تنها فاكتور مشترك آنها يك باشد.
· مثلا 10 و 21 نسبت به هم اولند.در حالي كه هيچكدام عدد اول نيستند.ولي نسبت به هم اولند زيرا عامل مشتركي ندارند عوامل 10: 1, 2, 5 and 10 و عوال مشترك 21 : 1, 3, 7 and 21.
· تنها عاملي كه در هر دو ليست ديده مي شود 1 است.
تابع فيِ اويلر:
در قرن 18 يك رياضي دان به نام لِونارد اويلر تابع j(n) را بر اين اساس تعريف كرد:
· j(n) :تعداد اعداد كوچكتر از n كه نسبت به n اولند.اين تابع به نام في اويلير شناخته مي شود.
J) به يوناني في خوانده مي شود و در مجامع رياضي تي و در مجامع ادبي تاي خوانده مي شود)
پس براي مثال j(6)=2 زيرا تمام اعداد كوچكتر از 6 كه نسبت به 6 اول اند برابر است با:5و1
دو و چهاروسه با 6 عامل مشترك دارند.
· در مورد j(7) وضع چگونه است؟چون 7 عدد اول است تنها عوامل آن 1 و 7 هستند.پس هر عددي كه كوجكتر از 7 باشد نسبت به 7 اول است.پس حتي بدون هيچ محاسبه اي مي دانيم؛ 6 عدد كوچتر از 7 وجود دارد كه نسبت به 7 اول است.اين نتيجه را براي تمام اعداد اول ديگر مي توان تعميم داد.به طور كلي اگر p عدد اولي باشد j(p)=p-1 مي باشد.
هم پيمانگي:
دو عدد صحيح aوb را هم پيمانه بر پايه ي n گويند اگر (a mod n)=(b mod n) كه آن را به صورت aهمنهشت است با b به پيمانه ي nمي نويسيم.
براي مثال:
[IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image002.jpg[/IMG]
خواص همنهشتي:
[IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image004.jpg[/IMG]
توان:
به توان رساندن يعني قدرت دادن به يك عدد.مثلا 23يعني 2 * 2 * 2 = 8 در اين مثال 2 پايه و 3 نما بود.چيز هاي جالب و پر كاربردي در توان وجود دارد.
(bx) * (by) = bx+y
چه اتفاقي در RSA مي افتد؟
بر پايه ي سختي عمل تجزيه اعداد بزرگ اين مراحل انجام مي شود:
· دو عدد اول بزرگ انتخاب مي كنيم.pوq
· دو عدد n و z را به صورت روبرو محاسبه مي كنيم:
· عدد E را كوچك تر از N طوري انتخاب مي كنيم كه عامل مشتركي با Z نداشته باشد.يعني نسبت به Z اول باشد.
· عدد d را طوري انتخاب مي كنيم كه ed-1 بر z بخش پذير باشد.
· [IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image006.jpg[/IMG]
كليد عمومي ما براي انتشار دادن آماده است.جفت اعداد (n,e);كليد عمومي را تشكيل مي دهد.
· كليد خصوصي ما را نيز جفت اعداد (n,d).تشكيل مي دهند.
· تابع رمزگذاري براي صورت رقمي كلمه m به اين صورت است: [IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image008.jpg[/IMG]
· تابع رمز گشايي براي كاراكتر رمز شده ي m كه به صورت C كد شده است به اين صورت
[IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image010.jpg[/IMG]
مي باشد:
· مقدار رقمي هر كاراكتر بايد از N كوچكتر باشد.
تمام فرمول هاي استفاده شده در RSA :
· تابع في اويلر
· [IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image012.jpg[/IMG]
جواب في اويلر براي عدد p كه عددي اول است:
· [IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image014.jpg[/IMG]
جواب في اويلر براي حاصل ضرب دو عدد اول pوq :
· [IMG]file:///C:/DOCUME%7E1/ROYALS%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image016.jpg[/IMG]
قضيه ي اويلر:اگر aوn نسبت به هم اول باشند داريم:
مثال هاي از RSA :
Choose two primes p=47 and q=71.
Choose e, relatively prime to z=46x70=3220
ed-1/z = (79)(1019) - 1 / 3220
Private key (3337,79). Private key (3337,1019)
Encrypt 688 -> 68879 mod 3337 = 1570.
Decrypt 1570 -> 15701019 mod 3337 = 688
n = p X q = 33 -- This is the modulus
z = (p-1) X (q -1) = 20 -- This is the totient function f(n). There are 20 relative primes to 33. What are they? 1, 2, 4, 5, 7, 8, 10, 13, 14, 16, 17, 19, 20, 23, 25, 26, 28, 29, 31, 32
d = 7 -- 7 and 20 have no common factors but 1
P = Cd (mod n
علاقه مندی ها (بوک مارک ها)