Lines Matching refs:skey

90 static void public (gcry_mpi_t output, gcry_mpi_t input, RSA_public_key *skey);
91 static void secret (gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey);
616 stronger_key_check ( RSA_secret_key *skey )
624 mpi_mul( t, skey->p, skey->q);
625 if (mpi_cmp( t, skey->n) )
629 if( mpi_cmp( skey->p, skey->q ) > 0 )
632 _gcry_mpi_swap ( skey->p, skey->q);
636 mpi_sub_ui(t, skey->p, 1 );
637 mpi_fdiv_r(t, t, skey->e );
640 mpi_sub_ui(t, skey->q, 1 );
641 mpi_fdiv_r(t, t, skey->e );
646 mpi_sub_ui( t1, skey->p, 1 );
647 mpi_sub_ui( t2, skey->q, 1 );
651 mpi_invm(t, skey->e, t );
652 if ( mpi_cmp(t, skey->d ) )
655 mpi_set (skey->d, t);
656 _gcry_log_mpidump (" fixed d", skey->d);
660 mpi_invm(t, skey->p, skey->q );
661 if ( mpi_cmp(t, skey->u ) )
664 mpi_set (skey->u, t);
665 _gcry_log_mpidump (" fixed u", skey->u);
694 secret(gcry_mpi_t output, gcry_mpi_t input, RSA_secret_key *skey )
696 if (!skey->p || !skey->q || !skey->u)
698 mpi_powm (output, input, skey->d, skey->n);
702 gcry_mpi_t m1 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 );
703 gcry_mpi_t m2 = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 );
704 gcry_mpi_t h = mpi_alloc_secure( mpi_get_nlimbs(skey->n)+1 );
707 mpi_sub_ui( h, skey->p, 1 );
708 mpi_fdiv_r( h, skey->d, h );
709 mpi_powm( m1, input, h, skey->p );
711 mpi_sub_ui( h, skey->q, 1 );
712 mpi_fdiv_r( h, skey->d, h );
713 mpi_powm( m2, input, h, skey->q );
717 mpi_add ( h, h, skey->q );
718 mpi_mulm( h, skey->u, h, skey->q );
720 mpi_mul ( h, h, skey->p );
779 gcry_mpi_t *skey, gcry_mpi_t **retfactors,
841 skey[0] = sk.n;
842 skey[1] = sk.e;
843 skey[2] = sk.d;
844 skey[3] = sk.p;
845 skey[4] = sk.q;
846 skey[5] = sk.u;
855 gcry_mpi_t *skey, gcry_mpi_t **retfactors)
857 return rsa_generate_ext (algo, nbits, evalue, NULL, skey, retfactors, NULL);
862 rsa_check_secret_key (int algo, gcry_mpi_t *skey)
869 sk.n = skey[0];
870 sk.e = skey[1];
871 sk.d = skey[2];
872 sk.p = skey[3];
873 sk.q = skey[4];
874 sk.u = skey[5];
906 gcry_mpi_t *skey, int flags)
918 sk.n = skey[0];
919 sk.e = skey[1];
920 sk.d = skey[2];
921 sk.p = skey[3]; /* Optional. */
922 sk.q = skey[4]; /* Optional. */
923 sk.u = skey[5]; /* Optional. */
987 rsa_sign (int algo, gcry_mpi_t *resarr, gcry_mpi_t data, gcry_mpi_t *skey)
993 sk.n = skey[0];
994 sk.e = skey[1];
995 sk.d = skey[2];
996 sk.p = skey[3];
997 sk.q = skey[4];
998 sk.u = skey[5];
1093 selftest_sign_1024 (gcry_sexp_t pkey, gcry_sexp_t skey)
1119 err = gcry_pk_sign (&sig, data, skey);
1181 selftest_encr_1024 (gcry_sexp_t pkey, gcry_sexp_t skey)
1234 err = gcry_pk_decrypt (&decr, encr, skey);
1283 gcry_sexp_t skey = NULL;
1288 err = gcry_sexp_sscan (&skey, NULL,
1300 err = gcry_pk_testkey (skey);
1308 errtxt = selftest_sign_1024 (pkey, skey);
1313 errtxt = selftest_encr_1024 (pkey, skey);
1318 gcry_sexp_release (skey);
1323 gcry_sexp_release (skey);