-/* $OpenBSD: bn_mont.c,v 1.32 2022/11/26 16:08:51 tb Exp $ */
+/* $OpenBSD: bn_mont.c,v 1.33 2023/01/16 16:53:19 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
r->top = max;
n0 = mont->n0[0];
-#ifdef BN_COUNT
- fprintf(stderr, "word BN_from_montgomery_word %d * %d\n", nl, nl);
-#endif
for (carry = 0, i = 0; i < nl; i++, rp++) {
v = bn_mul_add_words(rp, np, nl, (rp[0] * n0) & BN_MASK2);
v = (v + carry + rp[nl]) & BN_MASK2;
-/* $OpenBSD: bn_mul.c,v 1.24 2022/11/30 01:47:19 jsing Exp $ */
+/* $OpenBSD: bn_mul.c,v 1.25 2023/01/16 16:53:19 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
b += cl;
if (dl < 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_sub_part_words %d + %d (dl < 0, c = %d)\n",
- cl, dl, c);
-#endif
for (;;) {
t = b[0];
r[0] = (0 - t - c) & BN_MASK2;
}
} else {
int save_dl = dl;
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_sub_part_words %d + %d (dl > 0, c = %d)\n",
- cl, dl, c);
-#endif
while (c) {
t = a[0];
r[0] = (t - c) & BN_MASK2;
r += 4;
}
if (dl > 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_sub_part_words %d + %d (dl > 0, c == 0)\n",
- cl, dl);
-#endif
if (save_dl > dl) {
switch (save_dl - dl) {
case 1:
}
}
if (dl > 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_sub_part_words %d + %d (dl > 0, copy)\n",
- cl, dl);
-#endif
for (;;) {
r[0] = a[0];
if (--dl <= 0)
if (dl < 0) {
int save_dl = dl;
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl < 0, c = %d)\n",
- cl, dl, c);
-#endif
while (c) {
l = (c + b[0]) & BN_MASK2;
c = (l < c);
r += 4;
}
if (dl < 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl < 0, c == 0)\n",
- cl, dl);
-#endif
if (save_dl < dl) {
switch (dl - save_dl) {
case 1:
}
}
if (dl < 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl < 0, copy)\n",
- cl, dl);
-#endif
for (;;) {
r[0] = b[0];
if (++dl >= 0)
}
} else {
int save_dl = dl;
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl > 0)\n", cl, dl);
-#endif
while (c) {
t = (a[0] + c) & BN_MASK2;
c = (t < c);
a += 4;
r += 4;
}
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl > 0, c == 0)\n", cl, dl);
-#endif
if (dl > 0) {
if (save_dl > dl) {
switch (save_dl - dl) {
}
}
if (dl > 0) {
-#ifdef BN_COUNT
- fprintf(stderr,
- " bn_add_part_words %d + %d (dl > 0, copy)\n",
- cl, dl);
-#endif
for (;;) {
r[0] = a[0];
if (--dl <= 0)
unsigned int neg, zero;
BN_ULONG ln, lo, *p;
-# ifdef BN_COUNT
- fprintf(stderr, " bn_mul_recursive %d%+d * %d%+d\n",n2,dna,n2,dnb);
-# endif
# ifdef BN_MUL_COMBA
# if 0
if (n2 == 4) {
int c1, c2, neg;
BN_ULONG ln, lo, *p;
-# ifdef BN_COUNT
- fprintf(stderr, " bn_mul_part_recursive (%d%+d) * (%d%+d)\n",
- n, tna, n, tnb);
-# endif
if (n < 8) {
bn_mul_normal(r, a, n + tna, b, n + tnb);
return;
{
int n = n2 / 2;
-# ifdef BN_COUNT
- fprintf(stderr, " bn_mul_low_recursive %d * %d\n",n2,n2);
-# endif
bn_mul_recursive(r, a, b, n, 0, 0, &(t[0]));
if (n >= BN_MUL_LOW_RECURSIVE_SIZE_NORMAL) {
int neg, oneg, zero;
BN_ULONG ll, lc, *lp, *mp;
-# ifdef BN_COUNT
- fprintf(stderr, " bn_mul_high %d * %d\n",n2,n2);
-# endif
n = n2 / 2;
/* Calculate (al-ah)*(bh-bl) */
int j = 0, k;
#endif
-#ifdef BN_COUNT
- fprintf(stderr, "BN_mul %d * %d\n",a->top,b->top);
-#endif
al = a->top;
{
BN_ULONG *rr;
-#ifdef BN_COUNT
- fprintf(stderr, " bn_mul_normal %d * %d\n", na, nb);
-#endif
if (na < nb) {
int itmp;
void
bn_mul_low_normal(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
{
-#ifdef BN_COUNT
- fprintf(stderr, " bn_mul_low_normal %d * %d\n", n, n);
-#endif
bn_mul_words(r, a, n, b[0]);
for (;;) {