@aws-amplify/auth
Version:
Auth category of aws-amplify
29 lines (24 loc) • 581 B
text/typescript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import { AuthBigInteger, BigInteger } from '../BigInteger';
import { getHashFromHex } from '../getHashFromHex';
import { getPaddedHex } from '../getPaddedHex';
/**
* @internal
*/
export const calculateU = ({
A,
B,
}: {
A: AuthBigInteger;
B: AuthBigInteger;
}): AuthBigInteger => {
const U = new BigInteger(
getHashFromHex(getPaddedHex(A) + getPaddedHex(B)),
16,
);
if (U.equals(BigInteger.ZERO)) {
throw new Error('U cannot be zero.');
}
return U;
};