Exponential Cipher Encryption Help Needed
古いコメントを表示
I'm still very new to using matlab for programming functions and I'm not totally sure what I'm meant to be doing, however I tried my best to create a function to generate the keys needed for a pohlig hellman exponentiation cipher.
I think it covers all of the requirements I've been given, but with the addition of the multmod the loops don't ever stop giving me an answer.
Any help at all anyone can give would be much appreciated.
Must generate a random prime number, p, between 2^51 and 2^53 e must be less than, and share no common divisors with, p-1 d must be a random prime number less than p-1 and such that e*d = 1 mod (p-1)
If any more info or anything is needed just ask.
Thanks again
function [e,d,p] = GenerateKeys()
%GenerateKeys Generates keys for pohlig-hellman cipher
% Generate the primes e d and p, e being the encrypting exponent, d the
% decrypting exponent and p the modulus
z=2^53-1;
p=randi([2^51,z]);
while MillerRabin(p)==0
p=randi([2^51,z]);
x=p-1;
end
e=randi(x);
while rem(e,x)==0
e=randi(x);
end
[a,b,c]=gcd(e,x);
while a~=1
e=randi(x);
[a,b,c]=gcd(e,x);
d=mod(b,x);
while multmod(e,d,p)~=1
e=randi(x);
end
end
end
1 件のコメント
Walter Roberson
2011 年 5 月 26 日
multmod() is not a Mathworks routine, so we will need the code for it.
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Encryption / Cryptography についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!