Math Can';我们无法让RSA加密背后的数学原理发挥作用
下周我将对此进行测试,我正在浏览一些素数的基本示例。书中的例子似乎没有遇到这个问题 第一步-选择两个素数(我选择p=3,q=7) 第二步-计算n=pq=21 第三步-计算总和(n)=总和(p)*总和(q)=2*6=12 第四步-选择e,使1Math Can';我们无法让RSA加密背后的数学原理发挥作用,math,encryption,rsa,Math,Encryption,Rsa,下周我将对此进行测试,我正在浏览一些素数的基本示例。书中的例子似乎没有遇到这个问题 第一步-选择两个素数(我选择p=3,q=7) 第二步-计算n=pq=21 第三步-计算总和(n)=总和(p)*总和(q)=2*6=12 第四步-选择e,使1
据我所知,d必须是一个整数。这是错误的结论吗?或者5在这种情况下不是一个有效的e吗?是的,它必须是一个整数。第五步要寻找的是。基本上,
d
是整数,因此对于某个整数m
,d*e=m*tot(n)+1,或者换句话说,d*e
是tot(n)的倍数的一倍。只要e
和tot(n)
是互质,e
将有一个逆-在你的例子中,d
正好是5:d*e=5*5=25=2*tot(n)+1
是的,d是一个整数,计算为e的模逆。下面是一个函数,用于计算数字x相对于模m的倒数:
如果您想了解更多信息,我在上有一个RSA计算示例。我忘记了在第一个截止点之后的某个时间,我在寻找5*d=13(不考虑其余的)。当我说gcd(5,12)=1时,我也做了一个foobar,因为它是3。谢谢你的来信。
function inverse(x, m)
a, b, u := 0, m, 1
while x > 0
q := b // m
x, a, b, u := b % x, u, x, a - q * u
if b == 1 return a % m
error "must be coprime"