forked from lthn/blockchain
crypto: sc_mul added (naive implementation, need to be rewritten)
This commit is contained in:
parent
2768732e23
commit
a16067ac64
2 changed files with 13 additions and 0 deletions
|
|
@ -3013,3 +3013,15 @@ void fe_frombytes(fe h, const unsigned char *s)
|
|||
h[8] = h8;
|
||||
h[9] = h9;
|
||||
}
|
||||
|
||||
// Implemented using sc_mulsub
|
||||
// TODO: make more efficient implementation
|
||||
void sc_mul(unsigned char *s, const unsigned char *a, const unsigned char *b)
|
||||
{
|
||||
unsigned char c[32];
|
||||
unsigned char neg_a[32];
|
||||
sc_0(c);
|
||||
sc_sub(neg_a, c, a);
|
||||
// s = c - ab
|
||||
sc_mulsub(s, neg_a, b, c);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ void sc_reduce32(unsigned char *);
|
|||
void sc_add(unsigned char *, const unsigned char *, const unsigned char *);
|
||||
void sc_sub(unsigned char *, const unsigned char *, const unsigned char *);
|
||||
void sc_mulsub(unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *);
|
||||
void sc_mul(unsigned char *z, const unsigned char *x, const unsigned char *y);
|
||||
int sc_check(const unsigned char *);
|
||||
int sc_isnonzero(const unsigned char *); /* Doesn't normalize */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue