]>
Commit | Line | Data |
---|---|---|
ca48ace5 | 1 | /****************************************************************************** |
0f113f3e MC |
2 | * Copyright(c) 2012, Intel Corp. |
3 | * Developers and authors: | |
4 | * Shay Gueron (1, 2), and Vlad Krasnov (1) | |
5 | * (1) Intel Corporation, Israel Development Center, Haifa, Israel | |
6 | * (2) University of Haifa, Israel | |
ca48ace5 | 7 | ****************************************************************************** |
0f113f3e MC |
8 | * LICENSE: |
9 | * This submission to OpenSSL is to be made available under the OpenSSL | |
10 | * license, and only to the OpenSSL project, in order to allow integration | |
11 | * into the publicly distributed code. | |
ca48ace5 AP |
12 | * The use of this code, or portions of this code, or concepts embedded in |
13 | * this code, or modification of this code and/or algorithm(s) in it, or the | |
14 | * use of this code for any other purpose than stated above, requires special | |
0f113f3e | 15 | * licensing. |
ca48ace5 | 16 | ****************************************************************************** |
0f113f3e MC |
17 | * DISCLAIMER: |
18 | * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS AND THE COPYRIGHT OWNERS | |
19 | * ``AS IS''. ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | |
20 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
ca48ace5 | 21 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS OR THE COPYRIGHT |
0f113f3e MC |
22 | * OWNERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, |
23 | * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
24 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
25 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
26 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
27 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
28 | * POSSIBILITY OF SUCH DAMAGE. | |
ca48ace5 AP |
29 | ******************************************************************************/ |
30 | ||
31 | #ifndef RSAZ_EXP_H | |
0f113f3e | 32 | # define RSAZ_EXP_H |
ca48ace5 | 33 | |
ed45f3c2 RL |
34 | # undef RSAZ_ENABLED |
35 | # if defined(OPENSSL_BN_ASM_MONT) && \ | |
36 | (defined(__x86_64) || defined(__x86_64__) || \ | |
37 | defined(_M_AMD64) || defined(_M_X64)) | |
38 | # define RSAZ_ENABLED | |
39 | ||
40 | # include <openssl/bn.h> | |
ca48ace5 AP |
41 | |
42 | void RSAZ_1024_mod_exp_avx2(BN_ULONG result[16], | |
0f113f3e MC |
43 | const BN_ULONG base_norm[16], |
44 | const BN_ULONG exponent[16], | |
45 | const BN_ULONG m_norm[16], const BN_ULONG RR[16], | |
46 | BN_ULONG k0); | |
ca48ace5 AP |
47 | int rsaz_avx2_eligible(); |
48 | ||
49 | void RSAZ_512_mod_exp(BN_ULONG result[8], | |
0f113f3e MC |
50 | const BN_ULONG base_norm[8], const BN_ULONG exponent[8], |
51 | const BN_ULONG m_norm[8], BN_ULONG k0, | |
52 | const BN_ULONG RR[8]); | |
ed45f3c2 RL |
53 | |
54 | # endif | |
55 | ||
ca48ace5 | 56 | #endif |