ecp_nistp224.c (280297) | ecp_nistp224.c (296279) |
---|---|
1/* crypto/ec/ecp_nistp224.c */ 2/* 3 * Written by Emilia Kasper (Google) for the OpenSSL project. 4 */ 5/* Copyright 2011 Google Inc. 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * --- 1643 unchanged lines hidden (view full) --- 1652 goto err; 1653 if ((pre = nistp224_pre_comp_new()) == NULL) 1654 goto err; 1655 /* 1656 * if the generator is the standard one, use built-in precomputation 1657 */ 1658 if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) { 1659 memcpy(pre->g_pre_comp, gmul, sizeof(pre->g_pre_comp)); | 1/* crypto/ec/ecp_nistp224.c */ 2/* 3 * Written by Emilia Kasper (Google) for the OpenSSL project. 4 */ 5/* Copyright 2011 Google Inc. 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * --- 1643 unchanged lines hidden (view full) --- 1652 goto err; 1653 if ((pre = nistp224_pre_comp_new()) == NULL) 1654 goto err; 1655 /* 1656 * if the generator is the standard one, use built-in precomputation 1657 */ 1658 if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) { 1659 memcpy(pre->g_pre_comp, gmul, sizeof(pre->g_pre_comp)); |
1660 ret = 1; 1661 goto err; | 1660 goto done; |
1662 } 1663 if ((!BN_to_felem(pre->g_pre_comp[0][1][0], &group->generator->X)) || 1664 (!BN_to_felem(pre->g_pre_comp[0][1][1], &group->generator->Y)) || 1665 (!BN_to_felem(pre->g_pre_comp[0][1][2], &group->generator->Z))) 1666 goto err; 1667 /* 1668 * compute 2^56*G, 2^112*G, 2^168*G for the first table, 2^28*G, 2^84*G, 1669 * 2^140*G, 2^196*G for the second one --- 61 unchanged lines hidden (view full) --- 1731 pre->g_pre_comp[i][2 * j][1], 1732 pre->g_pre_comp[i][2 * j][2], 0, 1733 pre->g_pre_comp[i][1][0], pre->g_pre_comp[i][1][1], 1734 pre->g_pre_comp[i][1][2]); 1735 } 1736 } 1737 make_points_affine(31, &(pre->g_pre_comp[0][1]), tmp_felems); 1738 | 1661 } 1662 if ((!BN_to_felem(pre->g_pre_comp[0][1][0], &group->generator->X)) || 1663 (!BN_to_felem(pre->g_pre_comp[0][1][1], &group->generator->Y)) || 1664 (!BN_to_felem(pre->g_pre_comp[0][1][2], &group->generator->Z))) 1665 goto err; 1666 /* 1667 * compute 2^56*G, 2^112*G, 2^168*G for the first table, 2^28*G, 2^84*G, 1668 * 2^140*G, 2^196*G for the second one --- 61 unchanged lines hidden (view full) --- 1730 pre->g_pre_comp[i][2 * j][1], 1731 pre->g_pre_comp[i][2 * j][2], 0, 1732 pre->g_pre_comp[i][1][0], pre->g_pre_comp[i][1][1], 1733 pre->g_pre_comp[i][1][2]); 1734 } 1735 } 1736 make_points_affine(31, &(pre->g_pre_comp[0][1]), tmp_felems); 1737 |
1738 done: |
|
1739 if (!EC_EX_DATA_set_data(&group->extra_data, pre, nistp224_pre_comp_dup, 1740 nistp224_pre_comp_free, 1741 nistp224_pre_comp_clear_free)) 1742 goto err; 1743 ret = 1; 1744 pre = NULL; 1745 err: 1746 BN_CTX_end(ctx); --- 23 unchanged lines hidden --- | 1739 if (!EC_EX_DATA_set_data(&group->extra_data, pre, nistp224_pre_comp_dup, 1740 nistp224_pre_comp_free, 1741 nistp224_pre_comp_clear_free)) 1742 goto err; 1743 ret = 1; 1744 pre = NULL; 1745 err: 1746 BN_CTX_end(ctx); --- 23 unchanged lines hidden --- |