2 #include "crypto_hash_sha512.h"
7 unsigned char *sm
,unsigned long long *smlen
,
8 const unsigned char *m
,unsigned long long mlen
,
9 const unsigned char *sk
14 unsigned char hram
[64];
18 crypto_hash_sha512(az
,sk
,32);
24 for (i
= 0;i
< mlen
;++i
) sm
[64 + i
] = m
[i
];
25 for (i
= 0;i
< 32;++i
) sm
[32 + i
] = az
[32 + i
];
26 crypto_hash_sha512(r
,sm
+ 32,mlen
+ 32);
27 for (i
= 0;i
< 32;++i
) sm
[32 + i
] = sk
[32 + i
];
30 ge_scalarmult_base(&R
,r
);
33 crypto_hash_sha512(hram
,sm
,mlen
+ 64);
35 sc_muladd(sm
+ 32,hram
,az
,r
);