مشكلة كتابة الأس في أكواد الماتلاب


(vipstar) #1

السلام عليكم ورحمة الله وبركاته …

مساء الخير لكم كلكم …

عندي سؤال وأبغى مساعدة …

عند كتابة كود في الماتلاب وإستخدام الأس فيه أواجه مشكلة في النتائج…

تكون غير صحيحة .

السؤال :

أيش الطريقة الصحيحة المستخدمة أو ماهو السطر البرمجي المفترض إضافته لتصحيح الناتج ؟؟

ولكم جزيل شكري وتقديري .


(vipstar) #2

شو مافي ولا رد …

بنتظركم الله يرضى عنكم .


(ايجيبت) #3

في بعض الاحيان يكتب بالصيغه الاتيه


.^2



(vipstar) #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

أيش الحل .??


#5
m=88;
    c=mod(m.^e,n);
    c
    m=mod(c^d,n);
    m


فين بقية البرنامج ؟


(vipstar) #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

#7
[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
ومن الكود السابق شايف انه عمرهم ما هيكونوا يساوى بعض