如何计算rsa私钥的系数?

How to calculate the coefficient of a rsa private key?

我一直在尝试制作一个特定的 rsa 私钥来解码消息 我有所有的值(p、q、d、n、e、e1、e2),但无法找到系数,因为它说计算系数的公式是 (q^-1 mod p)。但是当我以 p=17q=11 为例时,系数应该是 14。但是当我用计算器计算它时,系数变成 (0.0909090909)。 请给我一种计算系数的方法或给我以下一对的系数。

asn1=SEQUENCE:rsa_key

[rsa_key]
version=INTEGER:0

modulus=INTEGER:1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413

pubExp=INTEGER:65537

privExp=INTEGER:703813872109751212728960868893055483396831478279095442779477323396386489876250832944220079595968592852532432488202250497425262918616760886811596907743384527001944888359578241816763079495533278518938372814827410628647251148091159553

p=INTEGER:878002287614711652531743087737814467999489

q=INTEGER:511279233373417143396810270092798736308917

e1=INTEGER:496787982169740923502343753899982600567297

e2=INTEGER:80295249215525643071102598936432783036457

coeff=INTEGER:?

正如评论中指出的那样 q^-1 mod p 是 mod 元乘法逆,您可以在此处阅读更多信息:https://en.wikipedia.org/wiki/Modular_multiplicative_inverse

它是使用扩展欧几里德算法计算的,但是当 modulo 值是质数,例如 p 是 17 那么在这种情况下,很容易通过以下公式计算 modular 逆:

q^-1 mod p = (q^(p-2)) mod p(仅当p为素数时)

现在答案是:(11 ^ 15) mod 17 = 4177248169415651 mod 17 = 14

另请注意,当 gcd(p, q) != 1

时 mod 倒数不存在

我认为您查询的系数是:457212035379609309760218035812085381175325

可能不正确,您可能需要进一步调查。