-rw-r--r-- 508 lib25519-20240928/crypto_nP/montgomery25519/amd64-maa4/mont25519.c raw
// 20240926 djb: switch to memcpy
#include <string.h>
#include "randombytes.h"
#include "crypto_nP.h"
#include "fe25519.h"
#define mladder CRYPTO_SHARED_NAMESPACE(mladder)
extern void mladder(fe25519 *,fe25519 *,const unsigned long long *);
void crypto_nP(unsigned char *q, const unsigned char *n, const unsigned char *p) {
fe25519 r[2];
unsigned long long s[4];
memcpy(s,n,32);
fe25519_unpack(r,p);
mladder(r,r,s);
fe25519_invert(r+1,r+1);
fe25519_mul(r,r,r+1);
fe25519_pack(q,r);
}