解决方案 »

  1.   

    是(n,d) 还是(n,e)?我咋模糊的记得是(n,e)呀,也就是指公钥
      

  2.   


    通过 p,q和q,就可以生成n,d,dp,dq,dinv等,但是不知道怎样用openssl函数做。
      

  3.   

    既然知道,p,q,e就能自己算,那就找个代码自己算吧,openssl那东西乱得很。
      

  4.   


    通过 p,q和q,就可以生成n,d,dp,dq,dinv等,但是不知道怎样用openssl函数做。看看这个是不是你想要的:http://blog.csdn.net/kkxgx/article/details/19850509
      

  5.   

    不知是不是这个?
    例private:
    // 公钥
    struct {
    long e;
    long n;
    }pu;
    // 私钥
    struct {
    long d;
    long n;
    }pr; // 计算公、私钥
    void AccountKey(long p,long q,long e);// 计算公、私钥
    void CMyRSA::AccountKey(long p,long q,long e)
    {
    pu.n=pr.n=p*q;
    pu.e=e; long t,d;
    t=(p-1)*(q-1); d = 1;
    while(((e * d) % t) != 1)
    {
    d++;
    }
    pr.d=d;
    }