@@ -629,22 +629,40 @@ exit:
629629/* END_CASE */
630630
631631/* BEGIN_CASE */
632- void mbedtls_mpi_copy ( int input_X, int input_A )
632+ void mbedtls_mpi_copy_sint ( int input_X, int input_Y )
633633{
634- mbedtls_mpi X, Y, A ;
635- mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &A );
634+ mbedtls_mpi X, Y;
635+ mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y );
636636
637637 TEST_ASSERT( mbedtls_mpi_lset( &X, input_X ) == 0 );
638- TEST_ASSERT( mbedtls_mpi_lset( &Y, input_A ) == 0 );
639- TEST_ASSERT( mbedtls_mpi_lset( &A, input_A ) == 0 );
640- TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &Y ) != 0 );
641- TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Y, &A ) == 0 );
638+ TEST_ASSERT( mbedtls_mpi_lset( &Y, input_Y ) == 0 );
639+
642640 TEST_ASSERT( mbedtls_mpi_copy( &Y, &X ) == 0 );
643- TEST_ASSERT( mbedtls_mpi_cmp_mpi ( &X, &Y ) == 0 );
644- TEST_ASSERT( mbedtls_mpi_cmp_mpi ( &Y, &A ) ! = 0 );
641+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &X, input_X ) == 0 );
642+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &Y, input_X ) = = 0 );
645643
646644exit:
647- mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y ); mbedtls_mpi_free( &A );
645+ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y );
646+ }
647+ /* END_CASE */
648+
649+ /* BEGIN_CASE */
650+ void mbedtls_mpi_copy_binary( data_t *input_X, data_t *input_Y )
651+ {
652+ mbedtls_mpi X, Y, X0;
653+ mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &X0 );
654+
655+ TEST_ASSERT( mbedtls_mpi_read_binary( &X, input_X->x, input_X->len ) == 0 );
656+ TEST_ASSERT( mbedtls_mpi_read_binary( &Y, input_Y->x, input_Y->len ) == 0 );
657+ TEST_ASSERT( mbedtls_mpi_read_binary( &X0, input_X->x, input_X->len ) == 0 );
658+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &X0 ) == 0 );
659+
660+ TEST_ASSERT( mbedtls_mpi_copy( &Y, &X ) == 0 );
661+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &X0 ) == 0 );
662+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Y, &X0 ) == 0 );
663+
664+ exit:
665+ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y ); mbedtls_mpi_free( &X0 );
648666}
649667/* END_CASE */
650668
@@ -736,22 +754,61 @@ exit:
736754/* END_CASE */
737755
738756/* BEGIN_CASE */
739- void mbedtls_mpi_swap ( int input_X, int input_Y )
757+ void mbedtls_mpi_swap_sint ( int input_X, int input_Y )
740758{
741- mbedtls_mpi X, Y, A ;
742- mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y ); mbedtls_mpi_init( &A );
759+ mbedtls_mpi X, Y;
760+ mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y );
743761
744762 TEST_ASSERT( mbedtls_mpi_lset( &X, input_X ) == 0 );
745763 TEST_ASSERT( mbedtls_mpi_lset( &Y, input_Y ) == 0 );
746- TEST_ASSERT( mbedtls_mpi_lset ( &A , input_X ) == 0 );
747- TEST_ASSERT( mbedtls_mpi_cmp_mpi ( &X, &Y ) ! = 0 );
748- TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &A ) == 0 );
764+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &X , input_X ) == 0 );
765+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &Y, input_Y ) = = 0 );
766+
749767 mbedtls_mpi_swap( &X, &Y );
750- TEST_ASSERT( mbedtls_mpi_cmp_mpi ( &X, &Y ) ! = 0 );
751- TEST_ASSERT( mbedtls_mpi_cmp_mpi ( &Y, &A ) == 0 );
768+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &X, input_Y ) = = 0 );
769+ TEST_ASSERT( mbedtls_mpi_cmp_int ( &Y, input_X ) == 0 );
752770
753771exit:
754- mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y ); mbedtls_mpi_free( &A );
772+ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y );
773+ }
774+ /* END_CASE */
775+
776+ /* BEGIN_CASE */
777+ void mbedtls_mpi_swap_binary( data_t *input_X, data_t *input_Y )
778+ {
779+ mbedtls_mpi X, Y, X0, Y0;
780+ mbedtls_mpi_init( &X ); mbedtls_mpi_init( &Y );
781+ mbedtls_mpi_init( &X0 ); mbedtls_mpi_init( &Y0 );
782+
783+ TEST_ASSERT( mbedtls_mpi_read_binary( &X, input_X->x, input_X->len ) == 0 );
784+ TEST_ASSERT( mbedtls_mpi_read_binary( &Y, input_Y->x, input_Y->len ) == 0 );
785+ TEST_ASSERT( mbedtls_mpi_read_binary( &X0, input_X->x, input_X->len ) == 0 );
786+ TEST_ASSERT( mbedtls_mpi_read_binary( &Y0, input_Y->x, input_Y->len ) == 0 );
787+
788+ mbedtls_mpi_swap( &X, &Y );
789+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &Y0 ) == 0 );
790+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &Y, &X0 ) == 0 );
791+
792+ exit:
793+ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &Y );
794+ mbedtls_mpi_free( &X0 ); mbedtls_mpi_free( &Y0 );
795+ }
796+ /* END_CASE */
797+
798+ /* BEGIN_CASE */
799+ void mpi_swap_self( data_t *input_X )
800+ {
801+ mbedtls_mpi X, X0;
802+ mbedtls_mpi_init( &X ); mbedtls_mpi_init( &X0 );
803+
804+ TEST_ASSERT( mbedtls_mpi_read_binary( &X, input_X->x, input_X->len ) == 0 );
805+ TEST_ASSERT( mbedtls_mpi_read_binary( &X0, input_X->x, input_X->len ) == 0 );
806+
807+ mbedtls_mpi_swap( &X, &X );
808+ TEST_ASSERT( mbedtls_mpi_cmp_mpi( &X, &X0 ) == 0 );
809+
810+ exit:
811+ mbedtls_mpi_free( &X ); mbedtls_mpi_free( &X0 );
755812}
756813/* END_CASE */
757814
0 commit comments