Lines Matching refs:P
331 mbedtls_mpi_free( &grp->P ); in mbedtls_ecp_group_free()
364 int mbedtls_ecp_copy( mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ) in mbedtls_ecp_copy() argument
368 MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->X, &Q->X ) ); in mbedtls_ecp_copy()
369 MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->Y, &Q->Y ) ); in mbedtls_ecp_copy()
370 MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &P->Z, &Q->Z ) ); in mbedtls_ecp_copy()
410 int mbedtls_ecp_point_cmp( const mbedtls_ecp_point *P, in mbedtls_ecp_point_cmp() argument
413 if( mbedtls_mpi_cmp_mpi( &P->X, &Q->X ) == 0 && in mbedtls_ecp_point_cmp()
414 mbedtls_mpi_cmp_mpi( &P->Y, &Q->Y ) == 0 && in mbedtls_ecp_point_cmp()
415 mbedtls_mpi_cmp_mpi( &P->Z, &Q->Z ) == 0 ) in mbedtls_ecp_point_cmp()
426 int mbedtls_ecp_point_read_string( mbedtls_ecp_point *P, int radix, in mbedtls_ecp_point_read_string() argument
431 MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &P->X, radix, x ) ); in mbedtls_ecp_point_read_string()
432 MBEDTLS_MPI_CHK( mbedtls_mpi_read_string( &P->Y, radix, y ) ); in mbedtls_ecp_point_read_string()
433 MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &P->Z, 1 ) ); in mbedtls_ecp_point_read_string()
442 int mbedtls_ecp_point_write_binary( const mbedtls_ecp_group *grp, const mbedtls_ecp_point *P, in mbedtls_ecp_point_write_binary() argument
456 if( mbedtls_mpi_cmp_int( &P->Z, 0 ) == 0 ) in mbedtls_ecp_point_write_binary()
467 plen = mbedtls_mpi_size( &grp->P ); in mbedtls_ecp_point_write_binary()
477 MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &P->X, buf + 1, plen ) ); in mbedtls_ecp_point_write_binary()
478 MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &P->Y, buf + 1 + plen, plen ) ); in mbedtls_ecp_point_write_binary()
487 buf[0] = 0x02 + mbedtls_mpi_get_bit( &P->Y, 0 ); in mbedtls_ecp_point_write_binary()
488 MBEDTLS_MPI_CHK( mbedtls_mpi_write_binary( &P->X, buf + 1, plen ) ); in mbedtls_ecp_point_write_binary()
515 plen = mbedtls_mpi_size( &grp->P ); in mbedtls_ecp_point_read_binary()
669 return( mbedtls_mpi_mod_mpi( N, N, &grp->P ) ); in ecp_modp()
682 MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( N, N, &grp->P ) ); in ecp_modp()
684 while( mbedtls_mpi_cmp_mpi( N, &grp->P ) >= 0 ) in ecp_modp()
686 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( N, N, &grp->P ) ); in ecp_modp()
720 MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( &N, &N, &grp->P ) )
728 while( mbedtls_mpi_cmp_mpi( &N, &grp->P ) >= 0 ) \
729 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_abs( &N, &N, &grp->P ) )
757 MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &Zi, &pt->Z, &grp->P ) ); in ecp_normalize_jac()
818 MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &u, &c[t_len-1], &grp->P ) ); in ecp_normalize_jac_many()
849 MBEDTLS_MPI_CHK( mbedtls_mpi_shrink( &T[i]->X, grp->P.n ) ); in ecp_normalize_jac_many()
850 MBEDTLS_MPI_CHK( mbedtls_mpi_shrink( &T[i]->Y, grp->P.n ) ); in ecp_normalize_jac_many()
882 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &mQY, &grp->P, &Q->Y ) ); in ecp_safe_invert_jac()
907 const mbedtls_ecp_point *P ) in ecp_double_jac() argument
922 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &S, &P->Z, &P->Z ) ); MOD_MUL( S ); in ecp_double_jac()
923 MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( &T, &P->X, &S ) ); MOD_ADD( T ); in ecp_double_jac()
924 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &U, &P->X, &S ) ); MOD_SUB( U ); in ecp_double_jac()
931 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &S, &P->X, &P->X ) ); MOD_MUL( S ); in ecp_double_jac()
938 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &S, &P->Z, &P->Z ) ); MOD_MUL( S ); in ecp_double_jac()
946 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T, &P->Y, &P->Y ) ); MOD_MUL( T ); in ecp_double_jac()
948 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &S, &P->X, &T ) ); MOD_MUL( S ); in ecp_double_jac()
966 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &U, &P->Y, &P->Z ) ); MOD_MUL( U ); in ecp_double_jac()
998 const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ) in ecp_add_mixed() argument
1010 if( mbedtls_mpi_cmp_int( &P->Z, 0 ) == 0 ) in ecp_add_mixed()
1014 return( mbedtls_ecp_copy( R, P ) ); in ecp_add_mixed()
1025 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T1, &P->Z, &P->Z ) ); MOD_MUL( T1 ); in ecp_add_mixed()
1026 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T2, &T1, &P->Z ) ); MOD_MUL( T2 ); in ecp_add_mixed()
1029 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &T1, &T1, &P->X ) ); MOD_SUB( T1 ); in ecp_add_mixed()
1030 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &T2, &T2, &P->Y ) ); MOD_SUB( T2 ); in ecp_add_mixed()
1037 ret = ecp_double_jac( grp, R, P ); in ecp_add_mixed()
1047 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &Z, &P->Z, &T1 ) ); MOD_MUL( Z ); in ecp_add_mixed()
1050 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T3, &T3, &P->X ) ); MOD_MUL( T3 ); in ecp_add_mixed()
1057 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &T4, &T4, &P->Y ) ); MOD_MUL( T4 ); in ecp_add_mixed()
1094 while( mbedtls_mpi_cmp_mpi( &l, &grp->P ) >= 0 ) in ecp_randomize_jac()
1193 mbedtls_ecp_point T[], const mbedtls_ecp_point *P, in ecp_precompute_comb() argument
1205 MBEDTLS_MPI_CHK( mbedtls_ecp_copy( &T[0], P ) ); in ecp_precompute_comb()
1311 const mbedtls_mpi *m, const mbedtls_ecp_point *P, in ecp_mul_comb() argument
1342 p_eq_g = ( mbedtls_mpi_cmp_mpi( &P->Y, &grp->G.Y ) == 0 && in ecp_mul_comb()
1343 mbedtls_mpi_cmp_mpi( &P->X, &grp->G.X ) == 0 ); in ecp_mul_comb()
1378 MBEDTLS_MPI_CHK( ecp_precompute_comb( grp, T, P, w, d ) ); in ecp_mul_comb()
1441 static int ecp_normalize_mxz( const mbedtls_ecp_group *grp, mbedtls_ecp_point *P ) in ecp_normalize_mxz() argument
1445 MBEDTLS_MPI_CHK( mbedtls_mpi_inv_mod( &P->Z, &P->Z, &grp->P ) ); in ecp_normalize_mxz()
1446 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &P->X, &P->X, &P->Z ) ); MOD_MUL( P->X ); in ecp_normalize_mxz()
1447 MBEDTLS_MPI_CHK( mbedtls_mpi_lset( &P->Z, 1 ) ); in ecp_normalize_mxz()
1461 static int ecp_randomize_mxz( const mbedtls_ecp_group *grp, mbedtls_ecp_point *P, in ecp_randomize_mxz() argument
1476 while( mbedtls_mpi_cmp_mpi( &l, &grp->P ) >= 0 ) in ecp_randomize_mxz()
1484 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &P->X, &P->X, &l ) ); MOD_MUL( P->X ); in ecp_randomize_mxz()
1485 MBEDTLS_MPI_CHK( mbedtls_mpi_mul_mpi( &P->Z, &P->Z, &l ) ); MOD_MUL( P->Z ); in ecp_randomize_mxz()
1510 const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q, in ecp_double_add_mxz() argument
1520 MBEDTLS_MPI_CHK( mbedtls_mpi_add_mpi( &A, &P->X, &P->Z ) ); MOD_ADD( A ); in ecp_double_add_mxz()
1522 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &B, &P->X, &P->Z ) ); MOD_SUB( B ); in ecp_double_add_mxz()
1552 const mbedtls_mpi *m, const mbedtls_ecp_point *P, in ecp_mul_mxz() argument
1565 MBEDTLS_MPI_CHK( mbedtls_mpi_copy( &PX, &P->X ) ); in ecp_mul_mxz()
1566 MBEDTLS_MPI_CHK( mbedtls_ecp_copy( &RP, P ) ); in ecp_mul_mxz()
1613 const mbedtls_mpi *m, const mbedtls_ecp_point *P, in mbedtls_ecp_mul() argument
1619 if( mbedtls_mpi_cmp_int( &P->Z, 1 ) != 0 ) in mbedtls_ecp_mul()
1623 ( ret = mbedtls_ecp_check_pubkey( grp, P ) ) != 0 ) in mbedtls_ecp_mul()
1628 return( ecp_mul_mxz( grp, R, m, P, f_rng, p_rng ) ); in mbedtls_ecp_mul()
1632 return( ecp_mul_comb( grp, R, m, P, f_rng, p_rng ) ); in mbedtls_ecp_mul()
1650 mbedtls_mpi_cmp_mpi( &pt->X, &grp->P ) >= 0 || in ecp_check_pubkey_sw()
1651 mbedtls_mpi_cmp_mpi( &pt->Y, &grp->P ) >= 0 ) in ecp_check_pubkey_sw()
1694 const mbedtls_ecp_point *P ) in mbedtls_ecp_mul_shortcuts() argument
1700 MBEDTLS_MPI_CHK( mbedtls_ecp_copy( R, P ) ); in mbedtls_ecp_mul_shortcuts()
1704 MBEDTLS_MPI_CHK( mbedtls_ecp_copy( R, P ) ); in mbedtls_ecp_mul_shortcuts()
1706 MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &R->Y, &grp->P, &R->Y ) ); in mbedtls_ecp_mul_shortcuts()
1710 MBEDTLS_MPI_CHK( mbedtls_ecp_mul( grp, R, m, P, NULL, NULL ) ); in mbedtls_ecp_mul_shortcuts()
1722 const mbedtls_mpi *m, const mbedtls_ecp_point *P, in mbedtls_ecp_muladd() argument
1733 MBEDTLS_MPI_CHK( mbedtls_ecp_mul_shortcuts( grp, &mP, m, P ) ); in mbedtls_ecp_muladd()
1973 mbedtls_ecp_point R, P; in mbedtls_ecp_self_test() local
1990 mbedtls_ecp_point_init( &P ); in mbedtls_ecp_self_test()
2005 MBEDTLS_MPI_CHK( mbedtls_ecp_mul( &grp, &P, &m, &grp.G, NULL, NULL ) ); in mbedtls_ecp_self_test()
2048 MBEDTLS_MPI_CHK( mbedtls_ecp_mul( &grp, &R, &m, &P, NULL, NULL ) ); in mbedtls_ecp_self_test()
2060 MBEDTLS_MPI_CHK( mbedtls_ecp_mul( &grp, &R, &m, &P, NULL, NULL ) ); in mbedtls_ecp_self_test()
2084 mbedtls_ecp_point_free( &P ); in mbedtls_ecp_self_test()