cryptico.js java解密_從Cryptico.js中提取RSA私鑰

我相信這是一個非常基本的問題,但我開始使用JavaScript和RSA進行研究,所以我有點失落。我剛剛下載了Cryptico庫,它爲我提供了一個易於使用的RSA密鑰生成/加密/解密。從Cryptico.js中提取RSA私鑰

publicKeyString(RsaKey)

哪個:

my.publicKeyString = function(rsakey)

{

pubkey = my.b16to64(rsakey.n.toString(16));

return pubkey;

}

的rsakey.n定義所生成的RSA密鑰的公共部分,可以很容易地只使用命令來提取同時在函數中生成密鑰:

function RSAGenerate(B, E)

{

var rng = new SeededRandom();

var qs = B >> 1;

this.e = parseInt(E, 16);

var ee = new BigInteger(E, 16);

for (;;)

{

for (;;)

{

this.p = new BigInteger(B - qs, 1, rng);

if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) break;

}

for (;;)

{

this.q = new BigInteger(qs, 1, rng);

if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) break;

}

if (this.p.compareTo(this.q) <= 0)

{

var t = this.p;

this.p = this.q;

this.q = t;

}

var p1 = this.p.subtract(BigInteger.ONE);

var q1 = this.q.subtract(BigInteger.ONE);

var phi = p1.multiply(q1);

if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0)

{

this.n = this.p.multiply(this.q);

this.d = ee.modInverse(phi);

this.dmp1 = this.d.mod(p1);

this.dmq1 = this.d.mod(q1);

this.coeff = this.q.modInverse(this.p);

break;

}

}

}

但是私有部分的關鍵,我只是不明白如何提取,所以我將能夠保存公鑰/私鑰部分,並可供以後使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值