• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/openssl/crypto/bn/

Lines Matching refs:n2

416  * r is 2*n2 words in size,
417 * a and b are both n2 words in size.
418 * n2 must be a power of 2.
420 * t must be 2*n2 words in size
426 /* dnX may not be positive, but n2/2+dnX has to be */
427 void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
430 int n = n2 / 2, c1, c2;
436 fprintf(stderr, " bn_mul_recursive %d%+d * %d%+d\n", n2, dna, n2, dnb);
440 if (n2 == 4) {
446 * Only call bn_mul_comba 8 if n2 == 8 and the two arrays are complete
449 if (n2 == 8 && dna == 0 && dnb == 0) {
455 if (n2 < BN_MUL_RECURSIVE_SIZE_NORMAL) {
456 bn_mul_normal(r, a, n2 + dna, b, n2 + dnb);
458 memset(&r[2 * n2 + dna + dnb], 0,
502 bn_mul_comba4(&(t[n2]), t, &(t[n]));
504 memset(&(t[n2]), 0, 8 * sizeof(BN_ULONG));
507 bn_mul_comba4(&(r[n2]), &(a[n]), &(b[n]));
512 bn_mul_comba8(&(t[n2]), t, &(t[n]));
514 memset(&(t[n2]), 0, 16 * sizeof(BN_ULONG));
517 bn_mul_comba8(&(r[n2]), &(a[n]), &(b[n]));
521 p = &(t[n2 * 2]);
523 bn_mul_recursive(&(t[n2]), t, &(t[n]), n, 0, 0, p);
525 memset(&(t[n2]), 0, n2 * sizeof(BN_ULONG));
527 bn_mul_recursive(&(r[n2]), &(a[n]), &(b[n]), n, dna, dnb, p);
536 c1 = (int)(bn_add_words(t, r, &(r[n2]), n2));
539 c1 -= (int)(bn_sub_words(&(t[n2]), t, &(t[n2]), n2));
542 c1 += (int)(bn_add_words(&(t[n2]), &(t[n2]), t, n2));
551 c1 += (int)(bn_add_words(&(r[n]), &(r[n]), &(t[n2]), n2));
553 p = &(r[n + n2]);
580 int i, j, n2 = n * 2;
631 bn_mul_comba4(&(t[n2]), t, &(t[n]));
633 bn_mul_normal(&(r[n2]), &(a[n]), tn, &(b[n]), tn);
634 memset(&(r[n2 + tn * 2]), 0, sizeof(BN_ULONG) * (n2 - tn * 2));
638 bn_mul_comba8(&(t[n2]), t, &(t[n]));
640 bn_mul_normal(&(r[n2]), &(a[n]), tna, &(b[n]), tnb);
641 memset(&(r[n2 + tna + tnb]), 0, sizeof(BN_ULONG) * (n2 - tna - tnb));
643 p = &(t[n2 * 2]);
644 bn_mul_recursive(&(t[n2]), t, &(t[n]), n, 0, 0, p);
655 bn_mul_recursive(&(r[n2]), &(a[n]), &(b[n]),
657 memset(&(r[n2 + i * 2]), 0, sizeof(BN_ULONG) * (n2 - i * 2));
659 bn_mul_part_recursive(&(r[n2]), &(a[n]), &(b[n]),
661 memset(&(r[n2 + tna + tnb]), 0,
662 sizeof(BN_ULONG) * (n2 - tna - tnb));
665 memset(&(r[n2]), 0, sizeof(BN_ULONG) * n2);
668 bn_mul_normal(&(r[n2]), &(a[n]), tna, &(b[n]), tnb);
677 bn_mul_part_recursive(&(r[n2]),
682 bn_mul_recursive(&(r[n2]),
698 c1 = (int)(bn_add_words(t, r, &(r[n2]), n2));
701 c1 -= (int)(bn_sub_words(&(t[n2]), t, &(t[n2]), n2));
704 c1 += (int)(bn_add_words(&(t[n2]), &(t[n2]), t, n2));
713 c1 += (int)(bn_add_words(&(r[n]), &(r[n]), &(t[n2]), n2));
715 p = &(r[n + n2]);
736 * a and b must be the same size, which is n2.
737 * r needs to be n2 words and t needs to be n2*2
739 void bn_mul_low_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
742 int n = n2 / 2;
745 fprintf(stderr, " bn_mul_low_recursive %d * %d\n", n2, n2);
750 bn_mul_low_recursive(&(t[0]), &(a[0]), &(b[n]), n, &(t[n2]));
752 bn_mul_low_recursive(&(t[0]), &(a[n]), &(b[0]), n, &(t[n2]));
763 * a and b must be the same size, which is n2.
764 * r needs to be n2 words and t needs to be n2*2
766 * t needs to be n2*3
768 void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
777 fprintf(stderr, " bn_mul_high %d * %d\n", n2, n2);
779 n = n2 / 2;
827 bn_mul_recursive(&(t[0]), &(r[0]), &(r[n]), n, 0, 0, &(t[n2]));
828 bn_mul_recursive(r, &(a[n]), &(b[n]), n, 0, 0, &(t[n2]));
839 lp = &(t[n2 + n]);
847 neg = (int)(bn_sub_words(&(t[n2]), lp, &(t[0]), n));
849 bn_add_words(&(t[n2]), lp, &(t[0]), n);
854 bn_sub_words(&(t[n2 + n]), &(l[n]), &(t[n2]), n);
856 lp = &(t[n2 + n]);
857 mp = &(t[n2]);
879 lp = &(t[n2]);
880 c1 = (int)(bn_add_words(lp, &(t[n2 + n]), &(l[0]), n));
882 lp = &(t[n2 + n]);
885 c1 += (int)(bn_add_words(&(t[n2]), lp, &(r[0]), n));
887 c1 -= (int)(bn_sub_words(&(t[n2]), &(t[n2]), &(t[0]), n));
889 c1 += (int)(bn_add_words(&(t[n2]), &(t[n2]), &(t[0]), n));
891 c2 = (int)(bn_add_words(&(r[0]), &(r[0]), &(t[n2 + n]), n));