Lines Matching refs:mpi
60 static TEE_Result copy_mpi_to_bigint(mbedtls_mpi *mpi, TEE_BigInt *bigInt) in copy_mpi_to_bigint() argument
63 size_t n = mpi->n; in copy_mpi_to_bigint()
66 while (n && !mpi->p[n - 1]) in copy_mpi_to_bigint()
73 hdr->sign = mpi->s; in copy_mpi_to_bigint()
74 memcpy(hdr + 1, mpi->p, mpi->n * sizeof(mbedtls_mpi_uint)); in copy_mpi_to_bigint()
85 static void get_mpi(mbedtls_mpi *mpi, const TEE_BigInt *bigInt) in get_mpi() argument
101 mbedtls_mpi_init_mempool(mpi); in get_mpi()
112 MPI_CHECK(mbedtls_mpi_grow(mpi, n)); in get_mpi()
113 mpi->s = hdr->sign; in get_mpi()
114 memcpy(mpi->p, p, n * sizeof(mbedtls_mpi_uint)); in get_mpi()
176 mbedtls_mpi mpi; in TEE_BigIntConvertToOctetString() local
179 get_mpi(&mpi, bigInt); in TEE_BigIntConvertToOctetString()
181 sz = mbedtls_mpi_size(&mpi); in TEE_BigIntConvertToOctetString()
183 MPI_CHECK(mbedtls_mpi_write_binary(&mpi, buffer, sz)); in TEE_BigIntConvertToOctetString()
189 mbedtls_mpi_free(&mpi); in TEE_BigIntConvertToOctetString()
208 mbedtls_mpi mpi; in TEE_BigIntConvertFromS32() local
210 get_mpi(&mpi, dest); in TEE_BigIntConvertFromS32()
212 MPI_CHECK(mbedtls_mpi_lset(&mpi, shortVal)); in TEE_BigIntConvertFromS32()
214 MPI_CHECK(copy_mpi_to_bigint(&mpi, dest)); in TEE_BigIntConvertFromS32()
215 mbedtls_mpi_free(&mpi); in TEE_BigIntConvertFromS32()
221 mbedtls_mpi mpi; in TEE_BigIntConvertToS32() local
224 get_mpi(&mpi, src); in TEE_BigIntConvertToS32()
226 if (mbedtls_mpi_write_binary(&mpi, (void *)&v, sizeof(v))) { in TEE_BigIntConvertToS32()
231 if (mpi.s > 0) { in TEE_BigIntConvertToS32()
240 mbedtls_mpi_free(&mpi); in TEE_BigIntConvertToS32()
264 mbedtls_mpi mpi; in TEE_BigIntCmpS32() local
267 get_mpi(&mpi, op); in TEE_BigIntCmpS32()
269 rc = mbedtls_mpi_cmp_int(&mpi, shortVal); in TEE_BigIntCmpS32()
271 mbedtls_mpi_free(&mpi); in TEE_BigIntCmpS32()
326 mbedtls_mpi mpi; in TEE_BigIntGetBit() local
328 get_mpi(&mpi, src); in TEE_BigIntGetBit()
330 rc = mbedtls_mpi_get_bit(&mpi, bitIndex); in TEE_BigIntGetBit()
332 mbedtls_mpi_free(&mpi); in TEE_BigIntGetBit()
340 mbedtls_mpi mpi; in TEE_BigIntGetBitCount() local
342 get_mpi(&mpi, src); in TEE_BigIntGetBitCount()
344 rc = mbedtls_mpi_bitlen(&mpi); in TEE_BigIntGetBitCount()
346 mbedtls_mpi_free(&mpi); in TEE_BigIntGetBitCount()
354 mbedtls_mpi mpi = { }; in TEE_BigIntSetBit() local
357 get_mpi(&mpi, op); in TEE_BigIntSetBit()
359 rc = mbedtls_mpi_set_bit(&mpi, bitIndex, value); in TEE_BigIntSetBit()
363 res = copy_mpi_to_bigint(&mpi, op); in TEE_BigIntSetBit()
365 mbedtls_mpi_free(&mpi); in TEE_BigIntSetBit()