bn_mul.c (312826) | bn_mul.c (325337) |
---|---|
1/* crypto/bn/bn_mul.c */ 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 * All rights reserved. 4 * 5 * This package is an SSL implementation written 6 * by Eric Young (eay@cryptsoft.com). 7 * The implementation was written so as to conform with Netscapes SSL. 8 * --- 1018 unchanged lines hidden (view full) --- 1027 goto err; 1028 if (bn_wexpand(rr, k * 2) == NULL) 1029 goto err; 1030 bn_mul_recursive(rr->d, a->d, b->d, j, al - j, bl - j, t->d); 1031 } 1032 rr->top = top; 1033 goto end; 1034 } | 1/* crypto/bn/bn_mul.c */ 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3 * All rights reserved. 4 * 5 * This package is an SSL implementation written 6 * by Eric Young (eay@cryptsoft.com). 7 * The implementation was written so as to conform with Netscapes SSL. 8 * --- 1018 unchanged lines hidden (view full) --- 1027 goto err; 1028 if (bn_wexpand(rr, k * 2) == NULL) 1029 goto err; 1030 bn_mul_recursive(rr->d, a->d, b->d, j, al - j, bl - j, t->d); 1031 } 1032 rr->top = top; 1033 goto end; 1034 } |
1035# if 0 1036 if (i == 1 && !BN_get_flags(b, BN_FLG_STATIC_DATA)) { 1037 BIGNUM *tmp_bn = (BIGNUM *)b; 1038 if (bn_wexpand(tmp_bn, al) == NULL) 1039 goto err; 1040 tmp_bn->d[bl] = 0; 1041 bl++; 1042 i--; 1043 } else if (i == -1 && !BN_get_flags(a, BN_FLG_STATIC_DATA)) { 1044 BIGNUM *tmp_bn = (BIGNUM *)a; 1045 if (bn_wexpand(tmp_bn, bl) == NULL) 1046 goto err; 1047 tmp_bn->d[al] = 0; 1048 al++; 1049 i++; 1050 } 1051 if (i == 0) { 1052 /* symmetric and > 4 */ 1053 /* 16 or larger */ 1054 j = BN_num_bits_word((BN_ULONG)al); 1055 j = 1 << (j - 1); 1056 k = j + j; 1057 t = BN_CTX_get(ctx); 1058 if (al == j) { /* exact multiple */ 1059 if (bn_wexpand(t, k * 2) == NULL) 1060 goto err; 1061 if (bn_wexpand(rr, k * 2) == NULL) 1062 goto err; 1063 bn_mul_recursive(rr->d, a->d, b->d, al, t->d); 1064 } else { 1065 if (bn_wexpand(t, k * 4) == NULL) 1066 goto err; 1067 if (bn_wexpand(rr, k * 4) == NULL) 1068 goto err; 1069 bn_mul_part_recursive(rr->d, a->d, b->d, al - j, j, t->d); 1070 } 1071 rr->top = top; 1072 goto end; 1073 } 1074# endif | |
1075 } 1076#endif /* BN_RECURSION */ 1077 if (bn_wexpand(rr, top) == NULL) 1078 goto err; 1079 rr->top = top; 1080 bn_mul_normal(rr->d, a->d, al, b->d, bl); 1081 1082#if defined(BN_MUL_COMBA) || defined(BN_RECURSION) --- 83 unchanged lines hidden --- | 1035 } 1036#endif /* BN_RECURSION */ 1037 if (bn_wexpand(rr, top) == NULL) 1038 goto err; 1039 rr->top = top; 1040 bn_mul_normal(rr->d, a->d, al, b->d, bl); 1041 1042#if defined(BN_MUL_COMBA) || defined(BN_RECURSION) --- 83 unchanged lines hidden --- |