如,计算17x+3120y=1
/**
* 辗转相除法计算私钥d
* @param {BigInt} e 公钥
* @param {BigInt} n 两个大素数之积,P*Q
* @returns {BigInt} 余数, d, k
*/
function gcdEx(e, n) {
if(!n){
return [e, 1n, 0n]
}
let [r, x1, y1] = gcdEx(n, e%n)
return [r, y1, x1-e/n*y1]
}