mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-06 07:44:57 +03:00
Remove Intel AES-NI library
This commit is contained in:
@ -69,7 +69,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib libintelaes.lib"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
@ -139,7 +139,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib libintelaes.lib"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
@ -212,7 +212,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib libintelaes.lib"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
@ -286,7 +286,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib libintelaes.lib"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
@ -827,14 +827,6 @@
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="intelaes"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\intelaes\iaesni.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
@ -1,147 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 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 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT OWNER 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _IAESNI_H__
|
||||
#define _IAESNI_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#define AES_INSTRCTIONS_CPUID_BIT (1<<25)
|
||||
|
||||
//indicates input param
|
||||
#define _AES_IN
|
||||
|
||||
//indicates output param
|
||||
#define _AES_OUT
|
||||
|
||||
//indicates input/output param - based on context
|
||||
#define _AES_INOUT
|
||||
|
||||
//typedef unsigned char UCHAR;
|
||||
|
||||
|
||||
/*#ifndef bool
|
||||
#define bool BOOL
|
||||
#endif*/
|
||||
//test if the processor actually supports the above functions
|
||||
//executing one the functions below without processor support will cause UD fault
|
||||
//bool check_for_aes_instructions(void);
|
||||
#if (__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
int check_for_aes_instructions(void);
|
||||
|
||||
#define ROUND_KEYS_UNALIGNED_TESTING
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
#ifdef ROUND_KEYS_UNALIGNED_TESTING
|
||||
|
||||
#define DEFINE_ROUND_KEYS \
|
||||
UCHAR __attribute__ ((aligned (16))) _expandedKey[16*16]; \
|
||||
UCHAR *expandedKey = _expandedKey + 4; \
|
||||
|
||||
|
||||
#else
|
||||
|
||||
|
||||
|
||||
#define DEFINE_ROUND_KEYS \
|
||||
UCHAR __attribute__ ((aligned (16))) _expandedKey[16*16]; \
|
||||
UCHAR *expandedKey = _expandedKey; \
|
||||
|
||||
#endif
|
||||
|
||||
#else // if not __linux__
|
||||
|
||||
#ifdef ROUND_KEYS_UNALIGNED_TESTING
|
||||
|
||||
#define DEFINE_ROUND_KEYS \
|
||||
__declspec(align(16)) UCHAR _expandedKey[16*16]; \
|
||||
UCHAR *expandedKey = _expandedKey + 4; \
|
||||
|
||||
|
||||
#else
|
||||
|
||||
|
||||
|
||||
#define DEFINE_ROUND_KEYS \
|
||||
__declspec(align(16)) UCHAR _expandedKey[16*16]; \
|
||||
UCHAR *expandedKey = _expandedKey; \
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// encryption functions
|
||||
// plainText is pointer to input stream
|
||||
// cipherText is pointer to buffer to be filled with encrypted (cipher text) data
|
||||
// key is pointer to enc key (sizes are 16 bytes for AES-128, 24 bytes for AES-192, 32 for AES-256)
|
||||
// numBlocks is number of 16 bytes blocks to process - note that encryption is done of full 16 byte blocks
|
||||
void intel_AES_enc128(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
void intel_AES_enc192(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
void intel_AES_enc256(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
|
||||
|
||||
void intel_AES_enc128_CBC(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
void intel_AES_enc192_CBC(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
void intel_AES_enc256_CBC(_AES_IN UCHAR *plainText, _AES_OUT UCHAR *cipherText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
|
||||
|
||||
// encryption functions
|
||||
// cipherText is pointer to encrypted stream
|
||||
// plainText is pointer to buffer to be filled with original (plain text) data
|
||||
// key is pointer to enc key (sizes are 16 bytes for AES-128, 24 bytes for AES-192, 32 for AES-256)
|
||||
// numBlocks is number of 16 bytes blocks to process - note that decryption is done of full 16 byte blocks
|
||||
void intel_AES_dec128(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
void intel_AES_dec192(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
void intel_AES_dec256(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks);
|
||||
|
||||
void intel_AES_dec128_CBC(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
void intel_AES_dec192_CBC(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
void intel_AES_dec256_CBC(_AES_IN UCHAR *cipherText, _AES_OUT UCHAR *plainText, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *iv);
|
||||
|
||||
void intel_AES_encdec128_CTR(_AES_IN UCHAR *input, _AES_OUT UCHAR *output, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *initial_counter);
|
||||
void intel_AES_encdec192_CTR(_AES_IN UCHAR *input, _AES_OUT UCHAR *output, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *initial_counter);
|
||||
void intel_AES_encdec256_CTR(_AES_IN UCHAR *input, _AES_OUT UCHAR *output, _AES_IN UCHAR *key, _AES_IN size_t numBlocks, _AES_IN UCHAR *initial_counter);
|
||||
|
||||
|
||||
#if (__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user