/* * Copyright 2015 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef __TPM2_MATHFUNCTIONS_FP_H #define __TPM2_MATHFUNCTIONS_FP_H LIB_EXPORT int _math__Comp(const UINT32 aSize, // IN: size of a const BYTE *a, // IN: a buffer const UINT32 bSize, // IN: size of b const BYTE *b // IN: b buffer ); LIB_EXPORT CRYPT_RESULT _math__Div(const TPM2B *n, // IN: numerator const TPM2B *d, // IN: denominator TPM2B *q, // OUT: quotient TPM2B *r // OUT: remainder ); LIB_EXPORT BOOL _math__IsPrime(const UINT32 prime); LIB_EXPORT CRYPT_RESULT _math__ModExp(UINT32 cSize, // IN: size of the result BYTE *c, // OUT: results buffer const UINT32 mSize, // IN: size of number to be exponentiated const BYTE *m, // IN: number to be exponentiated const UINT32 eSize, // IN: size of power const BYTE *e, // IN: power const UINT32 nSize, // IN: modulus size const BYTE *n // IN: modulu ); LIB_EXPORT UINT16 _math__Normalize2B(TPM2B *b // IN/OUT: number to normalize ); LIB_EXPORT int _math__sub(const UINT32 aSize, // IN: size of a const BYTE *a, // IN: a const UINT32 bSize, // IN: size of b const BYTE *b, // IN: b UINT16 *cSize, // OUT: set to MAX(aSize, bSize) BYTE *c // OUT: the difference ); LIB_EXPORT int _math__uComp(const UINT32 aSize, // IN: size of a const BYTE *a, // IN: a const UINT32 bSize, // IN: size of b const BYTE *b // IN: b ); #endif // __TPM2_MATHFUNCTIONS_FP_H