vipstar
(vipstar)
27 مايو 2010، 4:35ص
1
السلام عليكم ورحمة الله وبركاته …
مساء الخير لكم كلكم …
عندي سؤال وأبغى مساعدة …
عند كتابة كود في الماتلاب وإستخدام الأس فيه أواجه مشكلة في النتائج…
تكون غير صحيحة .
السؤال :
أيش الطريقة الصحيحة المستخدمة أو ماهو السطر البرمجي المفترض إضافته لتصحيح الناتج ؟؟
ولكم جزيل شكري وتقديري .
1117308
(ايجيبت)
28 مايو 2010، 1:59ص
3
في بعض الاحيان يكتب بالصيغه الاتيه
.^2
vipstar
(vipstar)
28 مايو 2010، 5:58ص
4
شكرا كتيييير لردك لكن راح أوضح أكثر … عندي خوارزمية تشفير RSA
راح أدخل الرسالة وأطلب منه الشفرة من المفترض إنه يعطيني في النتيجة الشفرة وكمان يعطيني الرسالة الأصلية عن طريق كود فك الشفرة .
وهذا السطر الخاص بالرسالة وبفك الشفرة :
m=88;
c=mod(m.^e,n);
c
m=mod(c^d,n);
m
وهذي النتيجة في الـ commanwindow:
Please enter two large numbers
Enter the first number11
Enter the second number17
c =
11
m =
134217728
من المفترض إن الـ m =88
أيش الحل .??
m=88;
c=mod(m.^e,n);
c
m=mod(c^d,n);
m
فين بقية البرنامج ؟
vipstar
(vipstar)
28 مايو 2010، 7:47ص
6
ok …
هذا بقية البرنامج .
disp('Please enter two large numbers');
p=input('Enter the first number');
q=input('Enter the second number');
for i=2:p-1
if mod(p,i)==0
p2=('not prime');
break;
else
p2=('prime');
end
end
for i=2:q-1
if mod(q,i)==0
q2=('not prime');
break;
else
q2=('prime');
end
end
s1=strcmp(p2,'prime');
s2=strcmp(q2,'prime');
if s1==1&s2==1
n=p*q;
fn=(p-1)*(q-1);
for i=4:fn-1
if gcd(i,fn)==1
e=i;
break
end
end
for j=0:fn-1
r=j*e;
if mod(r,fn)==1
d=j;
break
end
end
m=88;
c=mod(m.^e,n);
c
m=mod(c^d,n);
m
else
disp(' the first number of second number that you enter are not prime');
end
[COLOR=#000000][COLOR=#0000BB] m[/color][COLOR=#007700]=[/color][COLOR=#0000BB]88[/color][COLOR=#007700];
[/color][COLOR=#0000BB]c[/color][COLOR=#007700]=[/color][COLOR=#0000BB]mod[/color][COLOR=#007700]([/color][COLOR=#0000BB]m[/color][COLOR=#007700].^[/color][COLOR=#0000BB]e[/color][COLOR=#007700],[/color][COLOR=#0000BB]n[/color][COLOR=#007700]);
[/color][COLOR=#0000BB]c
m[/color][COLOR=#007700]=[/color][COLOR=#0000BB]mod[/color][COLOR=#007700]([/color][COLOR=#0000BB]c[/color][COLOR=#007700]^[/color][COLOR=#0000BB]d[/color][COLOR=#007700],[/color][COLOR=#0000BB]n[/color][COLOR=#007700]);
[/color][COLOR=#0000BB]m[/color][/color]
علشان m تكون 88 لازم d تساوى e
ومن الكود السابق شايف انه عمرهم ما هيكونوا يساوى بعض