UNPKG

@aws-amplify/auth

Version:
36 lines (29 loc) 643 B
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { AuthBigInteger, BigInteger } from '../BigInteger'; /** * @internal */ export const calculateA = async ({ a, g, N, }: { a: AuthBigInteger; g: AuthBigInteger; N: AuthBigInteger; }): Promise<AuthBigInteger> => { return new Promise((resolve, reject) => { g.modPow(a, N, (err: unknown, A: AuthBigInteger) => { if (err) { reject(err); return; } if (A.mod(N).equals(BigInteger.ZERO)) { reject(new Error('Illegal parameter. A mod N cannot be 0.')); return; } resolve(A); }); }); };