Loading crypto/bn/asm/ia64.S +2 −3 Original line number Diff line number Diff line Loading @@ -1529,9 +1529,8 @@ bn_div_words: // output: f8 = (int)(a/b) // clobbered: f8,f9,f10,f11,pred pred=p15 // One can argue that this snippet is copyrighted to Intel // Corporation, as it's essentially identical to one of those // found in "Divide, Square Root and Remainder" section at // This snippet is based on text found in the "Divide, Square // Root and Remainder" section at // http://www.intel.com/software/products/opensource/libraries/num.htm. // Yes, I admit that the referred code was used as template, // but after I realized that there hardly is any other instruction Loading crypto/bn/asm/rsaz-avx2.pl +20 −58 Original line number Diff line number Diff line #! /usr/bin/env perl # Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html ############################################################################## # # # Copyright (c) 2012, Intel Corporation # # # # All rights reserved. # # # # Redistribution and use in source and binary forms, with or without # # modification, are permitted provided that the following conditions are # # met: # # # # * Redistributions of source code must retain the above copyright # # notice, this list of conditions and the following disclaimer. # # # # * Redistributions in binary form must reproduce the above copyright # # notice, this list of conditions and the following disclaimer in the # # documentation and/or other materials provided with the # # distribution. # # # # * Neither the name of the Intel Corporation nor the names of its # # contributors may be used to endorse or promote products derived from # # this software without specific prior written permission. # # # # # # THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY # # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR # # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # ############################################################################## # Developers and authors: # # Shay Gueron (1, 2), and Vlad Krasnov (1) # # (1) Intel Corporation, Israel Development Center, Haifa, Israel # # (2) University of Haifa, Israel # ############################################################################## # Reference: # # [1] S. Gueron, V. Krasnov: "Software Implementation of Modular # # Exponentiation, Using Advanced Vector Instructions Architectures", # # F. Ozbudak and F. Rodriguez-Henriquez (Eds.): WAIFI 2012, LNCS 7369, # # pp. 119?135, 2012. Springer-Verlag Berlin Heidelberg 2012 # # [2] S. Gueron: "Efficient Software Implementations of Modular # # Exponentiation", Journal of Cryptographic Engineering 2:31-43 (2012). # # [3] S. Gueron, V. Krasnov: "Speeding up Big-numbers Squaring",IEEE # # Proceedings of 9th International Conference on Information Technology: # # New Generations (ITNG 2012), pp.821-823 (2012) # # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # # resistant 1024-bit modular exponentiation, for optimizing RSA2048 # # on AVX2 capable x86_64 platforms", # # http://rt.openssl.org/Ticket/Display.html?id=2850&user=guest&pass=guest# ############################################################################## # # Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) # (1) Intel Corporation, Israel Development Center, Haifa, Israel # (2) University of Haifa, Israel # # References: # [1] S. Gueron, V. Krasnov: "Software Implementation of Modular # Exponentiation, Using Advanced Vector Instructions Architectures", # F. Ozbudak and F. Rodriguez-Henriquez (Eds.): WAIFI 2012, LNCS 7369, # pp. 119?135, 2012. Springer-Verlag Berlin Heidelberg 2012 # [2] S. Gueron: "Efficient Software Implementations of Modular # Exponentiation", Journal of Cryptographic Engineering 2:31-43 (2012). # [3] S. Gueron, V. Krasnov: "Speeding up Big-numbers Squaring",IEEE # Proceedings of 9th International Conference on Information Technology: # New Generations (ITNG 2012), pp.821-823 (2012) # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # resistant 1024-bit modular exponentiation, for optimizing RSA2048 # on AVX2 capable x86_64 platforms", # http://rt.openssl.org/Ticket/Display.html?id=2850&user=guest&pass=guest # # +13% improvement over original submission by <appro@openssl.org> # Loading crypto/bn/asm/rsaz-x86_64.pl +19 −58 Original line number Diff line number Diff line #! /usr/bin/env perl # Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html ############################################################################## # # # Copyright (c) 2012, Intel Corporation # # # # All rights reserved. # # # # Redistribution and use in source and binary forms, with or without # # modification, are permitted provided that the following conditions are # # met: # # # # * Redistributions of source code must retain the above copyright # # notice, this list of conditions and the following disclaimer. # # # # * Redistributions in binary form must reproduce the above copyright # # notice, this list of conditions and the following disclaimer in the # # documentation and/or other materials provided with the # # distribution. # # # # * Neither the name of the Intel Corporation nor the names of its # # contributors may be used to endorse or promote products derived from # # this software without specific prior written permission. # # # # # # THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY # # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR # # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # ############################################################################## # Developers and authors: # # Shay Gueron (1, 2), and Vlad Krasnov (1) # # (1) Intel Architecture Group, Microprocessor and Chipset Development, # # Israel Development Center, Haifa, Israel # # (2) University of Haifa # ############################################################################## # Reference: # # [1] S. Gueron, "Efficient Software Implementations of Modular # # Exponentiation", http://eprint.iacr.org/2011/239 # # [2] S. Gueron, V. Krasnov. "Speeding up Big-Numbers Squaring". # # IEEE Proceedings of 9th International Conference on Information # # Technology: New Generations (ITNG 2012), 821-823 (2012). # # [3] S. Gueron, Efficient Software Implementations of Modular Exponentiation# # Journal of Cryptographic Engineering 2:31-43 (2012). # # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # # resistant 512-bit and 1024-bit modular exponentiation for optimizing # # RSA1024 and RSA2048 on x86_64 platforms", # # http://rt.openssl.org/Ticket/Display.html?id=2582&user=guest&pass=guest# ############################################################################## # # Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) # (1) Intel Corporation, Israel Development Center, Haifa, Israel # (2) University of Haifa, Israel # # References: # [1] S. Gueron, "Efficient Software Implementations of Modular # Exponentiation", http://eprint.iacr.org/2011/239 # [2] S. Gueron, V. Krasnov. "Speeding up Big-Numbers Squaring". # IEEE Proceedings of 9th International Conference on Information # Technology: New Generations (ITNG 2012), 821-823 (2012). # [3] S. Gueron, Efficient Software Implementations of Modular Exponentiation # Journal of Cryptographic Engineering 2:31-43 (2012). # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # resistant 512-bit and 1024-bit modular exponentiation for optimizing # RSA1024 and RSA2048 on x86_64 platforms", # http://rt.openssl.org/Ticket/Display.html?id=2582&user=guest&pass=guest # # While original submission covers 512- and 1024-bit exponentiation, # this module is limited to 512-bit version only (and as such # accelerates RSA1024 sign). This is because improvement for longer Loading crypto/bn/rsaz_exp.c +5 −42 Original line number Diff line number Diff line /* * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2012, Intel Corporation. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html * * Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) * (1) Intel Corporation, Israel Development Center, Haifa, Israel * (2) University of Haifa, Israel */ /***************************************************************************** * * * Copyright (c) 2012, Intel Corporation * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions are * * met: * * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * * Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the * * distribution. * * * * * Neither the name of the Intel Corporation nor the names of its * * contributors may be used to endorse or promote products derived from * * this software without specific prior written permission. * * * * * * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY * * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR * * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * ****************************************************************************** * Developers and authors: * * Shay Gueron (1, 2), and Vlad Krasnov (1) * * (1) Intel Corporation, Israel Development Center, Haifa, Israel * * (2) University of Haifa, Israel * *****************************************************************************/ #include <openssl/opensslconf.h> #include "rsaz_exp.h" Loading crypto/bn/rsaz_exp.h +5 −42 Original line number Diff line number Diff line /* * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2012, Intel Corporation. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html * * Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) * (1) Intel Corporation, Israel Development Center, Haifa, Israel * (2) University of Haifa, Israel */ /***************************************************************************** * * * Copyright (c) 2012, Intel Corporation * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions are * * met: * * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * * Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the * * distribution. * * * * * Neither the name of the Intel Corporation nor the names of its * * contributors may be used to endorse or promote products derived from * * this software without specific prior written permission. * * * * * * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY * * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR * * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * ****************************************************************************** * Developers and authors: * * Shay Gueron (1, 2), and Vlad Krasnov (1) * * (1) Intel Corporation, Israel Development Center, Haifa, Israel * * (2) University of Haifa, Israel * *****************************************************************************/ #ifndef RSAZ_EXP_H # define RSAZ_EXP_H Loading Loading
crypto/bn/asm/ia64.S +2 −3 Original line number Diff line number Diff line Loading @@ -1529,9 +1529,8 @@ bn_div_words: // output: f8 = (int)(a/b) // clobbered: f8,f9,f10,f11,pred pred=p15 // One can argue that this snippet is copyrighted to Intel // Corporation, as it's essentially identical to one of those // found in "Divide, Square Root and Remainder" section at // This snippet is based on text found in the "Divide, Square // Root and Remainder" section at // http://www.intel.com/software/products/opensource/libraries/num.htm. // Yes, I admit that the referred code was used as template, // but after I realized that there hardly is any other instruction Loading
crypto/bn/asm/rsaz-avx2.pl +20 −58 Original line number Diff line number Diff line #! /usr/bin/env perl # Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html ############################################################################## # # # Copyright (c) 2012, Intel Corporation # # # # All rights reserved. # # # # Redistribution and use in source and binary forms, with or without # # modification, are permitted provided that the following conditions are # # met: # # # # * Redistributions of source code must retain the above copyright # # notice, this list of conditions and the following disclaimer. # # # # * Redistributions in binary form must reproduce the above copyright # # notice, this list of conditions and the following disclaimer in the # # documentation and/or other materials provided with the # # distribution. # # # # * Neither the name of the Intel Corporation nor the names of its # # contributors may be used to endorse or promote products derived from # # this software without specific prior written permission. # # # # # # THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY # # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR # # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # ############################################################################## # Developers and authors: # # Shay Gueron (1, 2), and Vlad Krasnov (1) # # (1) Intel Corporation, Israel Development Center, Haifa, Israel # # (2) University of Haifa, Israel # ############################################################################## # Reference: # # [1] S. Gueron, V. Krasnov: "Software Implementation of Modular # # Exponentiation, Using Advanced Vector Instructions Architectures", # # F. Ozbudak and F. Rodriguez-Henriquez (Eds.): WAIFI 2012, LNCS 7369, # # pp. 119?135, 2012. Springer-Verlag Berlin Heidelberg 2012 # # [2] S. Gueron: "Efficient Software Implementations of Modular # # Exponentiation", Journal of Cryptographic Engineering 2:31-43 (2012). # # [3] S. Gueron, V. Krasnov: "Speeding up Big-numbers Squaring",IEEE # # Proceedings of 9th International Conference on Information Technology: # # New Generations (ITNG 2012), pp.821-823 (2012) # # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # # resistant 1024-bit modular exponentiation, for optimizing RSA2048 # # on AVX2 capable x86_64 platforms", # # http://rt.openssl.org/Ticket/Display.html?id=2850&user=guest&pass=guest# ############################################################################## # # Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) # (1) Intel Corporation, Israel Development Center, Haifa, Israel # (2) University of Haifa, Israel # # References: # [1] S. Gueron, V. Krasnov: "Software Implementation of Modular # Exponentiation, Using Advanced Vector Instructions Architectures", # F. Ozbudak and F. Rodriguez-Henriquez (Eds.): WAIFI 2012, LNCS 7369, # pp. 119?135, 2012. Springer-Verlag Berlin Heidelberg 2012 # [2] S. Gueron: "Efficient Software Implementations of Modular # Exponentiation", Journal of Cryptographic Engineering 2:31-43 (2012). # [3] S. Gueron, V. Krasnov: "Speeding up Big-numbers Squaring",IEEE # Proceedings of 9th International Conference on Information Technology: # New Generations (ITNG 2012), pp.821-823 (2012) # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # resistant 1024-bit modular exponentiation, for optimizing RSA2048 # on AVX2 capable x86_64 platforms", # http://rt.openssl.org/Ticket/Display.html?id=2850&user=guest&pass=guest # # +13% improvement over original submission by <appro@openssl.org> # Loading
crypto/bn/asm/rsaz-x86_64.pl +19 −58 Original line number Diff line number Diff line #! /usr/bin/env perl # Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html ############################################################################## # # # Copyright (c) 2012, Intel Corporation # # # # All rights reserved. # # # # Redistribution and use in source and binary forms, with or without # # modification, are permitted provided that the following conditions are # # met: # # # # * Redistributions of source code must retain the above copyright # # notice, this list of conditions and the following disclaimer. # # # # * Redistributions in binary form must reproduce the above copyright # # notice, this list of conditions and the following disclaimer in the # # documentation and/or other materials provided with the # # distribution. # # # # * Neither the name of the Intel Corporation nor the names of its # # contributors may be used to endorse or promote products derived from # # this software without specific prior written permission. # # # # # # THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY # # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR # # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # ############################################################################## # Developers and authors: # # Shay Gueron (1, 2), and Vlad Krasnov (1) # # (1) Intel Architecture Group, Microprocessor and Chipset Development, # # Israel Development Center, Haifa, Israel # # (2) University of Haifa # ############################################################################## # Reference: # # [1] S. Gueron, "Efficient Software Implementations of Modular # # Exponentiation", http://eprint.iacr.org/2011/239 # # [2] S. Gueron, V. Krasnov. "Speeding up Big-Numbers Squaring". # # IEEE Proceedings of 9th International Conference on Information # # Technology: New Generations (ITNG 2012), 821-823 (2012). # # [3] S. Gueron, Efficient Software Implementations of Modular Exponentiation# # Journal of Cryptographic Engineering 2:31-43 (2012). # # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # # resistant 512-bit and 1024-bit modular exponentiation for optimizing # # RSA1024 and RSA2048 on x86_64 platforms", # # http://rt.openssl.org/Ticket/Display.html?id=2582&user=guest&pass=guest# ############################################################################## # # Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) # (1) Intel Corporation, Israel Development Center, Haifa, Israel # (2) University of Haifa, Israel # # References: # [1] S. Gueron, "Efficient Software Implementations of Modular # Exponentiation", http://eprint.iacr.org/2011/239 # [2] S. Gueron, V. Krasnov. "Speeding up Big-Numbers Squaring". # IEEE Proceedings of 9th International Conference on Information # Technology: New Generations (ITNG 2012), 821-823 (2012). # [3] S. Gueron, Efficient Software Implementations of Modular Exponentiation # Journal of Cryptographic Engineering 2:31-43 (2012). # [4] S. Gueron, V. Krasnov: "[PATCH] Efficient and side channel analysis # resistant 512-bit and 1024-bit modular exponentiation for optimizing # RSA1024 and RSA2048 on x86_64 platforms", # http://rt.openssl.org/Ticket/Display.html?id=2582&user=guest&pass=guest # # While original submission covers 512- and 1024-bit exponentiation, # this module is limited to 512-bit version only (and as such # accelerates RSA1024 sign). This is because improvement for longer Loading
crypto/bn/rsaz_exp.c +5 −42 Original line number Diff line number Diff line /* * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2012, Intel Corporation. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html * * Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) * (1) Intel Corporation, Israel Development Center, Haifa, Israel * (2) University of Haifa, Israel */ /***************************************************************************** * * * Copyright (c) 2012, Intel Corporation * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions are * * met: * * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * * Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the * * distribution. * * * * * Neither the name of the Intel Corporation nor the names of its * * contributors may be used to endorse or promote products derived from * * this software without specific prior written permission. * * * * * * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY * * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR * * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * ****************************************************************************** * Developers and authors: * * Shay Gueron (1, 2), and Vlad Krasnov (1) * * (1) Intel Corporation, Israel Development Center, Haifa, Israel * * (2) University of Haifa, Israel * *****************************************************************************/ #include <openssl/opensslconf.h> #include "rsaz_exp.h" Loading
crypto/bn/rsaz_exp.h +5 −42 Original line number Diff line number Diff line /* * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2012, Intel Corporation. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html * * Originally written by Shay Gueron (1, 2), and Vlad Krasnov (1) * (1) Intel Corporation, Israel Development Center, Haifa, Israel * (2) University of Haifa, Israel */ /***************************************************************************** * * * Copyright (c) 2012, Intel Corporation * * * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions are * * met: * * * * * Redistributions of source code must retain the above copyright * * notice, this list of conditions and the following disclaimer. * * * * * Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the * * distribution. * * * * * Neither the name of the Intel Corporation nor the names of its * * contributors may be used to endorse or promote products derived from * * this software without specific prior written permission. * * * * * * THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY * * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR * * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * ****************************************************************************** * Developers and authors: * * Shay Gueron (1, 2), and Vlad Krasnov (1) * * (1) Intel Corporation, Israel Development Center, Haifa, Israel * * (2) University of Haifa, Israel * *****************************************************************************/ #ifndef RSAZ_EXP_H # define RSAZ_EXP_H Loading