| /* |
| * 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 |