Add cryptopp library to vendor/
This commit is contained in:
parent
1a2036749c
commit
47ae3047e4
1
vendor/CMakeLists.txt
vendored
1
vendor/CMakeLists.txt
vendored
@ -1,3 +1,4 @@
|
||||
add_subdirectory(googletest)
|
||||
add_subdirectory(scrypt)
|
||||
add_subdirectory(spdlog)
|
||||
add_subdirectory(cryptopp)
|
||||
|
2
vendor/README
vendored
2
vendor/README
vendored
@ -4,3 +4,5 @@ scrypt: http://www.tarsnap.com/scrypt.html
|
||||
googletest: https://github.com/google/googletest/tree/release-1.8.0
|
||||
- changed: added NOLINT comment as workaround for clang-tidy warning https://github.com/google/googletest/issues/853
|
||||
spdlog: https://github.com/gabime/spdlog/tree/v0.16.3/include/spdlog
|
||||
cryptopp: https://github.com/weidai11/cryptopp/tree/CRYPTOPP_7_0_0
|
||||
- changed: added CMakeLists.txt and cryptopp-config.cmake from https://github.com/noloader/cryptopp-cmake/tree/7f3b3540740b365bed673936852d70795c0104f3
|
||||
|
4
vendor/cryptopp/CMakeLists.txt
vendored
Normal file
4
vendor/cryptopp/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Don't build cryptopp test cases
|
||||
set(BUILD_TESTING OFF)
|
||||
|
||||
add_subdirectory(cryptopp)
|
54
vendor/cryptopp/cryptopp/.appveyor.yml
vendored
Normal file
54
vendor/cryptopp/cryptopp/.appveyor.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
# Appveyor's documentation is at https://www.appveyor.com/docs/build-phase/,
|
||||
# and a sample configuration file is at https://www.appveyor.com/docs/appveyor-yml/.
|
||||
# I have to admit its a bit complex and I don't fully understand it.
|
||||
|
||||
version: 1.0.{build}
|
||||
clone_depth: 3
|
||||
skip_tags: true
|
||||
|
||||
configuration:
|
||||
|
||||
- Debug
|
||||
- Release
|
||||
|
||||
platform:
|
||||
|
||||
- Win32
|
||||
- x64
|
||||
|
||||
image:
|
||||
|
||||
- Visual Studio 2017
|
||||
- Visual Studio 2015
|
||||
- Visual Studio 2013
|
||||
|
||||
environment:
|
||||
|
||||
matrix:
|
||||
|
||||
- BUILD_MODE: MSBuild
|
||||
|
||||
# Disable build through solution file
|
||||
build: off
|
||||
|
||||
# Build through commands in script below
|
||||
test_script:
|
||||
|
||||
- ps: >-
|
||||
|
||||
msbuild /t:Build /p:platform="$env:platform" /p:configuration="$env:configuration" cryptlib.vcxproj
|
||||
|
||||
msbuild /t:Build /p:platform="$env:platform" /p:configuration="$env:configuration" cryptest.vcxproj
|
||||
|
||||
msbuild /t:CopyCryptestToRoot cryptest.vcxproj
|
||||
|
||||
.\cryptest.exe v
|
||||
|
||||
.\cryptest.exe tv all
|
||||
|
||||
notifications:
|
||||
- provider: Email
|
||||
to:
|
||||
- cryptopp-build@googlegroups.com
|
||||
on_build_success: true
|
||||
on_build_failure: true
|
1
vendor/cryptopp/cryptopp/.gitattributes
vendored
Normal file
1
vendor/cryptopp/cryptopp/.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.sh eol=lf
|
15
vendor/cryptopp/cryptopp/.github/issue_template.md
vendored
Normal file
15
vendor/cryptopp/cryptopp/.github/issue_template.md
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
### Crypto++ Issue Report
|
||||
|
||||
Thanks for taking the time to report an issue. Reporting issues helps us improve stability and reliability for all users, so it is a valuable contribution.
|
||||
|
||||
Please do not ask questions in the bug tracker. Please ask questions on the Crypto++ Users List at http://groups.google.com/forum/#!forum/cryptopp-users.
|
||||
|
||||
There is a wiki page with information on filing useful bug reports. If you have some time please visit http://www.cryptopp.com/wiki/Bug_Report on the wiki. The executive summary is:
|
||||
|
||||
* State the operating system and version (Ubutnu 17 x86_64, Windows 7 Professional x64, etc)
|
||||
* State the version of the Crypto++ library (Crypto++ 5.6.5, Master, etc)
|
||||
* State how you built the library (Makefile, Cmake, distro, etc)
|
||||
* Show a typical command line (the output of the compiler for cryptlib.cpp)
|
||||
* Show the link command (the output of the linker for libcryptopp.so or cryptest.exe)
|
||||
* Show the exact error message you are receiving (copy and paste it); or
|
||||
* Clearly state the undesired behavior (and state the expected behavior)
|
271
vendor/cryptopp/cryptopp/.gitignore
vendored
Normal file
271
vendor/cryptopp/cryptopp/.gitignore
vendored
Normal file
@ -0,0 +1,271 @@
|
||||
####################
|
||||
## Crypto++ specific
|
||||
####################
|
||||
adhoc.cpp
|
||||
adhoc.cpp.copied
|
||||
libcryptopp.a
|
||||
libcryptopp.so
|
||||
libcryptopp.dylib
|
||||
cryptest.exe
|
||||
cryptopp-test.cxx
|
||||
cryptopp-test.exe
|
||||
cryptopp-test.s
|
||||
cryptopp.mac.done
|
||||
GNUmakefile.deps
|
||||
|
||||
##############
|
||||
## Patch files
|
||||
##############
|
||||
*.diff
|
||||
*.patch
|
||||
|
||||
#################
|
||||
## GNU/GCC
|
||||
#################
|
||||
|
||||
## Ignore GNU/GCC artifacts
|
||||
a.out
|
||||
|
||||
## Ignore GCC temproary files. It appears Fedora
|
||||
## changed a behavior somewhere along the lines
|
||||
|
||||
*.o
|
||||
|
||||
#################
|
||||
## Eclipse
|
||||
#################
|
||||
|
||||
*.pydevproject
|
||||
.project
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.classpath
|
||||
.settings/
|
||||
.loadpath
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
#################
|
||||
## Visual Studio
|
||||
#################
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
## https://msdn.microsoft.com/en-us/library/hx0cxhaw.aspx
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sdf
|
||||
|
||||
# Build results
|
||||
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
build/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]ibs/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.o
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.log
|
||||
*.scc
|
||||
*.exe
|
||||
*.a
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
*.ncrunch*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.Publish.xml
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# NuGet Packages Directory
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||
#packages/
|
||||
|
||||
# Windows Azure Build Output
|
||||
csx
|
||||
*.build.csdef
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
sql/
|
||||
*.Cache
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.[Pp]ublish.xml
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
App_Data/*.mdf
|
||||
App_Data/*.ldf
|
||||
|
||||
#############
|
||||
## Windows detritus
|
||||
#############
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
#############
|
||||
# Mac crap
|
||||
#############
|
||||
|
||||
.DS_Store
|
||||
|
||||
#############
|
||||
## Python
|
||||
#############
|
||||
|
||||
*.py[cod]
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist/
|
||||
build/
|
||||
eggs/
|
||||
parts/
|
||||
var/
|
||||
sdist/
|
||||
develop-eggs/
|
||||
.installed.cfg
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
.coverage
|
||||
.tox
|
||||
|
||||
#Translations
|
||||
*.mo
|
||||
|
||||
#Mr Developer
|
||||
.mr.developer.cfg
|
||||
|
||||
#################
|
||||
## C++Builder
|
||||
#################
|
||||
|
||||
## Ignore C++Builder temporary files and build results.
|
||||
## http://docwiki.embarcadero.com/RADStudio/en/File_Extensions_of_Files_Generated_by_RAD_Studio
|
||||
|
||||
# Static library file
|
||||
*.lib
|
||||
|
||||
# User-specific project options
|
||||
*.local
|
||||
|
||||
# Dependency file
|
||||
*.d
|
149
vendor/cryptopp/cryptopp/.travis.yml
vendored
Normal file
149
vendor/cryptopp/cryptopp/.travis.yml
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
language: cpp
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
dist: trusty
|
||||
sudo: required
|
||||
|
||||
# OS X only supports one image. Use the latest.
|
||||
osx_image: xcode9.1
|
||||
|
||||
git:
|
||||
depth: 3
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD_JOBS=2
|
||||
- ANDROID_HOME=$HOME/android/sdk
|
||||
- ANDROID_NDK=$HOME/android/sdk/ndk-bundle
|
||||
- ANDROID_SDK_ROOT=$ANDROID_HOME
|
||||
- ANDROID_NDK_ROOT=$ANDROID_NDK
|
||||
|
||||
matrix:
|
||||
- BUILD_MODE="all"
|
||||
- BUILD_MODE="native"
|
||||
- BUILD_MODE="no-asm"
|
||||
- BUILD_MODE="debug"
|
||||
- BUILD_MODE="asan"
|
||||
- BUILD_MODE="ubsan"
|
||||
|
||||
matrix:
|
||||
|
||||
exclude:
|
||||
# Skip GCC on OS X entirely
|
||||
- os: osx
|
||||
compiler: gcc
|
||||
# Skip UBsan due to GCC 4.8
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
env: BUILD_MODE="ubsan"
|
||||
# Skip UBsan due to Clang 3.4
|
||||
- os: osx
|
||||
compiler: clang
|
||||
env: BUILD_MODE="ubsan"
|
||||
|
||||
include:
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=armeabi
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=armeabi-v7a
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=armv7a-neon
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=aarch64
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=mipsel
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=mipsel64
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=x86
|
||||
- os: linux
|
||||
env:
|
||||
- BUILD_MODE=android
|
||||
- PLATFORM=x86_64
|
||||
- os: osx
|
||||
env:
|
||||
- BUILD_MODE=ios
|
||||
- PLATFORM=iPhoneOS
|
||||
- os: osx
|
||||
env:
|
||||
- BUILD_MODE=ios
|
||||
- PLATFORM=WatchOS
|
||||
- os: osx
|
||||
env:
|
||||
- BUILD_MODE=ios
|
||||
- PLATFORM=AppleTVOS
|
||||
- os: osx
|
||||
env:
|
||||
- BUILD_MODE=ios
|
||||
- PLATFORM=iPhoneSimulator
|
||||
|
||||
allow_failures:
|
||||
- os: osx
|
||||
env:
|
||||
- BUILD_MODE=ios
|
||||
- PLATFORM=WatchOS
|
||||
|
||||
before_install:
|
||||
- |
|
||||
if [[ "$BUILD_MODE" == "android" ]]; then
|
||||
TestScripts/install-android.sh
|
||||
fi
|
||||
|
||||
script:
|
||||
- |
|
||||
if [[ "$BUILD_MODE" == "ios" ]]; then
|
||||
cp ./TestScripts/setenv-ios.sh .
|
||||
TestScripts/cryptest-ios.sh
|
||||
elif [[ "$BUILD_MODE" == "android" ]]; then
|
||||
cp ./TestScripts/setenv-android.sh .
|
||||
TestScripts/cryptest-android.sh
|
||||
elif [[ "$BUILD_MODE" == "debug" ]]; then
|
||||
CXXFLAGS="-DDEBUG -g2 -O1" make -j "$BUILD_JOBS"
|
||||
./cryptest.exe v
|
||||
./cryptest.exe tv all
|
||||
else
|
||||
make "$BUILD_MODE" -j "$BUILD_JOBS"
|
||||
./cryptest.exe v
|
||||
./cryptest.exe tv all
|
||||
fi
|
||||
|
||||
# whitelist branches to avoid testing feature branches twice
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
addons:
|
||||
sonarcloud: false
|
||||
|
||||
coverity_scan:
|
||||
project:
|
||||
name: "cryptopp"
|
||||
build_command: "make -j 2"
|
||||
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- cryptopp-build@googlegroups.com
|
||||
on_success: always # default: change
|
||||
on_failure: always # default: always
|
143
vendor/cryptopp/cryptopp/3way.cpp
vendored
Normal file
143
vendor/cryptopp/cryptopp/3way.cpp
vendored
Normal file
@ -0,0 +1,143 @@
|
||||
// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c
|
||||
// The original code and all modifications are in the public domain.
|
||||
|
||||
#include "pch.h"
|
||||
#include "3way.h"
|
||||
#include "misc.h"
|
||||
|
||||
NAMESPACE_BEGIN(CryptoPP)
|
||||
|
||||
#if defined(CRYPTOPP_DEBUG) && !defined(CRYPTOPP_DOXYGEN_PROCESSING)
|
||||
void ThreeWay_TestInstantiations()
|
||||
{
|
||||
ThreeWay::Encryption x1;
|
||||
ThreeWay::Decryption x2;
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace
|
||||
{
|
||||
const word32 START_E = 0x0b0b; // round constant of first encryption round
|
||||
const word32 START_D = 0xb1b1; // round constant of first decryption round
|
||||
}
|
||||
|
||||
static inline word32 reverseBits(word32 a)
|
||||
{
|
||||
a = ((a & 0xAAAAAAAA) >> 1) | ((a & 0x55555555) << 1);
|
||||
a = ((a & 0xCCCCCCCC) >> 2) | ((a & 0x33333333) << 2);
|
||||
return ((a & 0xF0F0F0F0) >> 4) | ((a & 0x0F0F0F0F) << 4);
|
||||
}
|
||||
|
||||
#define mu(a0, a1, a2) \
|
||||
{ \
|
||||
a1 = reverseBits(a1); \
|
||||
word32 t = reverseBits(a0); \
|
||||
a0 = reverseBits(a2); \
|
||||
a2 = t; \
|
||||
}
|
||||
|
||||
#define pi_gamma_pi(a0, a1, a2) \
|
||||
{ \
|
||||
word32 b0, b2; \
|
||||
b2 = rotlConstant<1>(a2); \
|
||||
b0 = rotlConstant<22>(a0); \
|
||||
a0 = rotlConstant<1>(b0 ^ (a1|(~b2))); \
|
||||
a2 = rotlConstant<22>(b2 ^ (b0|(~a1))); \
|
||||
a1 ^= (b2|(~b0)); \
|
||||
}
|
||||
|
||||
// thanks to Paulo Barreto for this optimized theta()
|
||||
#define theta(a0, a1, a2) \
|
||||
{ \
|
||||
word32 b0, b1, c; \
|
||||
c = a0 ^ a1 ^ a2; \
|
||||
c = rotlConstant<16>(c) ^ rotlConstant<8>(c); \
|
||||
b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); \
|
||||
b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); \
|
||||
a0 ^= c ^ b0; \
|
||||
a1 ^= c ^ b1; \
|
||||
a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); \
|
||||
}
|
||||
|
||||
#define rho(a0, a1, a2) \
|
||||
{ \
|
||||
theta(a0, a1, a2); \
|
||||
pi_gamma_pi(a0, a1, a2); \
|
||||
}
|
||||
|
||||
void ThreeWay::Base::UncheckedSetKey(const byte *uk, unsigned int length, const NameValuePairs ¶ms)
|
||||
{
|
||||
AssertValidKeyLength(length);
|
||||
|
||||
m_rounds = GetRoundsAndThrowIfInvalid(params, this);
|
||||
|
||||
for (unsigned int i=0; i<3; i++)
|
||||
m_k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
|
||||
|
||||
if (!IsForwardTransformation())
|
||||
{
|
||||
theta(m_k[0], m_k[1], m_k[2]);
|
||||
mu(m_k[0], m_k[1], m_k[2]);
|
||||
m_k[0] = ByteReverse(m_k[0]);
|
||||
m_k[1] = ByteReverse(m_k[1]);
|
||||
m_k[2] = ByteReverse(m_k[2]);
|
||||
}
|
||||
}
|
||||
|
||||
void ThreeWay::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
|
||||
{
|
||||
typedef BlockGetAndPut<word32, BigEndian> Block;
|
||||
|
||||
word32 a0, a1, a2;
|
||||
Block::Get(inBlock)(a0)(a1)(a2);
|
||||
|
||||
word32 rc = START_E;
|
||||
|
||||
for(unsigned i=0; i<m_rounds; i++)
|
||||
{
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
rho(a0, a1, a2);
|
||||
|
||||
rc <<= 1;
|
||||
if (rc&0x10000) rc ^= 0x11011;
|
||||
}
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
theta(a0, a1, a2);
|
||||
|
||||
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
|
||||
}
|
||||
|
||||
void ThreeWay::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
|
||||
{
|
||||
typedef BlockGetAndPut<word32, LittleEndian> Block;
|
||||
|
||||
word32 a0, a1, a2;
|
||||
Block::Get(inBlock)(a0)(a1)(a2);
|
||||
|
||||
word32 rc = START_D;
|
||||
|
||||
mu(a0, a1, a2);
|
||||
for(unsigned i=0; i<m_rounds; i++)
|
||||
{
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
rho(a0, a1, a2);
|
||||
|
||||
rc <<= 1;
|
||||
if (rc&0x10000) rc ^= 0x11011;
|
||||
}
|
||||
a0 ^= m_k[0] ^ (rc<<16);
|
||||
a1 ^= m_k[1];
|
||||
a2 ^= m_k[2] ^ rc;
|
||||
theta(a0, a1, a2);
|
||||
mu(a0, a1, a2);
|
||||
|
||||
Block::Put(xorBlock, outBlock)(a0)(a1)(a2);
|
||||
}
|
||||
|
||||
NAMESPACE_END
|
63
vendor/cryptopp/cryptopp/3way.h
vendored
Normal file
63
vendor/cryptopp/cryptopp/3way.h
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
// 3way.h - originally written and placed in the public domain by Wei Dai
|
||||
|
||||
/// \file 3way.h
|
||||
/// \brief Classes for the 3-Way block cipher
|
||||
|
||||
#ifndef CRYPTOPP_THREEWAY_H
|
||||
#define CRYPTOPP_THREEWAY_H
|
||||
|
||||
#include "config.h"
|
||||
#include "seckey.h"
|
||||
#include "secblock.h"
|
||||
|
||||
NAMESPACE_BEGIN(CryptoPP)
|
||||
|
||||
/// \brief ThreeWay block cipher information
|
||||
struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11>
|
||||
{
|
||||
CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "3-Way";}
|
||||
};
|
||||
|
||||
/// \brief ThreeWay block cipher
|
||||
/// \sa <a href="http://www.cryptopp.com/wiki/3-Way">3-Way</a>
|
||||
class ThreeWay : public ThreeWay_Info, public BlockCipherDocumentation
|
||||
{
|
||||
/// \brief Class specific implementation and overrides used to operate the cipher.
|
||||
/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions
|
||||
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<ThreeWay_Info>
|
||||
{
|
||||
public:
|
||||
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms);
|
||||
|
||||
protected:
|
||||
unsigned int m_rounds;
|
||||
FixedSizeSecBlock<word32, 3> m_k;
|
||||
};
|
||||
|
||||
/// \brief Class specific methods used to operate the cipher in the forward direction.
|
||||
/// \details Implementations and overrides in \p Enc apply to \p ENCRYPTION.
|
||||
class CRYPTOPP_NO_VTABLE Enc : public Base
|
||||
{
|
||||
public:
|
||||
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
|
||||
};
|
||||
|
||||
/// \brief Class specific methods used to operate the cipher in the reverse direction.
|
||||
/// \details Implementations and overrides in \p Dec apply to \p DECRYPTION.
|
||||
class CRYPTOPP_NO_VTABLE Dec : public Base
|
||||
{
|
||||
public:
|
||||
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
|
||||
};
|
||||
|
||||
public:
|
||||
typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
|
||||
typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
|
||||
};
|
||||
|
||||
typedef ThreeWay::Encryption ThreeWayEncryption;
|
||||
typedef ThreeWay::Decryption ThreeWayDecryption;
|
||||
|
||||
NAMESPACE_END
|
||||
|
||||
#endif
|
844
vendor/cryptopp/cryptopp/CMakeLists.txt
vendored
Normal file
844
vendor/cryptopp/cryptopp/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,844 @@
|
||||
# Please ensure your changes or patch meets minimum requirements.
|
||||
# The minimum requirements are 2.8.5. They roughly equate to Ubuntu 12.04 LTS
|
||||
# Please do not check in something for 2.8.12 or 3.5.0. To test your changes,
|
||||
# please set up a Ubuntu 12.04 LTS system. Then, manually install Cmake 2.8.5
|
||||
# from http://cmake.org/Wiki/CMake_Released_Versions.
|
||||
# TODO: Decide if this still applies.
|
||||
|
||||
MESSAGE( STATUS
|
||||
"*************************************************************************\n\
|
||||
The Crypto++ library does not officially support CMake. CMake support is a\n\
|
||||
community effort, and the library works with the folks using CMake to help\n\
|
||||
improve it. If you find an issue then please fix it or report it at\n\
|
||||
https://github.com/noloader/cryptopp-cmake.\n\
|
||||
-- *************************************************************************"
|
||||
)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR)
|
||||
|
||||
project(cryptopp)
|
||||
|
||||
# Make RelWithDebInfo the default (it does e.g. add '-O2 -g -DNDEBUG' for GNU)
|
||||
# If not in multi-configuration environments, no explicit build type or CXX
|
||||
# flags are set by the user and if we are the root CMakeLists.txt file.
|
||||
if (NOT CMAKE_CONFIGURATION_TYPES AND
|
||||
NOT CMAKE_NO_BUILD_TYPE AND
|
||||
NOT CMAKE_BUILD_TYPE AND
|
||||
NOT CMAKE_CXX_FLAGS AND
|
||||
CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
endif ()
|
||||
|
||||
set(cryptopp_VERSION_MAJOR 7)
|
||||
set(cryptopp_VERSION_MINOR 0)
|
||||
set(cryptopp_VERSION_PATCH 0)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
#============================================================================
|
||||
# Settable options
|
||||
#============================================================================
|
||||
|
||||
option(BUILD_STATIC "Build static library" ON)
|
||||
option(BUILD_SHARED "Build shared library" ON)
|
||||
option(BUILD_TESTING "Build library tests" ON)
|
||||
option(BUILD_DOCUMENTATION "Use Doxygen to create the HTML based API documentation" OFF)
|
||||
option(USE_INTERMEDIATE_OBJECTS_TARGET "Use a common intermediate objects target for the static and shared library targets" ON)
|
||||
|
||||
if (CMAKE_VERSION VERSION_LESS 2.8.8 AND USE_INTERMEDIATE_OBJECTS_TARGET)
|
||||
message(STATUS "Forcing USE_INTERMEDIATE_OBJECTS_TARGET to OFF - requires CMake >= 2.8.8")
|
||||
set(USE_INTERMEDIATE_OBJECTS_TARGET OFF CACHE BOOL "Use a common intermediate objects target for the static and shared library targets" FORCE)
|
||||
endif ()
|
||||
|
||||
# These are IA-32 options. TODO: Add ARM A-32, Aarch64 and Power8 options.
|
||||
option(DISABLE_ASM "Disable ASM" OFF)
|
||||
option(DISABLE_SSSE3 "Disable SSSE3" OFF)
|
||||
option(DISABLE_SSE4 "Disable SSE4" OFF)
|
||||
option(DISABLE_AESNI "Disable AES-NI" OFF)
|
||||
option(DISABLE_SHA "Disable SHA" OFF)
|
||||
option(CRYPTOPP_NATIVE_ARCH "Enable native architecture" OFF)
|
||||
set(CRYPTOPP_DATA_DIR "" CACHE PATH "Crypto++ test data directory")
|
||||
|
||||
#============================================================================
|
||||
# Internal compiler options
|
||||
#============================================================================
|
||||
|
||||
# Stop hiding the damn output...
|
||||
# set(CMAKE_VERBOSE_MAKEFILE on)
|
||||
|
||||
# Always 1 ahead in Master. Also see http://groups.google.com/forum/#!topic/cryptopp-users/SFhqLDTQPG4
|
||||
set(LIB_VER ${cryptopp_VERSION_MAJOR}${cryptopp_VERSION_MINOR}${cryptopp_VERSION_PATCH})
|
||||
|
||||
# Don't use RPATH's. The resulting binary could fail a security audit.
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
set(CMAKE_MACOSX_RPATH 0)
|
||||
endif ()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
add_definitions(-wd68 -wd186 -wd279 -wd327 -wd161 -wd3180)
|
||||
endif ()
|
||||
|
||||
# Also see http://github.com/weidai11/cryptopp/issues/395
|
||||
if (DISABLE_ASM)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_ASM)
|
||||
endif ()
|
||||
if (DISABLE_SSSE3)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SSSE3)
|
||||
endif ()
|
||||
if (DISABLE_SSE4)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SSE4)
|
||||
endif ()
|
||||
if (DISABLE_AESNI)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_AESNI)
|
||||
endif ()
|
||||
if (DISABLE_SHA)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SHA)
|
||||
endif ()
|
||||
if (NOT CRYPTOPP_DATA_DIR STREQUAL "")
|
||||
add_definitions(-DCRYPTOPP_DATA_DIR="${CRYPTOPP_DATA_DIR}")
|
||||
endif ()
|
||||
|
||||
# CRYPTOPP_NATIVE_ARCH is set below once we know what it means to be "native"
|
||||
|
||||
###############################################################################
|
||||
|
||||
# Try to find a Posix compatible grep and sed. Solaris, Digital Unix,
|
||||
# Tru64, HP-UX and a few others need tweaking
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
|
||||
set(GREP_CMD /usr/xpg4/bin/grep)
|
||||
set(SED_CMD /usr/xpg4/bin/sed)
|
||||
else()
|
||||
set(GREP_CMD grep)
|
||||
set(SED_CMD sed)
|
||||
endif ()
|
||||
|
||||
###############################################################################
|
||||
|
||||
function(CheckCompilerOption opt var)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
|
||||
# CMake does not provide a generic shell/terminal mechanism
|
||||
# and Microsoft environments don't know what 'sh' is.
|
||||
set(${var} 0 PARENT_SCOPE)
|
||||
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
|
||||
|
||||
message(STATUS "Performing Test ${var}")
|
||||
execute_process(
|
||||
COMMAND sh -c "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} ${opt} -E -xdumpmacros /dev/null 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c -E "illegal value ignored"
|
||||
RESULT_VARIABLE COMMAND_RESULT
|
||||
OUTPUT_VARIABLE COMMAND_OUTPUT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# No dereference below. Thanks for the warning, CMake (not!).
|
||||
if (COMMAND_RESULT AND NOT COMMAND_OUTPUT)
|
||||
set(${var} 1 PARENT_SCOPE)
|
||||
message(STATUS "Performing Test ${var} - Success")
|
||||
else ()
|
||||
set(${var} 0 PARENT_SCOPE)
|
||||
message(STATUS "Performing Test ${var} - Failed")
|
||||
endif ()
|
||||
|
||||
else ()
|
||||
|
||||
CHECK_CXX_COMPILER_FLAG(${opt} ${var})
|
||||
|
||||
endif ()
|
||||
|
||||
endfunction(CheckCompilerOption)
|
||||
|
||||
###############################################################################
|
||||
|
||||
function(DumpMachine output pattern)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
|
||||
# CMake does not provide a generic shell/terminal mechanism
|
||||
# and Microsoft environments don't know what 'sh' is.
|
||||
set(${output} 0 PARENT_SCOPE)
|
||||
|
||||
else ()
|
||||
|
||||
execute_process(
|
||||
COMMAND sh -c "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c -E "${pattern}"
|
||||
OUTPUT_VARIABLE ${output}
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(${output} "${${output}}" PARENT_SCOPE)
|
||||
|
||||
endif()
|
||||
|
||||
endfunction(DumpMachine)
|
||||
|
||||
# Thansk to Anonimal for MinGW; see http://github.com/weidai11/cryptopp/issues/466
|
||||
DumpMachine(CRYPTOPP_AMD64 "amd64|x86_64")
|
||||
DumpMachine(CRYPTOPP_I386 "i.86")
|
||||
DumpMachine(CRYPTOPP_MINGW32 "\\<mingw32\\>")
|
||||
DumpMachine(CRYPTOPP_MINGW64 "w64-mingw32|mingw64")
|
||||
DumpMachine(CRYPTOPP_X32 "x32")
|
||||
DumpMachine(CRYPTOPP_AARCH32 "Aarch32")
|
||||
DumpMachine(CRYPTOPP_AARCH64 "Aarch64")
|
||||
DumpMachine(CRYPTOPP_ARMHF "armhf|arm7l|eabihf")
|
||||
DumpMachine(CRYPTOPP_ARM "\\<arm\\>")
|
||||
|
||||
###############################################################################
|
||||
|
||||
# Test SunCC for a string like 'CC: Sun C++ 5.13 SunOS_i386'
|
||||
if (NOT CRYPTOPP_SOLARIS)
|
||||
execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} -V 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c "SunOS"
|
||||
OUTPUT_VARIABLE CRYPTOPP_SOLARIS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
# Test GCC for a string like 'i386-pc-solaris2.11'
|
||||
if (NOT CRYPTOPP_SOLARIS)
|
||||
execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c "Solaris"
|
||||
OUTPUT_VARIABLE CRYPTOPP_SOLARIS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
# DumpMachine SunCC style
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
|
||||
|
||||
# SunCC is 32-bit, but it builds both 32 and 64 bit. Use
|
||||
execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} -V 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c "Sparc"
|
||||
OUTPUT_VARIABLE CRYPTOPP_SPARC
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} -V 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c -E "i386|i86"
|
||||
OUTPUT_VARIABLE CRYPTOPP_I386
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND isainfo -k
|
||||
COMMAND ${GREP_CMD} -i -c "i386"
|
||||
OUTPUT_VARIABLE KERNEL_I386
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND isainfo -k
|
||||
COMMAND ${GREP_CMD} -i -c "amd64"
|
||||
OUTPUT_VARIABLE KERNEL_AMD64
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND isainfo -k
|
||||
COMMAND ${GREP_CMD} -i -c "Sparc"
|
||||
OUTPUT_VARIABLE KERNEL_SPARC
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
execute_process(COMMAND isainfo -k
|
||||
COMMAND ${GREP_CMD} -i -c -E "UltraSarc|Sparc64|SparcV9"
|
||||
OUTPUT_VARIABLE KERNEL_SPARC64
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Build for 32-bit on 64-bit kernels unless Native Arch is
|
||||
# specified. Note that this is a policy provided by Sun.
|
||||
if (CRYPTOPP_NATIVE_ARCH AND KERNEL_I386)
|
||||
unset(CRYPTOPP_AMD64)
|
||||
set(CRYPTOPP_I386 1)
|
||||
elseif (CRYPTOPP_NATIVE_ARCH AND KERNEL_AMD64)
|
||||
unset(CRYPTOPP_I386)
|
||||
set(CRYPTOPP_AMD64 1)
|
||||
elseif (CRYPTOPP_NATIVE_ARCH AND KERNEL_SPARC)
|
||||
unset(KERNEL_SPARC64)
|
||||
set(KERNEL_SPARC 1)
|
||||
elseif (CRYPTOPP_NATIVE_ARCH AND KERNEL_SPARC64)
|
||||
unset(KERNEL_SPARC)
|
||||
set(KERNEL_SPARC64 1)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
###############################################################################
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
|
||||
execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} --version 2>&1"
|
||||
COMMAND ${GREP_CMD} -i -c "macports"
|
||||
OUTPUT_VARIABLE MACPORTS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (MACPORTS EQUAL 0)
|
||||
# Get GAS version, add defs + set as appropriate
|
||||
set(GAS_CMD sh -c "${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null 2>&1")
|
||||
|
||||
execute_process(COMMAND ${GAS_CMD}
|
||||
OUTPUT_VARIABLE GAS_STRING
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string(FIND ${GAS_STRING} "GNU assembler" GAS_OUTPUT)
|
||||
|
||||
if (NOT GAS_OUTPUT EQUAL -1)
|
||||
#.intel_syntax wasn't supported until GNU assembler 2.10
|
||||
|
||||
# TODO(unassigned): string() REGEX was not cooperating at time of writing. Re-implement as needed.
|
||||
execute_process(COMMAND echo ${GAS_STRING}
|
||||
COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.[1-9][0-9]|[3-9])"
|
||||
OUTPUT_VARIABLE GAS210_OR_LATER)
|
||||
if (GAS210_OR_LATER EQUAL 0)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_ASM)
|
||||
set(DISABLE_ASM 1)
|
||||
endif ()
|
||||
|
||||
execute_process(COMMAND echo ${GAS_STRING}
|
||||
COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.1[7-9]|2\\.[2-9]|[3-9])"
|
||||
OUTPUT_VARIABLE GAS217_OR_LATER)
|
||||
if (GAS217_OR_LATER EQUAL 0)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SSSE3)
|
||||
set(DISABLE_SSSE3 1)
|
||||
endif ()
|
||||
|
||||
# OpenBSD and CentOS 5 needed this one due to ARIA and BLAKE2
|
||||
execute_process(COMMAND echo ${GAS_STRING}
|
||||
COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.1[8-9]|2\\.[2-9]|[3-9])"
|
||||
OUTPUT_VARIABLE GAS218_OR_LATER)
|
||||
if (GAS218_OR_LATER EQUAL 0)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SSE4)
|
||||
set(DISABLE_SSE4 1)
|
||||
endif ()
|
||||
|
||||
execute_process(COMMAND echo ${GAS_STRING}
|
||||
COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.19|2\\.[2-9]|[3-9])"
|
||||
OUTPUT_VARIABLE GAS219_OR_LATER)
|
||||
if (GAS219_OR_LATER EQUAL 0)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_AESNI)
|
||||
set(DISABLE_AESNI 1)
|
||||
endif ()
|
||||
|
||||
# Ubuntu 10 and Ubuntu 12 needed this one
|
||||
execute_process(COMMAND echo ${GAS_STRING}
|
||||
COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.2[3-9]|2\\.[3-9]|[3-9])"
|
||||
OUTPUT_VARIABLE GAS223_OR_LATER)
|
||||
if (GAS223_OR_LATER EQUAL 0)
|
||||
add_definitions(-DCRYPTOPP_DISABLE_SHA)
|
||||
set(DISABLE_SHA 1)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# TODO: what about ICC and LLVM on Windows?
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
if (CMAKE_SYSTEM_VERSION MATCHES "10\\.0.*")
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D\"_WIN32_WINNT=0x0A00\"" )
|
||||
endif ()
|
||||
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FI\"winapifamily.h\"" )
|
||||
endif ()
|
||||
|
||||
# Enable PIC for all target machines except 32-bit i386 due to register pressures.
|
||||
if (NOT CRYPTOPP_I386)
|
||||
SET(CMAKE_POSITION_INDEPENDENT_CODE 1)
|
||||
endif ()
|
||||
|
||||
# Solaris specific
|
||||
if (CRYPTOPP_SOLARIS)
|
||||
|
||||
# Determine 32-bit vs 64-bit
|
||||
if (CRYPTOPP_AMD64 OR CRYPTOPP_SPARC64)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
|
||||
else ()
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
|
||||
endif ()
|
||||
|
||||
# SunCC needs -template=no%extdef
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -template=no%extdef")
|
||||
endif ()
|
||||
|
||||
# GCC needs to enable use of '/'
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wa,--divide")
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
|
||||
# Link is driven through the compiler, but CXXFLAGS are not used. Also see
|
||||
# http://public.kitware.com/pipermail/cmake/2003-June/003967.html
|
||||
if (NOT (WINDOWS OR WINDOWS_STORE OR WINDOWS_PHONE))
|
||||
SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Sources & headers
|
||||
#============================================================================
|
||||
|
||||
# Library headers
|
||||
file(GLOB cryptopp_HEADERS *.h)
|
||||
# Remove headers used to build test suite
|
||||
list(REMOVE_ITEM cryptopp_HEADERS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bench.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/validate.h
|
||||
)
|
||||
|
||||
# Test sources. You can use the GNUmakefile to generate the list: `make sources`.
|
||||
file(GLOB cryptopp_SOURCES_TEST test.cpp bench1.cpp bench2.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp adhoc.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp fipsalgt.cpp dlltest.cpp fipstest.cpp)
|
||||
|
||||
# Library sources. You can use the GNUmakefile to generate the list: `make sources`.
|
||||
# Makefile sorted them at http://github.com/weidai11/cryptopp/pull/426.
|
||||
file(GLOB cryptopp_SOURCES *.cpp)
|
||||
list(SORT cryptopp_SOURCES)
|
||||
list(REMOVE_ITEM cryptopp_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cryptlib.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cpu.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/integer.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/pch.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/simple.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/winpipes.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cryptlib_bds.cpp
|
||||
${cryptopp_SOURCES_TEST}
|
||||
)
|
||||
set(cryptopp_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cryptlib.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cpu.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/integer.cpp
|
||||
${cryptopp_SOURCES}
|
||||
)
|
||||
|
||||
if (MINGW OR WIN32)
|
||||
list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/winpipes.cpp)
|
||||
endif ()
|
||||
|
||||
if (MSVC AND NOT DISABLE_ASM)
|
||||
if (${CMAKE_GENERATOR} MATCHES ".*ARM")
|
||||
message(STATUS "Disabling ASM because ARM is specified as target platform.")
|
||||
else ()
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm)
|
||||
list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm PROPERTIES COMPILE_FLAGS "/D_M_X64")
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm PROPERTIES COMPILE_FLAGS "/D_M_X64")
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm PROPERTIES COMPILE_FLAGS "/D_M_X64")
|
||||
else ()
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64dll.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh")
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/x64masm.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh")
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm PROPERTIES COMPILE_FLAGS "/D_M_X86 /safeseh")
|
||||
endif ()
|
||||
list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/rdrand.asm)
|
||||
enable_language(ASM_MASM)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Architecture flags
|
||||
#============================================================================
|
||||
|
||||
# TODO: Android, AIX, IBM xlC, iOS and a few other profiles are missing.
|
||||
|
||||
# New as of Pull Request 461, http://github.com/weidai11/cryptopp/pull/461.
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
|
||||
if (CRYPTOPP_AMD64 OR CRYPTOPP_I386 OR CRYPTOPP_X32)
|
||||
|
||||
CheckCompilerOption("-msse2" CRYPTOPP_IA32_SSE2)
|
||||
CheckCompilerOption("-mssse3" CRYPTOPP_IA32_SSSE3)
|
||||
CheckCompilerOption("-msse4.1" CRYPTOPP_IA32_SSE41)
|
||||
CheckCompilerOption("-msse4.2" CRYPTOPP_IA32_SSE42)
|
||||
CheckCompilerOption("-mssse3 -mpclmul" CRYPTOPP_IA32_CLMUL)
|
||||
CheckCompilerOption("-msse4.1 -maes" CRYPTOPP_IA32_AES)
|
||||
CheckCompilerOption("-msse4.2 -msha" CRYPTOPP_IA32_SHA)
|
||||
CheckCompilerOption("-march=native" CRYPTOPP_IA32_NATIVE)
|
||||
|
||||
# Deferred native arch; added to all CXXFLAGS
|
||||
if (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_IA32_NATIVE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH)
|
||||
message(WARNING "CRYPTOPP_NATIVE_ARCH enabled, but failed to detect native architecture")
|
||||
endif ()
|
||||
|
||||
if (CRYPTOPP_IA32_SSE2 AND NOT DISABLE_ASM)
|
||||
set_source_files_properties(sse-simd.cpp PROPERTIES COMPILE_FLAGS "-msse2")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SSSE3 AND NOT DISABLE_SSSE3)
|
||||
set_source_files_properties(aria-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
|
||||
if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
|
||||
set_source_files_properties(blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4)
|
||||
set_source_files_properties(crc-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2")
|
||||
if (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES)
|
||||
set_source_files_properties(gcm-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3 -mpclmul")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_AES AND NOT DISABLE_AES)
|
||||
set_source_files_properties(rijndael-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1 -maes")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SHA AND NOT DISABLE_SHA)
|
||||
set_source_files_properties(sha-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2 -msha")
|
||||
set_source_files_properties(shacal2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2 -msha")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
elseif (CRYPTOPP_AARCH32 OR CRYPTOPP_AARCH64)
|
||||
|
||||
CheckCompilerOption("-march=armv8-a" CRYPTOPP_ARMV8A_BASE)
|
||||
CheckCompilerOption("-march=armv8-a+crc" CRYPTOPP_ARMV8A_CRC)
|
||||
CheckCompilerOption("-march=armv8-a+crypto" CRYPTOPP_ARMV8A_CRYPTO)
|
||||
CheckCompilerOption("-march=armv8-a" CRYPTOPP_ARMV8A_NATIVE)
|
||||
|
||||
# Deferred native arch; added to all CXXFLAGS
|
||||
if (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_ARMV8A_NATIVE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH)
|
||||
message(WARNING "CRYPTOPP_NATIVE_ARCH enabled, but failed to detect native architecture")
|
||||
endif ()
|
||||
|
||||
if (CRYPTOPP_ARMV8A_BASE)
|
||||
set_source_files_properties(aria-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a")
|
||||
set_source_files_properties(blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a")
|
||||
set_source_files_properties(neon-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a")
|
||||
endif ()
|
||||
if (CRYPTOPP_ARMV8A_CRC)
|
||||
set_source_files_properties(crc-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a+crc")
|
||||
endif ()
|
||||
if (CRYPTOPP_ARMV8A_CRYPTO)
|
||||
set_source_files_properties(gcm-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a+crypto")
|
||||
set_source_files_properties(rijndael-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a+crypto")
|
||||
set_source_files_properties(sha-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a+crypto")
|
||||
set_source_files_properties(shacal2-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a+crypto")
|
||||
endif ()
|
||||
|
||||
elseif (CRYPTOPP_ARM OR CRYPTOPP_ARMHF)
|
||||
|
||||
CheckCompilerOption("-march=armv7-a -mfpu=neon" CRYPTOPP_ARMV7A_NEON)
|
||||
CheckCompilerOption("-march=armv7-a -mfloat-abi=hard" CRYPTOPP_ARMV7A_HARD)
|
||||
CheckCompilerOption("-march=armv7-a -mfloat-abi=softfp" CRYPTOPP_ARMV7A_SOFTFP)
|
||||
|
||||
# Deferred native arch; added to all CXXFLAGS
|
||||
if (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_ARMV7A_HARD)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfloat-abi=hard -mfpu=neon")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_ARMV7A_SOFTFP)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfloat-abi=softfp -mfpu=neon")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH)
|
||||
message(WARNING "CRYPTOPP_NATIVE_ARCH enabled, but failed to detect native architecture")
|
||||
endif ()
|
||||
|
||||
if (CRYPTOPP_ARMV7A_HARD AND CRYPTOPP_ARMV7A_NEON)
|
||||
# Need to set floating point ABI to something, like "hard" of "softfp". Most Linux use hard floats ("hard").
|
||||
set_source_files_properties(aria-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
|
||||
set_source_files_properties(blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
|
||||
set_source_files_properties(gcm-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
|
||||
set_source_files_properties(neon-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=hard -mfpu=neon")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=hard -mfpu=neon")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=hard -mfpu=neon")
|
||||
elseif (CRYPTOPP_ARMV7A_SOFTFP AND CRYPTOPP_ARMV7A_NEON)
|
||||
# Need to set floating point ABI to something, like "hard" of "softfp". Most Linux use hard floats ("hard").
|
||||
set_source_files_properties(aria-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon")
|
||||
set_source_files_properties(blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon")
|
||||
set_source_files_properties(gcm-simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon")
|
||||
set_source_files_properties(neon-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=softfp -mfpu=neon")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=softfp -mfpu=neon")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mfloat-abi=softfp -mfpu=neon")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# New as of Pull Request 461, http://github.com/weidai11/cryptopp/pull/461.
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
|
||||
|
||||
if (CRYPTOPP_AMD64 OR CRYPTOPP_I386 OR CRYPTOPP_X32)
|
||||
|
||||
CheckCompilerOption("-xarch=sse2" CRYPTOPP_IA32_SSE2)
|
||||
CheckCompilerOption("-xarch=ssse3" CRYPTOPP_IA32_SSSE3)
|
||||
CheckCompilerOption("-xarch=sse4_1" CRYPTOPP_IA32_SSE41)
|
||||
CheckCompilerOption("-xarch=sse4_2" CRYPTOPP_IA32_SSE42)
|
||||
CheckCompilerOption("-xarch=aes" CRYPTOPP_IA32_CLMUL)
|
||||
CheckCompilerOption("-xarch=aes" CRYPTOPP_IA32_AES)
|
||||
CheckCompilerOption("-xarch=sha" CRYPTOPP_IA32_SHA)
|
||||
CheckCompilerOption("-native" CRYPTOPP_IA32_NATIVE)
|
||||
|
||||
# Deferred native arch; added to all CXXFLAGS
|
||||
if (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_IA32_NATIVE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -native")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH)
|
||||
message(WARNING "CRYPTOPP_NATIVE_ARCH enabled, but failed to detect native architecture")
|
||||
endif ()
|
||||
|
||||
# TODO: each of these -xarch=XXX options must be added to LDFLAGS
|
||||
# if the option is used during a compile.
|
||||
if (CRYPTOPP_IA32_SSE2 AND NOT DISABLE_ASM)
|
||||
set_source_files_properties(sse-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse2")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SSSE3 AND NOT DISABLE_SSSE3)
|
||||
set_source_files_properties(aria-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3")
|
||||
set_source_files_properties(simon-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3")
|
||||
set_source_files_properties(speck-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3")
|
||||
if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
|
||||
set_source_files_properties(blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_1")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4)
|
||||
set_source_files_properties(crc-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_2")
|
||||
if (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES)
|
||||
set_source_files_properties(gcm-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=aes")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_AES AND NOT DISABLE_AES)
|
||||
set_source_files_properties(rijndael-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=aes")
|
||||
endif ()
|
||||
if (CRYPTOPP_IA32_SHA AND NOT DISABLE_SHA)
|
||||
set_source_files_properties(sha-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sha")
|
||||
set_source_files_properties(shacal2-simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sha")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
elseif (CRYPTOPP_SPARC OR CRYPTOPP_SPARC64)
|
||||
|
||||
# Sparc's need -xmemalign=4i
|
||||
CheckCompilerOption("-xmemalign=4i" CRYPTOPP_SUN_MEMALIGN)
|
||||
|
||||
if (CRYPTOPP_SUN_MEMALIGN STREQUAL "1")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xmemalign=4i")
|
||||
endif ()
|
||||
|
||||
# Deferred native arch; added to all CXXFLAGS
|
||||
if (CRYPTOPP_NATIVE_ARCH AND CRYPTOPP_SPARC_NATIVE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -native")
|
||||
elseif (CRYPTOPP_NATIVE_ARCH)
|
||||
message(WARNING "CRYPTOPP_NATIVE_ARCH enabled, but failed to detect native architecture")
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Compile targets
|
||||
#============================================================================
|
||||
|
||||
# Set global includes BEFORE adding any targets for legacy CMake versions
|
||||
if (CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
endif ()
|
||||
|
||||
if (USE_INTERMEDIATE_OBJECTS_TARGET)
|
||||
add_library(cryptopp-object OBJECT ${cryptopp_SOURCES})
|
||||
endif ()
|
||||
|
||||
if (BUILD_STATIC)
|
||||
if (USE_INTERMEDIATE_OBJECTS_TARGET)
|
||||
add_library(cryptopp-static STATIC $<TARGET_OBJECTS:cryptopp-object>)
|
||||
else ()
|
||||
add_library(cryptopp-static STATIC ${cryptopp_SOURCES})
|
||||
endif ()
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
target_include_directories(cryptopp-static PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include/cryptopp>)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (BUILD_SHARED)
|
||||
if (USE_INTERMEDIATE_OBJECTS_TARGET)
|
||||
add_library(cryptopp-shared SHARED $<TARGET_OBJECTS:cryptopp-object>)
|
||||
else ()
|
||||
add_library(cryptopp-shared SHARED ${cryptopp_SOURCES})
|
||||
endif ()
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
target_include_directories(cryptopp-shared PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include/cryptopp>)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Set filenames for targets to be "cryptopp"
|
||||
if (NOT MSVC)
|
||||
set(COMPAT_VERSION ${cryptopp_VERSION_MAJOR}.${cryptopp_VERSION_MINOR})
|
||||
|
||||
if (BUILD_STATIC)
|
||||
set_target_properties(cryptopp-static
|
||||
PROPERTIES
|
||||
OUTPUT_NAME cryptopp)
|
||||
endif ()
|
||||
if (BUILD_SHARED)
|
||||
set_target_properties(cryptopp-shared
|
||||
PROPERTIES
|
||||
SOVERSION ${COMPAT_VERSION}
|
||||
OUTPUT_NAME cryptopp)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Targets, compatible with Crypto++ GNUMakefile
|
||||
if (BUILD_STATIC)
|
||||
add_custom_target(static)
|
||||
add_dependencies(static cryptopp-static)
|
||||
endif ()
|
||||
if (BUILD_SHARED)
|
||||
add_custom_target(dynamic)
|
||||
add_dependencies(dynamic cryptopp-shared)
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Third-party libraries
|
||||
#============================================================================
|
||||
|
||||
if (WIN32)
|
||||
if (BUILD_STATIC)
|
||||
target_link_libraries(cryptopp-static ws2_32)
|
||||
endif ()
|
||||
if (BUILD_SHARED)
|
||||
target_link_libraries(cryptopp-shared ws2_32)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# This may need to be expanded to "Solaris"
|
||||
if (CRYPTOPP_SOLARIS)
|
||||
if (BUILD_STATIC)
|
||||
target_link_libraries(cryptopp-static nsl socket)
|
||||
endif ()
|
||||
if (BUILD_SHARED)
|
||||
target_link_libraries(cryptopp-shared nsl socket)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
find_package(Threads)
|
||||
if (BUILD_STATIC)
|
||||
target_link_libraries(cryptopp-static ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif ()
|
||||
if (BUILD_SHARED)
|
||||
target_link_libraries(cryptopp-shared ${CMAKE_THREAD_LIBS_INIT})
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Tests
|
||||
#============================================================================
|
||||
|
||||
enable_testing()
|
||||
if (BUILD_TESTING)
|
||||
add_executable(cryptest ${cryptopp_SOURCES_TEST})
|
||||
target_link_libraries(cryptest cryptopp-static)
|
||||
|
||||
# Setting "cryptest" binary name to "cryptest.exe"
|
||||
if (NOT (WIN32 OR CYGWIN))
|
||||
set_target_properties(cryptest PROPERTIES OUTPUT_NAME cryptest.exe)
|
||||
endif ()
|
||||
if (NOT TARGET cryptest.exe)
|
||||
add_custom_target(cryptest.exe)
|
||||
add_dependencies(cryptest.exe cryptest)
|
||||
endif ()
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/TestData DESTINATION ${PROJECT_BINARY_DIR})
|
||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors DESTINATION ${PROJECT_BINARY_DIR})
|
||||
|
||||
add_test(NAME build_cryptest COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target cryptest)
|
||||
add_test(NAME cryptest COMMAND $<TARGET_FILE:cryptest> v)
|
||||
set_tests_properties(cryptest PROPERTIES DEPENDS build_cryptest)
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Doxygen documentation
|
||||
#============================================================================
|
||||
|
||||
if (BUILD_DOCUMENTATION)
|
||||
find_package(Doxygen REQUIRED)
|
||||
|
||||
set(in_source_DOCS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/html-docs")
|
||||
set(out_source_DOCS_DIR "${PROJECT_BINARY_DIR}/html-docs")
|
||||
|
||||
add_custom_target(docs ALL
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile -d CRYPTOPP_DOXYGEN_PROCESSING
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
|
||||
)
|
||||
|
||||
if (NOT ${in_source_DOCS_DIR} STREQUAL ${out_source_DOCS_DIR})
|
||||
add_custom_command(
|
||||
TARGET docs POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory "${in_source_DOCS_DIR}" "${out_source_DOCS_DIR}"
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory "${in_source_DOCS_DIR}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#============================================================================
|
||||
# Install
|
||||
#============================================================================
|
||||
|
||||
set(export_name "cryptopp-targets")
|
||||
|
||||
# Runtime package
|
||||
if (BUILD_SHARED)
|
||||
install(
|
||||
TARGETS cryptopp-shared
|
||||
EXPORT ${export_name}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Development package
|
||||
if (BUILD_STATIC)
|
||||
install(TARGETS cryptopp-static EXPORT ${export_name} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif ()
|
||||
install(FILES ${cryptopp_HEADERS} DESTINATION include/cryptopp)
|
||||
|
||||
# CMake Package
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 2.8.8) # CMakePackageConfigHelpers is supported from 2.8.8
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file("${PROJECT_BINARY_DIR}/cryptopp-config-version.cmake" VERSION ${cryptopp_VERSION_MAJOR}.${cryptopp_VERSION_MINOR}.${cryptopp_VERSION_PATCH} COMPATIBILITY SameMajorVersion)
|
||||
install(FILES cryptopp-config.cmake ${PROJECT_BINARY_DIR}/cryptopp-config-version.cmake DESTINATION "lib/cmake/cryptopp")
|
||||
install(EXPORT ${export_name} DESTINATION "lib/cmake/cryptopp")
|
||||
endif ()
|
||||
|
||||
# Tests
|
||||
if (BUILD_TESTING)
|
||||
install(TARGETS cryptest DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/TestData DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cryptopp)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/TestVectors DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cryptopp)
|
||||
endif ()
|
||||
|
||||
# Documentation
|
||||
if (BUILD_DOCUMENTATION)
|
||||
install(DIRECTORY "${out_source_DOCS_DIR}" DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
endif ()
|
||||
|
||||
# Print a configuration summary. We want CXX and CXXFLAGS, but they are not includd in ALL.
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 3.0.2)
|
||||
if (CRYPTOPP_I386)
|
||||
message(STATUS "Platform: i386/i686")
|
||||
elseif (CRYPTOPP_AMD64)
|
||||
message(STATUS "Platform: x86_64")
|
||||
elseif (CRYPTOPP_X32)
|
||||
message(STATUS "Platform: x86_64-x32")
|
||||
elseif (CRYPTOPP_ARMHF)
|
||||
message(STATUS "Platform: armhf")
|
||||
elseif (CRYPTOPP_ARM)
|
||||
message(STATUS "Platform: arm")
|
||||
elseif (CRYPTOPP_AARCH32)
|
||||
message(STATUS "Platform: Aarch32")
|
||||
elseif (CRYPTOPP_AARCH64)
|
||||
message(STATUS "Platform: Aarch64")
|
||||
elseif (CRYPTOPP_SPARC)
|
||||
message(STATUS "Platform: Sparc")
|
||||
elseif (CRYPTOPP_SPARC64)
|
||||
message(STATUS "Platform: Sparc64")
|
||||
elseif (CRYPTOPP_POWERPC)
|
||||
message(STATUS "Platform: PowerPC")
|
||||
elseif (CRYPTOPP_POWERPC64)
|
||||
message(STATUS "Platform: PowerPC64")
|
||||
elseif (CRYPTOPP_MINGW32)
|
||||
message(STATUS "Platform: MinGW-32")
|
||||
elseif (CRYPTOPP_MINGW32)
|
||||
message(STATUS "Platform: MinGW-64")
|
||||
endif ()
|
||||
if (CRYPTOPP_ARMV7A_NEON)
|
||||
message(STATUS "NEON: TRUE")
|
||||
endif ()
|
||||
if (CRYPTOPP_NATIVE_ARCH)
|
||||
message(STATUS "Native arch: TRUE")
|
||||
else ()
|
||||
message(STATUS "Native arch: FALSE")
|
||||
endif ()
|
||||
message(STATUS "Compiler: ${CMAKE_CXX_COMPILER}")
|
||||
message(STATUS "Flags: ${CMAKE_CXX_FLAGS}")
|
||||
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
|
||||
endif ()
|
2375
vendor/cryptopp/cryptopp/Doxyfile
vendored
Normal file
2375
vendor/cryptopp/cryptopp/Doxyfile
vendored
Normal file
File diff suppressed because it is too large
Load Diff
488
vendor/cryptopp/cryptopp/Filelist.txt
vendored
Normal file
488
vendor/cryptopp/cryptopp/Filelist.txt
vendored
Normal file
@ -0,0 +1,488 @@
|
||||
3way.cpp
|
||||
3way.h
|
||||
adhoc.cpp.proto
|
||||
adv-simd.h
|
||||
adler32.cpp
|
||||
adler32.h
|
||||
aes.h
|
||||
algebra.cpp
|
||||
algebra.h
|
||||
algparam.cpp
|
||||
algparam.h
|
||||
arc4.cpp
|
||||
arc4.h
|
||||
ariatab.cpp
|
||||
aria.cpp
|
||||
aria-simd.cpp
|
||||
aria.h
|
||||
argnames.h
|
||||
asn.cpp
|
||||
asn.h
|
||||
authenc.cpp
|
||||
authenc.h
|
||||
base32.cpp
|
||||
base32.h
|
||||
base64.cpp
|
||||
base64.h
|
||||
basecode.cpp
|
||||
basecode.h
|
||||
bench.h
|
||||
bds10.zip
|
||||
bench1.cpp
|
||||
bench2.cpp
|
||||
bfinit.cpp
|
||||
blake2.cpp
|
||||
blake2-simd.cpp
|
||||
blake2.h
|
||||
blowfish.cpp
|
||||
blowfish.h
|
||||
blumshub.cpp
|
||||
blumshub.h
|
||||
camellia.cpp
|
||||
camellia.h
|
||||
cast.cpp
|
||||
cast.h
|
||||
casts.cpp
|
||||
cbcmac.cpp
|
||||
cbcmac.h
|
||||
ccm.cpp
|
||||
ccm.h
|
||||
chacha.cpp
|
||||
chacha.h
|
||||
channels.cpp
|
||||
channels.h
|
||||
cmac.cpp
|
||||
cmac.h
|
||||
config.h
|
||||
cpu.cpp
|
||||
cpu.h
|
||||
crc.cpp
|
||||
crc-simd.cpp
|
||||
crc.h
|
||||
cryptdll.vcxproj
|
||||
cryptdll.vcxproj.filters
|
||||
cryptest.sh
|
||||
cryptest.sln
|
||||
cryptest.vcxproj
|
||||
cryptest.vcxproj.user
|
||||
cryptest.vcxproj.filters
|
||||
cryptest.mapfile
|
||||
cryptest.nmake
|
||||
cryptlib.cpp
|
||||
cryptlib.h
|
||||
cryptlib.vcxproj
|
||||
cryptlib.vcxproj.filters
|
||||
cryptopp.rc
|
||||
datatest.cpp
|
||||
default.cpp
|
||||
default.h
|
||||
des.cpp
|
||||
des.h
|
||||
dessp.cpp
|
||||
dh.cpp
|
||||
dh.h
|
||||
dh2.cpp
|
||||
dh2.h
|
||||
dll.cpp
|
||||
dll.h
|
||||
dlltest.cpp
|
||||
dlltest.vcxproj
|
||||
dlltest.vcxproj.filters
|
||||
dmac.h
|
||||
drbg.h
|
||||
dsa.cpp
|
||||
dsa.h
|
||||
eax.cpp
|
||||
eax.h
|
||||
ec2n.cpp
|
||||
ec2n.h
|
||||
eccrypto.cpp
|
||||
eccrypto.h
|
||||
ecp.cpp
|
||||
ecp.h
|
||||
ecpoint.h
|
||||
elgamal.cpp
|
||||
elgamal.h
|
||||
emsa2.cpp
|
||||
emsa2.h
|
||||
eprecomp.cpp
|
||||
eprecomp.h
|
||||
esign.cpp
|
||||
esign.h
|
||||
factory.h
|
||||
fhmqv.cpp
|
||||
fhmqv.h
|
||||
files.cpp
|
||||
files.h
|
||||
filters.cpp
|
||||
filters.h
|
||||
fips140.cpp
|
||||
fips140.h
|
||||
fipsalgt.cpp
|
||||
fipstest.cpp
|
||||
fltrimpl.h
|
||||
gcm-simd.cpp
|
||||
gcm.cpp
|
||||
gcm.h
|
||||
gf256.cpp
|
||||
gf256.h
|
||||
gf2_32.cpp
|
||||
gf2_32.h
|
||||
gf2n.cpp
|
||||
gf2n.h
|
||||
gfpcrypt.cpp
|
||||
gfpcrypt.h
|
||||
gost.cpp
|
||||
gost.h
|
||||
gzip.cpp
|
||||
gzip.h
|
||||
hashfwd.h
|
||||
hex.cpp
|
||||
hex.h
|
||||
hkdf.h
|
||||
hmac.cpp
|
||||
hmac.h
|
||||
hmqv.cpp
|
||||
hmqv.h
|
||||
hrtimer.cpp
|
||||
hrtimer.h
|
||||
ida.cpp
|
||||
ida.h
|
||||
idea.cpp
|
||||
idea.h
|
||||
integer.cpp
|
||||
integer.h
|
||||
iterhash.cpp
|
||||
iterhash.h
|
||||
kalynatab.cpp
|
||||
kalyna.cpp
|
||||
kalyna.h
|
||||
keccak.cpp
|
||||
keccak.h
|
||||
lubyrack.h
|
||||
luc.cpp
|
||||
luc.h
|
||||
mars.cpp
|
||||
mars.h
|
||||
marss.cpp
|
||||
md2.cpp
|
||||
md2.h
|
||||
md4.cpp
|
||||
md4.h
|
||||
md5.cpp
|
||||
md5.h
|
||||
mdc.h
|
||||
mersenne.h
|
||||
misc.cpp
|
||||
misc.h
|
||||
modarith.h
|
||||
modes.cpp
|
||||
modes.h
|
||||
modexppc.h
|
||||
mqueue.cpp
|
||||
mqueue.h
|
||||
mqv.cpp
|
||||
mqv.h
|
||||
naclite.h
|
||||
nbtheory.cpp
|
||||
nbtheory.h
|
||||
neon-simd.cpp
|
||||
network.cpp
|
||||
network.h
|
||||
nr.h
|
||||
oaep.cpp
|
||||
oaep.h
|
||||
oids.h
|
||||
osrng.cpp
|
||||
osrng.h
|
||||
ossig.h
|
||||
padlkrng.cpp
|
||||
padlkrng.h
|
||||
panama.cpp
|
||||
panama.h
|
||||
pch.cpp
|
||||
pch.h
|
||||
pkcspad.cpp
|
||||
pkcspad.h
|
||||
poly1305.cpp
|
||||
poly1305.h
|
||||
polynomi.cpp
|
||||
polynomi.h
|
||||
ppc-simd.h
|
||||
ppc-simd.cpp
|
||||
pssr.cpp
|
||||
pssr.h
|
||||
pubkey.cpp
|
||||
pubkey.h
|
||||
pwdbased.h
|
||||
queue.cpp
|
||||
queue.h
|
||||
rabin.cpp
|
||||
rabin.h
|
||||
randpool.cpp
|
||||
randpool.h
|
||||
rc2.cpp
|
||||
rc2.h
|
||||
rc5.cpp
|
||||
rc5.h
|
||||
rc6.cpp
|
||||
rc6.h
|
||||
rdrand-masm.cmd
|
||||
rdrand-nasm.sh
|
||||
rdrand.s
|
||||
rdrand.asm
|
||||
rdrand.cpp
|
||||
rdrand.h
|
||||
rdtables.cpp
|
||||
regtest1.cpp
|
||||
regtest2.cpp
|
||||
regtest3.cpp
|
||||
resource.h
|
||||
rijndael.cpp
|
||||
rijndael-simd.cpp
|
||||
rijndael.h
|
||||
ripemd.cpp
|
||||
ripemd.h
|
||||
rng.cpp
|
||||
rng.h
|
||||
rsa.cpp
|
||||
rsa.h
|
||||
rw.cpp
|
||||
rw.h
|
||||
safer.cpp
|
||||
safer.h
|
||||
salsa.cpp
|
||||
salsa.h
|
||||
scrypt.cpp
|
||||
scrypt.h
|
||||
seal.cpp
|
||||
seal.h
|
||||
secblock.h
|
||||
seckey.h
|
||||
seed.cpp
|
||||
seed.h
|
||||
serpent.cpp
|
||||
serpent.h
|
||||
serpentp.h
|
||||
sha.cpp
|
||||
sha-simd.cpp
|
||||
sha.h
|
||||
sha3.cpp
|
||||
sha3.h
|
||||
shacal2.cpp
|
||||
shacal2-simd.cpp
|
||||
shacal2.h
|
||||
shark.cpp
|
||||
shark.h
|
||||
sharkbox.cpp
|
||||
simple.cpp
|
||||
simple.h
|
||||
siphash.h
|
||||
simon.cpp
|
||||
simon-simd.cpp
|
||||
simon.h
|
||||
skipjack.cpp
|
||||
skipjack.h
|
||||
sm3.cpp
|
||||
sm3.h
|
||||
sm4.cpp
|
||||
sm4.h
|
||||
smartptr.h
|
||||
socketft.cpp
|
||||
socketft.h
|
||||
sosemanuk.cpp
|
||||
sosemanuk.h
|
||||
speck.cpp
|
||||
speck-simd.cpp
|
||||
speck.h
|
||||
square.cpp
|
||||
square.h
|
||||
squaretb.cpp
|
||||
sse-simd.cpp
|
||||
stdcpp.h
|
||||
strciphr.cpp
|
||||
strciphr.h
|
||||
tea.cpp
|
||||
tea.h
|
||||
test.cpp
|
||||
trap.h
|
||||
tftables.cpp
|
||||
threefish.cpp
|
||||
threefish.h
|
||||
tiger.cpp
|
||||
tiger.h
|
||||
tigertab.cpp
|
||||
trdlocal.cpp
|
||||
trdlocal.h
|
||||
trunhash.h
|
||||
ttmac.cpp
|
||||
ttmac.h
|
||||
tweetnacl.cpp
|
||||
tweetnacl.h
|
||||
twofish.cpp
|
||||
twofish.h
|
||||
validat0.cpp
|
||||
validat1.cpp
|
||||
validat2.cpp
|
||||
validat3.cpp
|
||||
validat4.cpp
|
||||
validate.h
|
||||
vmac.cpp
|
||||
vmac.h
|
||||
vs2005.zip
|
||||
wait.cpp
|
||||
wait.h
|
||||
wake.cpp
|
||||
wake.h
|
||||
whrlpool.cpp
|
||||
whrlpool.h
|
||||
winpipes.cpp
|
||||
winpipes.h
|
||||
words.h
|
||||
x64dll.asm
|
||||
x64masm.asm
|
||||
xtr.cpp
|
||||
xtr.h
|
||||
xtrcrypt.cpp
|
||||
xtrcrypt.h
|
||||
zdeflate.cpp
|
||||
zdeflate.h
|
||||
zinflate.cpp
|
||||
zinflate.h
|
||||
zlib.cpp
|
||||
zlib.h
|
||||
Doxyfile
|
||||
GNUmakefile
|
||||
GNUmakefile-cross
|
||||
License.txt
|
||||
Readme.txt
|
||||
History.txt
|
||||
Install.txt
|
||||
Filelist.txt
|
||||
cryptopp.supp
|
||||
TestData/3desval.dat
|
||||
TestData/3wayval.dat
|
||||
TestData/aria.dat
|
||||
TestData/camellia.dat
|
||||
TestData/cast128v.dat
|
||||
TestData/cast256v.dat
|
||||
TestData/descert.dat
|
||||
TestData/dh1024.dat
|
||||
TestData/dh2048.dat
|
||||
TestData/dlie1024.dat
|
||||
TestData/dlie2048.dat
|
||||
TestData/dsa1024.dat
|
||||
TestData/dsa1024b.dat
|
||||
TestData/dsa512.dat
|
||||
TestData/elgc1024.dat
|
||||
TestData/esig1023.dat
|
||||
TestData/esig1536.dat
|
||||
TestData/esig2046.dat
|
||||
TestData/fhmqv160.dat
|
||||
TestData/fhmqv256.dat
|
||||
TestData/fhmqv384.dat
|
||||
TestData/fhmqv512.dat
|
||||
TestData/gostval.dat
|
||||
TestData/hmqv160.dat
|
||||
TestData/hmqv256.dat
|
||||
TestData/hmqv384.dat
|
||||
TestData/hmqv512.dat
|
||||
TestData/ideaval.dat
|
||||
TestData/luc1024.dat
|
||||
TestData/luc2048.dat
|
||||
TestData/lucc1024.dat
|
||||
TestData/lucc512.dat
|
||||
TestData/lucd1024.dat
|
||||
TestData/lucd512.dat
|
||||
TestData/lucs1024.dat
|
||||
TestData/lucs512.dat
|
||||
TestData/marsval.dat
|
||||
TestData/mqv1024.dat
|
||||
TestData/mqv2048.dat
|
||||
TestData/nr1024.dat
|
||||
TestData/nr2048.dat
|
||||
TestData/rabi1024.dat
|
||||
TestData/rabi2048.dat
|
||||
TestData/rc2val.dat
|
||||
TestData/rc5val.dat
|
||||
TestData/rc6val.dat
|
||||
TestData/rijndael.dat
|
||||
TestData/rsa1024.dat
|
||||
TestData/rsa2048.dat
|
||||
TestData/rsa400pb.dat
|
||||
TestData/rsa400pv.dat
|
||||
TestData/rsa512a.dat
|
||||
TestData/rsa2048a.dat
|
||||
TestData/rw1024.dat
|
||||
TestData/rw2048.dat
|
||||
TestData/saferval.dat
|
||||
TestData/serpentv.dat
|
||||
TestData/shacal2v.dat
|
||||
TestData/sharkval.dat
|
||||
TestData/skipjack.dat
|
||||
TestData/squareva.dat
|
||||
TestData/twofishv.dat
|
||||
TestData/usage.dat
|
||||
TestData/xtrdh171.dat
|
||||
TestData/xtrdh342.dat
|
||||
TestVectors/Readme.txt
|
||||
TestVectors/aes.txt
|
||||
TestVectors/all.txt
|
||||
TestVectors/aria.txt
|
||||
TestVectors/blake2.txt
|
||||
TestVectors/blake2b.txt
|
||||
TestVectors/blake2s.txt
|
||||
TestVectors/aria.txt
|
||||
TestVectors/camellia.txt
|
||||
TestVectors/ccm.txt
|
||||
TestVectors/chacha.txt
|
||||
TestVectors/cmac.txt
|
||||
TestVectors/dlies.txt
|
||||
TestVectors/dsa.txt
|
||||
TestVectors/dsa_1363.txt
|
||||
TestVectors/eax.txt
|
||||
TestVectors/esign.txt
|
||||
TestVectors/gcm.txt
|
||||
TestVectors/hkdf.txt
|
||||
TestVectors/hmac.txt
|
||||
TestVectors/kalyna.txt
|
||||
TestVectors/keccak.txt
|
||||
TestVectors/mars.txt
|
||||
TestVectors/nr.txt
|
||||
TestVectors/panama.txt
|
||||
TestVectors/rsa_oaep.txt
|
||||
TestVectors/rsa_pkcs1_1_5.txt
|
||||
TestVectors/rsa_pss.txt
|
||||
TestVectors/dsa_rfc6979.txt
|
||||
TestVectors/rw.txt
|
||||
TestVectors/salsa.txt
|
||||
TestVectors/seal.txt
|
||||
TestVectors/seed.txt
|
||||
TestVectors/sha.txt
|
||||
TestVectors/sha2.txt
|
||||
TestVectors/sha3.txt
|
||||
TestVectors/sha1_fips_180.txt
|
||||
TestVectors/sha1_160_fips_180.txt
|
||||
TestVectors/sha2_fips_180.txt
|
||||
TestVectors/sha2_224_fips_180.txt
|
||||
TestVectors/sha2_256_fips_180.txt
|
||||
TestVectors/sha2_384_fips_180.txt
|
||||
TestVectors/sha2_512_fips_180.txt
|
||||
TestVectors/sha3_fips_202.txt
|
||||
TestVectors/sha3_224_fips_202.txt
|
||||
TestVectors/sha3_256_fips_202.txt
|
||||
TestVectors/sha3_384_fips_202.txt
|
||||
TestVectors/sha3_512_fips_202.txt
|
||||
TestVectors/shacal2.txt
|
||||
TestVectors/simon.txt
|
||||
TestVectors/siphash.txt
|
||||
TestVectors/sm3.txt
|
||||
TestVectors/sm4.txt
|
||||
TestVectors/sosemanuk.txt
|
||||
TestVectors/speck.txt
|
||||
TestVectors/tea.txt
|
||||
TestVectors/threefish.txt
|
||||
TestVectors/ttmac.txt
|
||||
TestVectors/vmac.txt
|
||||
TestVectors/wake.txt
|
||||
TestVectors/whrlpool.txt
|
1136
vendor/cryptopp/cryptopp/GNUmakefile
vendored
Executable file
1136
vendor/cryptopp/cryptopp/GNUmakefile
vendored
Executable file
File diff suppressed because it is too large
Load Diff
525
vendor/cryptopp/cryptopp/GNUmakefile-cross
vendored
Executable file
525
vendor/cryptopp/cryptopp/GNUmakefile-cross
vendored
Executable file
@ -0,0 +1,525 @@
|
||||
# https://www.gnu.org/software/make/manual/make.html#Makefile-Conventions
|
||||
# and https://www.gnu.org/prep/standards/standards.html
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
# Default CXXFLAGS if none were provided
|
||||
CXXFLAGS ?= -DNDEBUG -g2 -O3 -fPIC -pipe
|
||||
|
||||
AR ?= ar
|
||||
ARFLAGS ?= cr
|
||||
RANLIB ?= ranlib
|
||||
CP ?= cp
|
||||
MV ?= mv
|
||||
CHMOD ?= chmod
|
||||
MKDIR ?= mkdir -p
|
||||
EGREP ?= egrep
|
||||
|
||||
LN ?= ln -sf
|
||||
LDCONF ?= /sbin/ldconfig -n
|
||||
|
||||
INSTALL = install
|
||||
INSTALL_PROGRAM = $(INSTALL)
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
|
||||
# Attempt to determine host machine, fallback to "this" machine.
|
||||
# The host machine is the one the package runs on. Most people
|
||||
# call this the "target", but not Autotools.
|
||||
HOSTX := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | cut -f 1 -d '-')
|
||||
ifeq ($(HOSTX),)
|
||||
HOSTX := $(shell uname -m 2>/dev/null)
|
||||
endif
|
||||
|
||||
IS_i686 := $(shell echo "$HOSTX" | $(EGREP) -v 64 | $(EGREP) -i -c 'i.86')
|
||||
IS_x86_64 := $(shell echo "$HOSTX" | $(EGREP) -i -c 'x86_64|amd64')
|
||||
IS_ARM := $(shell echo "$HOSTX" | $(EGREP) -i -c 'arm')
|
||||
IS_ARMv8 := $(shell echo "$HOSTX" | $(EGREP) -i -c 'aarch32|aarch64')
|
||||
|
||||
CLANG_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
|
||||
|
||||
IS_IOS ?= 0
|
||||
IS_ANDROID ?= 0
|
||||
IS_ARM_EMBEDDED ?= 0
|
||||
IS_NEON ?= 0
|
||||
|
||||
# Fixup ARM
|
||||
ifeq ($(IS_ARMv8),1)
|
||||
IS_ARM := 0
|
||||
endif
|
||||
|
||||
# Can be used by Android and Embeeded cross-compiles. Disable by default because
|
||||
# Android and embedded users typically don't run this configuration.
|
||||
HAS_SOLIB_VERSION ?= 0
|
||||
|
||||
# Default prefix for make install
|
||||
ifeq ($(PREFIX),)
|
||||
PREFIX = /usr/local
|
||||
endif
|
||||
|
||||
# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
|
||||
ifeq ($(DATADIR),)
|
||||
DATADIR := $(PREFIX)/share
|
||||
endif
|
||||
ifeq ($(LIBDIR),)
|
||||
LIBDIR := $(PREFIX)/lib
|
||||
endif
|
||||
ifeq ($(BINDIR),)
|
||||
BINDIR := $(PREFIX)/bin
|
||||
endif
|
||||
ifeq ($(INCLUDEDIR),)
|
||||
INCLUDEDIR := $(PREFIX)/include
|
||||
endif
|
||||
|
||||
# We honor ARFLAGS, but the "v" option used by default causes a noisy make
|
||||
ifeq ($(ARFLAGS),rv)
|
||||
ARFLAGS = r
|
||||
endif
|
||||
|
||||
# Sadly, we can't actually use GCC_PRAGMA_AWARE because of GCC bug 53431.
|
||||
# Its a shame because GCC has so much to offer by the way of analysis.
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||
ifneq ($(CLANG_COMPILER),0)
|
||||
CXXFLAGS += -Wall
|
||||
endif
|
||||
|
||||
# iOS cross-compile configuration.
|
||||
# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
|
||||
ifeq ($(IS_IOS),1)
|
||||
CXX = clang++
|
||||
|
||||
CXXFLAGS += $(IOS_FLAGS) -arch $(IOS_ARCH)
|
||||
CXXFLAGS += -isysroot $(IOS_SYSROOT) -stdlib=libc++
|
||||
|
||||
AR = libtool
|
||||
ARFLAGS = -static -o
|
||||
RANLIB = ranlib
|
||||
endif
|
||||
|
||||
# Android cross-compile configuration.
|
||||
# See http://www.cryptopp.com/wiki/Android_(Command_Line).
|
||||
ifeq ($(IS_ANDROID),1)
|
||||
# CPP, CXX, AR, RANLIB, LD, etc are set in 'setenv-android.sh'
|
||||
CXXFLAGS += $(AOSP_FLAGS) -DANDROID --sysroot=$(AOSP_SYSROOT)
|
||||
CXXFLAGS += -Wa,--noexecstack -I$(AOSP_STL_INC) -I$(AOSP_SYS_ARCH_INC)
|
||||
LDFLAGS += --sysroot=$(AOSP_LD_SYSROOT)
|
||||
|
||||
# c++config.h shows up in odd places at times.
|
||||
ifneq ($(AOSP_BITS_INC),)
|
||||
CXXFLAGS += -I$(AOSP_BITS_INC)
|
||||
endif
|
||||
|
||||
# STL headers
|
||||
LDLIBS += $(AOSP_STL_LIB)
|
||||
|
||||
# Source files copied into PWD for Android cpu-features
|
||||
# setenv-android.sh does the copying. Its a dirty compile.
|
||||
AOSP_CPU_OBJ = cpu-features.o
|
||||
endif
|
||||
|
||||
# ARM embedded cross-compile configuration.
|
||||
# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
|
||||
# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
|
||||
ifeq ($(IS_ARM_EMBEDDED),1)
|
||||
# CPP, CXX, AR, RANLIB, LD, etc are set in 'setenv-embedded.sh'
|
||||
CXXFLAGS += $(ARM_EMBEDDED_FLAGS) --sysroot=$(ARM_EMBEDDED_SYSROOT)
|
||||
endif
|
||||
|
||||
# No ASM for Travis testing
|
||||
ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
|
||||
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
||||
endif # CXXFLAGS
|
||||
endif # No ASM
|
||||
|
||||
# Undefined Behavior Sanitizer (UBsan) testing. Issue 'make ubsan'.
|
||||
ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
|
||||
ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -fsanitize=undefined
|
||||
endif # CXXFLAGS
|
||||
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -DCRYPTOPP_COVERAGE
|
||||
endif # CXXFLAGS
|
||||
endif # UBsan
|
||||
|
||||
# Address Sanitizer (Asan) testing. Issue 'make asan'.
|
||||
ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
|
||||
ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -fsanitize=address
|
||||
endif # CXXFLAGS
|
||||
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -DCRYPTOPP_COVERAGE
|
||||
endif # CXXFLAGS
|
||||
ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -fno-omit-frame-pointer
|
||||
endif # CXXFLAGS
|
||||
endif # Asan
|
||||
|
||||
# LD gold linker testing. Triggered by 'LD=ld.gold'.
|
||||
ifeq ($(findstring ld.gold,$(LD)),ld.gold)
|
||||
ifeq ($(findstring -fuse-ld=gold,$(CXXFLAGS)),)
|
||||
ELF_FORMAT := $(shell file `which ld.gold` 2>&1 | cut -d":" -f 2 | $(EGREP) -i -c "elf")
|
||||
ifneq ($(ELF_FORMAT),0)
|
||||
LDFLAGS += -fuse-ld=gold
|
||||
endif # ELF/ELF64
|
||||
endif # CXXFLAGS
|
||||
endif # Gold
|
||||
|
||||
# Valgrind testing. Issue 'make valgrind'.
|
||||
ifneq ($(filter valgrind,$(MAKECMDGOALS)),)
|
||||
# Tune flags; see http://valgrind.org/docs/manual/quick-start.html
|
||||
CXXFLAGS := $(CXXFLAGS:-g%=-g3)
|
||||
CXXFLAGS := $(CXXFLAGS:-O%=-O1)
|
||||
CXXFLAGS := $(CXXFLAGS:-xO%=-xO1)
|
||||
ifeq ($(findstring -DCRYPTOPP_VALGRIND,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -DCRYPTOPP_VALGRIND
|
||||
endif # -DCRYPTOPP_VALGRIND
|
||||
endif # Valgrind
|
||||
|
||||
# Debug testing on GNU systems. Triggered by -DDEBUG.
|
||||
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
|
||||
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
|
||||
USING_GLIBCXX := $(shell $(CXX) -x c++ $(CXXFLAGS) -E adhoc.cpp.proto 2>&1 | $(EGREP) -i -c "__GLIBCXX__")
|
||||
ifneq ($(USING_GLIBCXX),0)
|
||||
ifeq ($(HAS_NEWLIB),0)
|
||||
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -D_GLIBCXX_DEBUG
|
||||
endif # CXXFLAGS
|
||||
endif # HAS_NEWLIB
|
||||
endif # USING_GLIBCXX
|
||||
endif # GNU Debug build
|
||||
|
||||
# Dead code stripping. Issue 'make lean'.
|
||||
ifeq ($(findstring lean,$(MAKECMDGOALS)),lean)
|
||||
ifeq ($(findstring -ffunction-sections,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -ffunction-sections
|
||||
endif # CXXFLAGS
|
||||
ifeq ($(findstring -fdata-sections,$(CXXFLAGS)),)
|
||||
CXXFLAGS += -fdata-sections
|
||||
endif # CXXFLAGS
|
||||
ifneq ($(IS_IOS),0)
|
||||
ifeq ($(findstring -Wl,-dead_strip,$(LDFLAGS)),)
|
||||
LDFLAGS += -Wl,-dead_strip
|
||||
endif # CXXFLAGS
|
||||
else # BSD, Linux and Unix
|
||||
ifeq ($(findstring -Wl,--gc-sections,$(LDFLAGS)),)
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
endif # LDFLAGS
|
||||
endif # MAKECMDGOALS
|
||||
endif # Dead code stripping
|
||||
|
||||
# Pickup ARMv7 and NEON. Do it after Android, iOS and Embedded flags have been set.
|
||||
ifeq ($(IS_ARM),1)
|
||||
IS_ARMv7 := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -dM -E - 2>/dev/null | $(EGREP) -i -c '__ARM_ARCH 7')
|
||||
ifeq ($(IS_ARMv7),1)
|
||||
IS_NEON := 1
|
||||
else
|
||||
IS_NEON := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -dM -E - 2>/dev/null | $(EGREP) -i -c -E '\<__ARM_NEON\>')
|
||||
endif
|
||||
endif
|
||||
|
||||
# ARMv7-a
|
||||
ifeq ($(IS_ARMv7),1)
|
||||
ifeq ($(findstring -march=armv7-a,$(CXXFLAGS)),)
|
||||
NEON_FLAG = -march=armv7-a
|
||||
GCM_FLAG = -march=armv7-a
|
||||
ARIA_FLAG = -march=armv7-a
|
||||
BLAKE2_FLAG = -march=armv7-a
|
||||
endif
|
||||
endif
|
||||
|
||||
# NEON
|
||||
ifeq ($(IS_NEON),1)
|
||||
ifeq ($(findstring -mfpu=neon,$(CXXFLAGS)),)
|
||||
NEON_FLAG += -mfpu=neon
|
||||
GCM_FLAG += -mfpu=neon
|
||||
ARIA_FLAG += -mfpu=neon
|
||||
BLAKE2_FLAG += -mfpu=neon
|
||||
SIMON_FLAG += -mfpu=neon
|
||||
SPECK_FLAG += -mfpu=neon
|
||||
ifeq ($(IS_ANDROID),1)
|
||||
ifeq ($(findstring -mfloat-abi=softfp,$(CXXFLAGS)),)
|
||||
NEON_FLAG += -mfloat-abi=softfp
|
||||
GCM_FLAG += -mfloat-abi=softfp
|
||||
ARIA_FLAG += -mfloat-abi=softfp
|
||||
BLAKE2_FLAG += -mfloat-abi=softfp
|
||||
SIMON_FLAG += -mfloat-abi=softfp
|
||||
SPECK_FLAG += -mfloat-abi=softfp
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# ARMv8-a
|
||||
ifneq ($(IS_ARMv8),0)
|
||||
IS_NEON := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a -dM -E - 2>/dev/null | $(EGREP) -i -c __ARM_NEON)
|
||||
ifeq ($(IS_NEON),1)
|
||||
ARIA_FLAG = -march=armv8-a
|
||||
BLAKE2_FLAG = -march=armv8-a
|
||||
NEON_FLAG = -march=armv8-a
|
||||
SIMON_FLAG = -march=armv8-a
|
||||
SPECK_FLAG = -march=armv8-a
|
||||
endif
|
||||
HAVE_CRC := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crc -dM -E - 2>/dev/null | $(EGREP) -i -c __ARM_FEATURE_CRC32)
|
||||
ifeq ($(HAVE_CRC),1)
|
||||
CRC_FLAG = -march=armv8-a+crc
|
||||
endif
|
||||
HAVE_CRYPTO := $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -march=armv8-a+crypto -dM -E - 2>/dev/null | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||
ifeq ($(HAVE_CRYPTO),1)
|
||||
AES_FLAG = -march=armv8-a+crypto
|
||||
GCM_FLAG = -march=armv8-a+crypto
|
||||
SHA_FLAG = -march=armv8-a+crypto
|
||||
endif
|
||||
endif
|
||||
|
||||
# i686 and x86_64
|
||||
ifneq ($(IS_i686)$(IS_x86_64),00)
|
||||
HAVE_SSSE3 = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -mssse3 -dM -E - 2>/dev/null | $(EGREP) -i -c __SSSE3__)
|
||||
ifeq ($(HAVE_SSSE3),1)
|
||||
ARIA_FLAG = -mssse3
|
||||
SSSE3_FLAG = -mssse3
|
||||
SIMON_FLAG = -mssse3
|
||||
SPECK_FLAG = -mssse3
|
||||
endif
|
||||
HAVE_SSE4 = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.1 -dM -E - 2>/dev/null | $(EGREP) -i -c __SSE4_1__)
|
||||
ifeq ($(HAVE_SSE4),1)
|
||||
SIMON_FLAG = -msse4.1
|
||||
SPECK_FLAG = -msse4.1
|
||||
endif
|
||||
HAVE_SSE4 = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.2 -dM -E - 2>/dev/null | $(EGREP) -i -c __SSE4_2__)
|
||||
ifeq ($(HAVE_SSE4),1)
|
||||
BLAKE2_FLAG = -msse4.2
|
||||
CRC_FLAG = -msse4.2
|
||||
endif
|
||||
HAVE_CLMUL = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -mssse3 -mpclmul -dM -E - 2>/dev/null | $(EGREP) -i -c __PCLMUL__ )
|
||||
ifeq ($(HAVE_CLMUL),1)
|
||||
GCM_FLAG = -mssse3 -mpclmul
|
||||
endif
|
||||
HAVE_AES = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.1 -maes -dM -E - 2>/dev/null | $(EGREP) -i -c __AES__)
|
||||
ifeq ($(HAVE_AES),1)
|
||||
AES_FLAG = -msse4.1 -maes
|
||||
endif
|
||||
HAVE_SHA = $(shell echo | $(CXX) -x c++ $(CXXFLAGS) -msse4.2 -msha -dM -E - 2>/dev/null | $(EGREP) -i -c __SHA__)
|
||||
ifeq ($(HAVE_SHA),1)
|
||||
SHA_FLAG = -msse4.2 -msha
|
||||
endif
|
||||
endif
|
||||
|
||||
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
|
||||
SRCS := cryptlib.cpp cpu.cpp integer.cpp $(filter-out cryptlib.cpp cpu.cpp integer.cpp pch.cpp simple.cpp winpipes.cpp cryptlib_bds.cpp,$(sort $(wildcard *.cpp)))
|
||||
|
||||
# For Makefile.am; resource.h is Windows
|
||||
INCL := $(filter-out resource.h,$(sort $(wildcard *.h)))
|
||||
|
||||
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
|
||||
OBJS := $(SRCS:.cpp=.o)
|
||||
|
||||
# List test.cpp first to tame C++ static initialization problems.
|
||||
TESTSRCS := adhoc.cpp test.cpp bench1.cpp bench2.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp fipsalgt.cpp dlltest.cpp
|
||||
TESTINCL := bench.h factory.h validate.h
|
||||
TESTOBJS := $(TESTSRCS:.cpp=.o)
|
||||
LIBOBJS := $(filter-out $(TESTOBJS),$(OBJS))
|
||||
|
||||
# For Shared Objects, Diff, Dist/Zip rules
|
||||
LIB_VER := $(shell $(EGREP) "define CRYPTOPP_VERSION" config.h | cut -d" " -f 3)
|
||||
LIB_MAJOR := $(shell echo $(LIB_VER) | cut -c 1)
|
||||
LIB_MINOR := $(shell echo $(LIB_VER) | cut -c 2)
|
||||
LIB_PATCH := $(shell echo $(LIB_VER) | cut -c 3)
|
||||
|
||||
ifeq ($(strip $(LIB_PATCH)),)
|
||||
LIB_PATCH := 0
|
||||
endif
|
||||
|
||||
ifeq ($(HAS_SOLIB_VERSION),1)
|
||||
# Full version suffix for shared library
|
||||
SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
|
||||
# Different patchlevels and minors are compatible since 6.1
|
||||
SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR)
|
||||
SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
|
||||
endif # HAS_SOLIB_VERSION
|
||||
|
||||
# Default builds program with static library only
|
||||
.PHONY: default
|
||||
default: cryptest.exe
|
||||
|
||||
.PHONY: all
|
||||
all: static dynamic cryptest.exe
|
||||
|
||||
ifneq ($(IS_IOS),0)
|
||||
static: libcryptopp.a
|
||||
shared dynamic dylib: libcryptopp.dylib
|
||||
else
|
||||
static: libcryptopp.a
|
||||
shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
||||
endif
|
||||
|
||||
.PHONY: test check
|
||||
test check: cryptest.exe
|
||||
./cryptest.exe v
|
||||
|
||||
# CXXFLAGS are tuned earlier. Applications must use linker flags
|
||||
# -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X)
|
||||
.PHONY: lean
|
||||
lean: static dynamic cryptest.exe
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
-$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(LIBOBJS) $(AOSP_CPU_OBJ) $(TESTOBJS) $(DLLOBJS) $(LIBIMPORTOBJS) $(TESTIMPORTOBJS) $(DLLTESTOBJS)
|
||||
@-$(RM) libcryptopp.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
|
||||
@-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
||||
@-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct rdrand-???.o
|
||||
@-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-*
|
||||
@-$(RM) /tmp/adhoc.exe
|
||||
@-$(RM) -r /tmp/cryptopp_test/
|
||||
@-$(RM) -r *.exe.dSYM/
|
||||
@-$(RM) -r *.dylib.dSYM/
|
||||
@-$(RM) -r cov-int/
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt cryptest-*.txt
|
||||
@-$(RM) cryptopp.tgz *.o *.bc *.ii *~
|
||||
@-$(RM) -r $(SRCS:.cpp=.obj) cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/
|
||||
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
|
||||
@-$(RM) -f config.guess config.status config.sub depcomp install-sh compile
|
||||
@-$(RM) -f stamp-h1 ar-lib *.m4 local.* lt*.sh missing libtool* libcryptopp.pc*
|
||||
@-$(RM) -rf m4/ auto*.cache/ .deps/ .libs/
|
||||
@-$(RM) -r TestCoverage/
|
||||
@-$(RM) cryptopp$(LIB_VER)\.*
|
||||
@-$(RM) CryptoPPRef.zip
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
@-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/cryptopp
|
||||
$(INSTALL_DATA) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp
|
||||
ifneq ($(wildcard cryptest.exe),)
|
||||
@-$(MKDIR) $(DESTDIR)$(BINDIR)
|
||||
$(INSTALL_PROGRAM) cryptest.exe $(DESTDIR)$(BINDIR)
|
||||
@-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestData
|
||||
@-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
|
||||
$(INSTALL_DATA) TestData/*.dat $(DESTDIR)$(DATADIR)/cryptopp/TestData
|
||||
$(INSTALL_DATA) TestVectors/*.txt $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
|
||||
endif
|
||||
ifneq ($(wildcard libcryptopp.a),)
|
||||
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL_DATA) libcryptopp.a $(DESTDIR)$(LIBDIR)
|
||||
endif
|
||||
ifneq ($(wildcard libcryptopp.dylib),)
|
||||
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL_PROGRAM) libcryptopp.dylib $(DESTDIR)$(LIBDIR)
|
||||
endif
|
||||
ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
|
||||
@-$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL_PROGRAM) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
|
||||
ifeq ($(HAS_SOLIB_VERSION),1)
|
||||
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
|
||||
$(LDCONF) $(DESTDIR)$(LIBDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: remove uninstall
|
||||
remove uninstall:
|
||||
-$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp
|
||||
-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a
|
||||
-$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe
|
||||
@-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
|
||||
@-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
||||
@-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
|
||||
@-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so
|
||||
|
||||
libcryptopp.a: $(LIBOBJS) $(AOSP_CPU_OBJ)
|
||||
$(AR) $(ARFLAGS) $@ $(LIBOBJS) $(AOSP_CPU_OBJ)
|
||||
$(RANLIB) $@
|
||||
|
||||
ifeq ($(HAS_SOLIB_VERSION),1)
|
||||
.PHONY: libcryptopp.so
|
||||
libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
||||
endif
|
||||
|
||||
libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
|
||||
$(CXX) -shared $(SOLIB_FLAGS) -o $@ $(strip $(CXXFLAGS)) -Wl,--exclude-libs,ALL $(LIBOBJS) $(LDFLAGS) $(LDLIBS)
|
||||
ifeq ($(HAS_SOLIB_VERSION),1)
|
||||
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so
|
||||
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
|
||||
endif
|
||||
|
||||
libcryptopp.dylib: $(LIBOBJS)
|
||||
$(CXX) -dynamiclib -o $@ $(strip $(CXXFLAGS)) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS)
|
||||
|
||||
cryptest.exe: libcryptopp.a $(TESTOBJS)
|
||||
$(CXX) -o $@ $(strip $(CXXFLAGS)) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
# Used to generate list of source files for Autotools, CMakeList and Android.mk
|
||||
.PHONY: sources
|
||||
sources:
|
||||
$(info Library sources: $(filter-out $(TESTSRCS),$(SRCS)))
|
||||
$(info )
|
||||
$(info Library headers: $(filter-out $(TESTINCL),$(INCL)))
|
||||
$(info )
|
||||
$(info Test sources: $(TESTSRCS))
|
||||
$(info )
|
||||
$(info Test headers: $(TESTINCL))
|
||||
|
||||
adhoc.cpp: adhoc.cpp.proto
|
||||
ifeq ($(wildcard adhoc.cpp),)
|
||||
cp adhoc.cpp.proto adhoc.cpp
|
||||
else
|
||||
touch adhoc.cpp
|
||||
endif
|
||||
|
||||
# Include dependencies, if present. You must issue `make deps` to create them.
|
||||
ifeq ($(wildcard GNUmakefile.deps),GNUmakefile.deps)
|
||||
-include GNUmakefile.deps
|
||||
endif # Dependencies
|
||||
|
||||
cpu-features.o: cpu-features.h cpu-features.c
|
||||
$(CXX) $(strip $(CXXFLAGS) -fpermissive -c) cpu-features.c
|
||||
|
||||
# SSE4.2 or NEON available
|
||||
aria-simd.o : aria-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(ARIA_FLAG) -c) $<
|
||||
|
||||
# SSE4.2 or ARMv8a available
|
||||
blake2-simd.o : blake2-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(BLAKE2_FLAG) -c) $<
|
||||
|
||||
# SSE2 on i586
|
||||
cpu.o : cpu.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(CPU_FLAG) -c) $<
|
||||
|
||||
# SSE4.2 or ARMv8a available
|
||||
crc-simd.o : crc-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(CRC_FLAG) -c) $<
|
||||
|
||||
# PCLMUL or ARMv7a/ARMv8a available
|
||||
gcm-simd.o : gcm-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(GCM_FLAG) -c) $<
|
||||
|
||||
# NEON available
|
||||
neon-simd.o : neon-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(NEON_FLAG) -c) $<
|
||||
|
||||
# AESNI or ARMv7a/ARMv8a available
|
||||
rijndael-simd.o : rijndael-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(AES_FLAG) -c) $<
|
||||
|
||||
# SSE4.2/SHA-NI or ARMv8a available
|
||||
sha-simd.o : sha-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(SHA_FLAG) -c) $<
|
||||
|
||||
# SSE4.2/SHA-NI or ARMv8a available
|
||||
shacal2-simd.o : shacal2-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(SHA_FLAG) -c) $<
|
||||
|
||||
# SSSE3 or NEON available
|
||||
simon-simd.o : simon-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(SIMON_FLAG) -c) $<
|
||||
|
||||
# SSSE3 or NEON available
|
||||
speck-simd.o : speck-simd.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) $(SPECK_FLAG) -c) $<
|
||||
|
||||
%.o : %.cpp
|
||||
$(CXX) $(strip $(CXXFLAGS) -c) $<
|
||||
|
||||
GNUmakefile.deps:
|
||||
$(CXX) $(strip $(CXXFLAGS) -MM) *.cpp > GNUmakefile.deps
|
434
vendor/cryptopp/cryptopp/History.txt
vendored
Normal file
434
vendor/cryptopp/cryptopp/History.txt
vendored
Normal file
@ -0,0 +1,434 @@
|
||||
*** History ***
|
||||
|
||||
The History file contains the items that comprise the release notes. The
|
||||
items in the list below used to be in Readme.txt. Readme.txt now contans the
|
||||
last several releases.
|
||||
|
||||
1.0 - First public release. Withdrawn at the request of RSA DSI.
|
||||
- included Blowfish, BBS, DES, DH, Diamond, DSA, ElGamal, IDEA,
|
||||
MD5, RC4, RC5, RSA, SHA, WAKE, secret sharing, DEFLATE compression
|
||||
- had a serious bug in the RSA key generation code.
|
||||
|
||||
1.1 - Removed RSA, RC4, RC5
|
||||
- Disabled calls to RSAREF's non-public functions
|
||||
- Minor bugs fixed
|
||||
|
||||
2.0 - a completely new, faster multiprecision integer class
|
||||
- added MD5-MAC, HAVAL, 3-WAY, TEA, SAFER, LUC, Rabin, BlumGoldwasser,
|
||||
elliptic curve algorithms
|
||||
- added the Lucas strong probable primality test
|
||||
- ElGamal encryption and signature schemes modified to avoid weaknesses
|
||||
- Diamond changed to Diamond2 because of key schedule weakness
|
||||
- fixed bug in WAKE key setup
|
||||
- SHS class renamed to SHA
|
||||
- lots of miscellaneous optimizations
|
||||
|
||||
2.1 - added Tiger, HMAC, GOST, RIPE-MD160, LUCELG, LUCDIF, XOR-MAC,
|
||||
OAEP, PSSR, SHARK
|
||||
- added precomputation to DH, ElGamal, DSA, and elliptic curve algorithms
|
||||
- added back RC5 and a new RSA
|
||||
- optimizations in elliptic curves over GF(p)
|
||||
- changed Rabin to use OAEP and PSSR
|
||||
- changed many classes to allow copy constructors to work correctly
|
||||
- improved exception generation and handling
|
||||
|
||||
2.2 - added SEAL, CAST-128, Square
|
||||
- fixed bug in HAVAL (padding problem)
|
||||
- fixed bug in triple-DES (decryption order was reversed)
|
||||
- fixed bug in RC5 (couldn't handle key length not a multiple of 4)
|
||||
- changed HMAC to conform to RFC-2104 (which is not compatible
|
||||
with the original HMAC)
|
||||
- changed secret sharing and information dispersal to use GF(2^32)
|
||||
instead of GF(65521)
|
||||
- removed zero knowledge prover/verifier for graph isomorphism
|
||||
- removed several utility classes in favor of the C++ standard library
|
||||
|
||||
2.3 - ported to EGCS
|
||||
- fixed incomplete workaround of min/max conflict in MSVC
|
||||
|
||||
3.0 - placed all names into the "CryptoPP" namespace
|
||||
- added MD2, RC2, RC6, MARS, RW, DH2, MQV, ECDHC, CBC-CTS
|
||||
- added abstract base classes PK_SimpleKeyAgreementDomain and
|
||||
PK_AuthenticatedKeyAgreementDomain
|
||||
- changed DH and LUCDIF to implement the PK_SimpleKeyAgreementDomain
|
||||
interface and to perform domain parameter and key validation
|
||||
- changed interfaces of PK_Signer and PK_Verifier to sign and verify
|
||||
messages instead of message digests
|
||||
- changed OAEP to conform to PKCS#1 v2.0
|
||||
- changed benchmark code to produce HTML tables as output
|
||||
- changed PSSR to track IEEE P1363a
|
||||
- renamed ElGamalSignature to NR and changed it to track IEEE P1363
|
||||
- renamed ECKEP to ECMQVC and changed it to track IEEE P1363
|
||||
- renamed several other classes for clarity
|
||||
- removed support for calling RSAREF
|
||||
- removed option to compile old SHA (SHA-0)
|
||||
- removed option not to throw exceptions
|
||||
|
||||
3.1 - added ARC4, Rijndael, Twofish, Serpent, CBC-MAC, DMAC
|
||||
- added interface for querying supported key lengths of symmetric ciphers
|
||||
and MACs
|
||||
- added sample code for RSA signature and verification
|
||||
- changed CBC-CTS to be compatible with RFC 2040
|
||||
- updated SEAL to version 3.0 of the cipher specification
|
||||
- optimized multiprecision squaring and elliptic curves over GF(p)
|
||||
- fixed bug in MARS key setup
|
||||
- fixed bug with attaching objects to Deflator
|
||||
|
||||
3.2 - added DES-XEX3, ECDSA, DefaultEncryptorWithMAC
|
||||
- renamed DES-EDE to DES-EDE2 and TripleDES to DES-EDE3
|
||||
- optimized ARC4
|
||||
- generalized DSA to allow keys longer than 1024 bits
|
||||
- fixed bugs in GF2N and ModularArithmetic that can cause calculation errors
|
||||
- fixed crashing bug in Inflator when given invalid inputs
|
||||
- fixed endian bug in Serpent
|
||||
- fixed padding bug in Tiger
|
||||
|
||||
4.0 - added Skipjack, CAST-256, Panama, SHA-2 (SHA-256, SHA-384, and SHA-512),
|
||||
and XTR-DH
|
||||
- added a faster variant of Rabin's Information Dispersal Algorithm (IDA)
|
||||
- added class wrappers for these operating system features:
|
||||
* high resolution timers on Windows, Unix, and MacOS
|
||||
* Berkeley and Windows style sockets
|
||||
* Windows named pipes
|
||||
* /dev/random and /dev/urandom on Linux and FreeBSD
|
||||
* Microsoft's CryptGenRandom on Windows
|
||||
- added support for SEC 1 elliptic curve key format and compressed points
|
||||
- added support for X.509 public key format (subjectPublicKeyInfo) for
|
||||
RSA, DSA, and elliptic curve schemes
|
||||
- added support for DER and OpenPGP signature format for DSA
|
||||
- added support for ZLIB compressed data format (RFC 1950)
|
||||
- changed elliptic curve encryption to use ECIES (as defined in SEC 1)
|
||||
- changed MARS key schedule to reflect the latest specification
|
||||
- changed BufferedTransformation interface to support multiple channels
|
||||
and messages
|
||||
- changed CAST and SHA-1 implementations to use public domain source code
|
||||
- fixed bug in StringSource
|
||||
- optmized multi-precision integer code for better performance
|
||||
|
||||
4.1 - added more support for the recommended elliptic curve parameters in SEC 2
|
||||
- added Panama MAC, MARC4
|
||||
- added IV stealing feature to CTS mode
|
||||
- added support for PKCS #8 private key format for RSA, DSA, and elliptic
|
||||
curve schemes
|
||||
- changed Deflate, MD5, Rijndael, and Twofish to use public domain code
|
||||
- fixed a bug with flushing compressed streams
|
||||
- fixed a bug with decompressing stored blocks
|
||||
- fixed a bug with EC point decompression using non-trinomial basis
|
||||
- fixed a bug in NetworkSource::GeneralPump()
|
||||
- fixed a performance issue with EC over GF(p) decryption
|
||||
- fixed syntax to allow GCC to compile without -fpermissive
|
||||
- relaxed some restrictions in the license
|
||||
|
||||
4.2 - added support for longer HMAC keys
|
||||
- added MD4 (which is not secure so use for compatibility purposes only)
|
||||
- added compatibility fixes/workarounds for STLport 4.5, GCC 3.0.2,
|
||||
and MSVC 7.0
|
||||
- changed MD2 to use public domain code
|
||||
- fixed a bug with decompressing multiple messages with the same object
|
||||
- fixed a bug in CBC-MAC with MACing multiple messages with the same object
|
||||
- fixed a bug in RC5 and RC6 with zero-length keys
|
||||
- fixed a bug in Adler32 where incorrect checksum may be generated
|
||||
|
||||
5.0 - added ESIGN, DLIES, WAKE-OFB, PBKDF1 and PBKDF2 from PKCS #5
|
||||
- added key validation for encryption and signature public/private keys
|
||||
- renamed StreamCipher interface to SymmetricCipher, which is now implemented
|
||||
by both stream ciphers and block cipher modes including ECB and CBC
|
||||
- added keying interfaces to support resetting of keys and IVs without
|
||||
having to destroy and recreate objects
|
||||
- changed filter interface to support non-blocking input/output
|
||||
- changed SocketSource and SocketSink to use overlapped I/O on Microsoft Windows
|
||||
- grouped related classes inside structs to help templates, for example
|
||||
AESEncryption and AESDecryption are now AES::Encryption and AES::Decryption
|
||||
- where possible, typedefs have been added to improve backwards
|
||||
compatibility when the CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY macro is defined
|
||||
- changed Serpent, HAVAL and IDEA to use public domain code
|
||||
- implemented SSE2 optimizations for Integer operations
|
||||
- fixed a bug in HMAC::TruncatedFinal()
|
||||
- fixed SKIPJACK byte ordering following NIST clarification dated 5/9/02
|
||||
|
||||
5.01 - added known answer test for X9.17 RNG in FIPS 140 power-up self test
|
||||
- submitted to NIST/CSE, but not publicly released
|
||||
|
||||
5.02 - changed EDC test to MAC integrity check using HMAC/SHA1
|
||||
- improved performance of integrity check
|
||||
- added blinding to defend against RSA timing attack
|
||||
|
||||
5.03 - created DLL version of Crypto++ for FIPS 140-2 validation
|
||||
- fixed vulnerabilities in GetNextIV for CTR and OFB modes
|
||||
|
||||
5.0.4 - Removed DES, SHA-256, SHA-384, SHA-512 from DLL
|
||||
|
||||
5.1 - added PSS padding and changed PSSR to track IEEE P1363a draft standard
|
||||
- added blinding for RSA and Rabin to defend against timing attacks
|
||||
on decryption operations
|
||||
- changed signing and decryption APIs to support the above
|
||||
- changed WaitObjectContainer to allow waiting for more than 64
|
||||
objects at a time on Win32 platforms
|
||||
- fixed a bug in CBC and ECB modes with processing non-aligned data
|
||||
- fixed standard conformance bugs in DLIES (DHAES mode) and RW/EMSA2
|
||||
signature scheme (these fixes are not backwards compatible)
|
||||
- fixed a number of compiler warnings, minor bugs, and portability problems
|
||||
- removed Sapphire
|
||||
|
||||
5.2 - merged in changes for 5.01 - 5.0.4
|
||||
- added support for using encoding parameters and key derivation parameters
|
||||
with public key encryption (implemented by OAEP and DL/ECIES)
|
||||
- added Camellia, SHACAL-2, Two-Track-MAC, Whirlpool, RIPEMD-320,
|
||||
RIPEMD-128, RIPEMD-256, Base-32 coding, FIPS variant of CFB mode
|
||||
- added ThreadUserTimer for timing thread CPU usage
|
||||
- added option for password-based key derivation functions
|
||||
to iterate until a mimimum elapsed thread CPU time is reached
|
||||
- added option (on by default) for DEFLATE compression to detect
|
||||
uncompressible files and process them more quickly
|
||||
- improved compatibility and performance on 64-bit platforms,
|
||||
including Alpha, IA-64, x86-64, PPC64, Sparc64, and MIPS64
|
||||
- fixed ONE_AND_ZEROS_PADDING to use 0x80 instead 0x01 as padding.
|
||||
- fixed encoding/decoding of PKCS #8 privateKeyInfo to properly
|
||||
handle optional attributes
|
||||
|
||||
5.2.1 - fixed bug in the "dlltest" DLL testing program
|
||||
- fixed compiling with STLport using VC .NET
|
||||
- fixed compiling with -fPIC using GCC
|
||||
- fixed compiling with -msse2 on systems without memalign()
|
||||
- fixed inability to instantiate PanamaMAC
|
||||
- fixed problems with inline documentation
|
||||
|
||||
5.2.2 - added SHA-224
|
||||
- put SHA-256, SHA-384, SHA-512, RSASSA-PSS into DLL
|
||||
|
||||
5.2.3 - fixed issues with FIPS algorithm test vectors
|
||||
- put RSASSA-ISO into DLL
|
||||
|
||||
5.3 - ported to MSVC 2005 with support for x86-64
|
||||
- added defense against AES timing attacks, and more AES test vectors
|
||||
- changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"
|
||||
|
||||
5.4 - added Salsa20
|
||||
- updated Whirlpool to version 3.0
|
||||
- ported to GCC 4.1, Sun C++ 5.8, and Borland C++Builder 2006
|
||||
|
||||
5.5 - added VMAC and Sosemanuk (with x86-64 and SSE2 assembly)
|
||||
- improved speed of integer arithmetic, AES, SHA-512, Tiger, Salsa20,
|
||||
Whirlpool, and PANAMA cipher using assembly (x86-64, MMX, SSE2)
|
||||
- optimized Camellia and added defense against timing attacks
|
||||
- updated benchmarks code to show cycles per byte and to time key/IV setup
|
||||
- started using OpenMP for increased multi-core speed
|
||||
- enabled GCC optimization flags by default in GNUmakefile
|
||||
- added blinding and computational error checking for RW signing
|
||||
- changed RandomPool, X917RNG, GetNextIV, DSA/NR/ECDSA/ECNR to reduce
|
||||
the risk of reusing random numbers and IVs after virtual machine state
|
||||
rollback
|
||||
- changed default FIPS mode RNG from AutoSeededX917RNG<DES_EDE3> to
|
||||
AutoSeededX917RNG<AES>
|
||||
- fixed PANAMA cipher interface to accept 256-bit key and 256-bit IV
|
||||
- moved MD2, MD4, MD5, PanamaHash, ARC4, WAKE_CFB into the namespace "Weak"
|
||||
- removed HAVAL, MD5-MAC, XMAC
|
||||
|
||||
5.5.1 - fixed VMAC validation failure on 32-bit big-endian machines
|
||||
|
||||
5.5.2 - ported x64 assembly language code for AES, Salsa20, Sosemanuk, and Panama
|
||||
to MSVC 2005 (using MASM since MSVC doesn't support inline assembly on x64)
|
||||
- fixed Salsa20 initialization crash on non-SSE2 machines
|
||||
- fixed Whirlpool crash on Pentium 2 machines
|
||||
- fixed possible branch prediction analysis (BPA) vulnerability in
|
||||
MontgomeryReduce(), which may affect security of RSA, RW, LUC
|
||||
- fixed link error with MSVC 2003 when using "debug DLL" form of runtime library
|
||||
- fixed crash in SSE2_Add on P4 machines when compiled with
|
||||
MSVC 6.0 SP5 with Processor Pack
|
||||
- ported to MSVC 2008, GCC 4.2, Sun CC 5.9, Intel C++ Compiler 10.0,
|
||||
and Borland C++Builder 2007
|
||||
|
||||
5.6.0 - added AuthenticatedSymmetricCipher interface class and Filter wrappers
|
||||
- added CCM, GCM (with SSE2 assembly), EAX, CMAC, XSalsa20, and SEED
|
||||
- added support for variable length IVs
|
||||
- added OIDs for Brainpool elliptic curve parameters
|
||||
- improved AES and SHA-256 speed on x86 and x64
|
||||
- changed BlockTransformation interface to no longer assume data alignment
|
||||
- fixed incorrect VMAC computation on message lengths
|
||||
that are >64 mod 128 (x86 assembly version is not affected)
|
||||
- fixed compiler error in vmac.cpp on x86 with GCC -fPIC
|
||||
- fixed run-time validation error on x86-64 with GCC 4.3.2 -O2
|
||||
- fixed HashFilter bug when putMessage=true
|
||||
- fixed AES-CTR data alignment bug that causes incorrect encryption on ARM
|
||||
- removed WORD64_AVAILABLE; compiler support for 64-bit int is now required
|
||||
- ported to GCC 4.3, C++Builder 2009, Sun CC 5.10, Intel C++ Compiler 11
|
||||
|
||||
5.6.1 - added support for AES-NI and CLMUL instruction sets in AES and GMAC/GCM
|
||||
- removed WAKE-CFB
|
||||
- fixed several bugs in the SHA-256 x86/x64 assembly code:
|
||||
* incorrect hash on non-SSE2 x86 machines on non-aligned input
|
||||
* incorrect hash on x86 machines when input crosses 0x80000000
|
||||
* incorrect hash on x64 when compiled with GCC with optimizations enabled
|
||||
- fixed bugs in AES x86 and x64 assembly causing crashes in some MSVC build configurations
|
||||
- switched to a public domain implementation of MARS
|
||||
- ported to MSVC 2010, GCC 4.5.1, Sun Studio 12u1, C++Builder 2010, Intel C++ Compiler 11.1
|
||||
- renamed the MSVC DLL project to "cryptopp" for compatibility with MSVC 2010
|
||||
|
||||
5.6.2 - changed license to Boost Software License 1.0
|
||||
- added SHA-3 (Keccak)
|
||||
- updated DSA to FIPS 186-3 (see DSA2 class)
|
||||
- fixed Blowfish minimum keylength to be 4 bytes (32 bits)
|
||||
- fixed Salsa validation failure when compiling with GCC 4.6
|
||||
- fixed infinite recursion when on x64, assembly disabled, and no AESNI
|
||||
- ported to MSVC 2012, GCC 4.7, Clang 3.2, Solaris Studio 12.3, Intel C++ Compiler 13.0
|
||||
|
||||
5.6.3 - maintenance release, honored API/ABI/Versioning requirements
|
||||
- expanded processes to include community and its input
|
||||
* 12 unique contributors for this release
|
||||
- fixed CVE-2015-2141
|
||||
- cleared most Undefined Behavior Sanitizer (UBsan) findings
|
||||
- cleared all Address Sanitizer (Asan) findings
|
||||
- cleared all Valgrind findings
|
||||
- cleared all Coverity findings
|
||||
- cleared all Enterprise Analysis (/analyze) findings
|
||||
- cleared most GCC warnings with -Wall
|
||||
- cleared most Clang warnings with -Wall
|
||||
- cleared most MSVC warnings with /W4
|
||||
- added -fPIC 64-bit builds. Off by default for i386
|
||||
- added HKDF class from RFC 5868
|
||||
- switched to member_ptr due to C++ 11 warnings for auto_ptr
|
||||
- initialization of C++ static objects, off by default
|
||||
* GCC and init_priotirty/constructor attributes
|
||||
* MSVC and init_seg(lib)
|
||||
* CRYPTOPP_INIT_PRIORITY disabled by default, but available
|
||||
- improved OS X support
|
||||
- improved GNUmakefile support for Testing and QA
|
||||
- added self tests for additional Testing and QA
|
||||
- added cryptest.sh for systematic Testing and QA
|
||||
- added GNU Gold linker support
|
||||
- added Visual Studio 2010 solution and project files in vs2010.zip
|
||||
- added Clang integrated assembler support
|
||||
- unconditionally define CRYPTOPP_NO_UNALIGNED_DATA_ACCESS for Makefile
|
||||
target 'ubsan' and at -O3 due to GCC vectorization on x86 and x86_64
|
||||
- workaround ARMEL/GCC 5.2 bug and failed self test
|
||||
- fixed crash in MQV due to GCC 4.9+ and inlining
|
||||
- fixed hang in SHA due to GCC 4.9+ and inlining
|
||||
- fixed missing rdtables::Te under VS with ALIGNED_DATA_ACCESS
|
||||
- fixed S/390 and big endian feature detection
|
||||
- fixed S/390 and int128_t/uint128_t detection
|
||||
- fixed X32 (ILP32) feature detection
|
||||
- removed _CRT_SECURE_NO_DEPRECATE for Microsoft platforms
|
||||
- utilized bound checking interfaces from ISO/IEC TR 24772 when available
|
||||
- improved ARM, ARM64, MIPS, MIPS64, S/390 and X32 (ILP32) support
|
||||
- introduced CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
|
||||
- added additional Doxygen-based documentation
|
||||
- ported to MSVC 2015, Xcode 7.2, GCC 5.2, Clang 3.7, Intel C++ 16.00
|
||||
|
||||
5.6.4 - September 11, 2016
|
||||
- maintenance release, honored API/ABI/Versioning requirements
|
||||
- expanded community input and support
|
||||
* 22 unique contributors for this release
|
||||
- fixed CVE-2016-3995
|
||||
- changed SHA3 to FIPS 202 (F1600, XOF d=0x06)
|
||||
- added Keccak (F1600, XOF d=0x01)
|
||||
- added ChaCha (ChaCha8/12/20)
|
||||
- added HMQV and FHMQV
|
||||
* Hashed and Fully Hashed MQV
|
||||
- added BLAKE2 (BLAKE2s and BLAKE2b)
|
||||
* C++, SSE2, SSE4, ARM NEON and ARMv8 ASIMD
|
||||
- added CRC32-C
|
||||
* C/C++, Amd64 CRC, and ARMv8 CRC
|
||||
- improved Rabin-William signatures
|
||||
* Tweaked roots <em>e</em> and <em>f</em>
|
||||
- improved C++11 support
|
||||
* atomics, threads and fences
|
||||
* alginof, alignas
|
||||
* constexpr
|
||||
* noexcept
|
||||
- improved GCM mode
|
||||
* ARM NEON and ARMv8 ASIMD
|
||||
* ARMv8 carry-less multiply
|
||||
- improved Windows 8 and 10 support
|
||||
* Windows Phone, Universal Windows Platform, Windows Store
|
||||
- improved MIPS, ARMv7 and ARMv8 support
|
||||
* added scripts setenv-{android|embedded|ios}.sh for GNUmakefile-cross
|
||||
* aggressive use of -march=<arch> and -mfpu=<fpu> in cryptest.sh
|
||||
- improved build systems
|
||||
* Visual Studio 2010 default
|
||||
* added CMake support (lacks FindCryptopp.cmake)
|
||||
* archived VC++ 5/0/6.0 project files (vc60.zip)
|
||||
* archived VS2005 project files (vs2005.zip)
|
||||
* archived Borland project files (bds10.zip)
|
||||
- improved Testing and QA
|
||||
* expanded platforms and compilers
|
||||
* added code generation tests based on CPU features
|
||||
* added C++03, C++11, C++14, C++17 testing
|
||||
* added -O3, -O5, -Ofast and -Os testing
|
||||
- ported to MSVC 2015 SP3, Xcode 9.0, Sun Studio 12.5, GCC 7.0,
|
||||
MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00
|
||||
|
||||
5.6.5 - October 11, 2016
|
||||
- maintenance release, recompile of programs recommended
|
||||
- expanded community input and support
|
||||
* 25 unique contributors as of this release
|
||||
- fixed CVE-2016-7420 (Issue 277, document NDEBUG for production/release)
|
||||
- fixed CVE-2016-7544 (Issue 302, avoid _malloca and _freea)
|
||||
- shipped library in recommended state
|
||||
* backwards compatibility achieved with <config.compat>
|
||||
- Visual Studio project file cleanup
|
||||
* improved X86 and X64 MSBuild support
|
||||
* added ARM-based MSBuild awareness
|
||||
- improved Testing and QA
|
||||
* expanded platforms and compilers
|
||||
* expanded Coverity into OS X and Windows platforms
|
||||
* added Windows test scripts using Strawberry Perl
|
||||
- ported to MSVC 2015 SP3, Xcode 7.3, Sun Studio 12.5, GCC 7.0,
|
||||
MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00
|
||||
|
||||
6.0.0 - January 22, 2018
|
||||
- Major release, recompile of programs required
|
||||
- expanded community input and support
|
||||
* 43 unique contributors as of this release
|
||||
- fixed CVE-2016-9939 (Issue 346, transient DoS)
|
||||
- fixed CVE-2017-9434 (Issue 414, misidentified memory error)
|
||||
- converted to BASE+SIMD implementation
|
||||
* BASE provides an architecture neutral C++ implementation
|
||||
* SIMD provides architecture specific hardware acceleration
|
||||
- improved PowerPC Power4, Power7 and Power8 support
|
||||
- added ARIA, EC German DSA, Deterministic signatures (RFC 6979),
|
||||
Kalyna, NIST Hash and HMAC DRBG, Padlock RNG, Poly1305, SipHash,
|
||||
Simon, Speck, SM3, SM4, Threefish algorithms
|
||||
- added NaCl interface from the compact library
|
||||
* x25519 key exhange and ed25519 signing provided through NaCl interface
|
||||
- improved Testing and QA
|
||||
- ported to MSVC 2017, Xcode 8.1, Sun Studio 12.5, GCC 7.0,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
||||
|
||||
6.1.0 - February 22, 2018
|
||||
- minor release, maintenance items
|
||||
- expanded community input and support
|
||||
* 46 unique contributors as of this release
|
||||
- use 2048-bit modulus default for DSA
|
||||
- fix build under Linuxbrew
|
||||
- use /bin/sh in GNUmakefile
|
||||
- fix missing flags for SIMON and SPECK in GNUMakefile-cross
|
||||
- fix ARM and MinGW misdetection
|
||||
- port setenv-android.sh to latest NDK
|
||||
- fix Clang check for C++11 lambdas
|
||||
- Simon and Speck to little-endian implementation
|
||||
- use LIB_MAJOR for ABI compatibility
|
||||
- fix ODR violation in AdvancedProcessBlocks_{ARCH} templates
|
||||
- handle C++17 std::uncaught_exceptions
|
||||
- ported to MSVC 2017, Xcode 8.1, Sun Studio 12.5, GCC 8.0.1,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
||||
|
||||
7.0.0 - April 8, 2018
|
||||
- major release, recompile of programs required
|
||||
- expanded community input and support
|
||||
* 48 unique contributors as of this release
|
||||
- fix incorrect result when using Integer::ModInverse
|
||||
* may be CVE worthy, but request was not submitted
|
||||
- fix ARIA/CTR bus error on Sparc64
|
||||
- fix incorrect result when using a_exp_b_mod_c
|
||||
- fix undeclared identifier uint32_t on early Visual Studio
|
||||
- fix iPhoneSimulator build on i386
|
||||
- fix incorrect adler32 in ZlibDecompressor
|
||||
- fix Power7 test using PPC_FEATURE_ARCH_2_06
|
||||
- workaround incorrect Glibc sysconf return value on ppc64-le
|
||||
- add KeyDerivationFunction interface
|
||||
- add scrypt key derivation function
|
||||
- add Salsa20_Core transform callable from outside class
|
||||
- add sbyte, sword16, sword32 and sword64
|
||||
- remove s_nullNameValuePairs from unnamed namespace
|
||||
- ported to MSVC 2017, Xcode 9.3, Sun Studio 12.5, GCC 8.0.1,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
209
vendor/cryptopp/cryptopp/Install.txt
vendored
Normal file
209
vendor/cryptopp/cryptopp/Install.txt
vendored
Normal file
@ -0,0 +1,209 @@
|
||||
CONTENTS OF THIS FILE
|
||||
---------------------
|
||||
|
||||
* Introduction
|
||||
* Building the Library
|
||||
* Alternate Build Systems
|
||||
* Installing the Library
|
||||
* Makefile Targets
|
||||
* Dynamic Analysis
|
||||
* Acceptance Testing
|
||||
* Reporting problems
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
------------
|
||||
|
||||
Crypto++ Library is a free C++ class library of cryptographic algorithms and schemes. The library was originally written and placed in public domain by Wei Dai, but it is now maintained by the community. The library homepage is at http://www.cryptopp.com/. The latest library source code can be found at http://github.com/weidai11/cryptopp. For licensing and copyright information, please see License.txt.
|
||||
|
||||
These are general instructions for the AIX, BSDs, Linux, OS X, Solaris and Unix. The library uses a GNU makefile, which combines configuration and a non-anemic make. On AIX, BSD and Solaris you will likely have to use `gmake` to build the library. On Linux, OS X and Unix, the system's make should be OK. On Windows, Crypto++ provides Visual Studio solutions.
|
||||
|
||||
You should look through the GNUmakefile and config.h to ensure settings look reasonable before building. There are two wiki pages that help explain them at http://www.cryptopp.com/wiki/GNUmakefile and http://www.cryptopp.com/wiki/Config.h.
|
||||
|
||||
Wiki pages are available for some platforms with specific build instructions. The pages include Android, ARM, iOS, MSBuild and Solaris. Solaris users should visit the wiki for important information on compiling the library with different versions of SunCC and options, and information on improving library performance and features.
|
||||
|
||||
Crypto++ does not depend upon other tools or libraries. It does not use Autotools, does not use CMake, and does not use Boost. If you use an alternate build system, like Autotools or CMake, then see the warning below about CXXFLAGS and lack of -DNDEBUG. CMake is available in Master as a matter of convenience, but its not officially supported.
|
||||
|
||||
There is a partially complete CmakeList.txt available on the wiki at http://www.cryptopp.com/wiki/CMake. It is not recommended for use because it is not in a good state. If you have CMake expertise and can work some problems, then please see the wiki page for tasks related to CMake.
|
||||
|
||||
|
||||
BUILDING THE LIBRARY
|
||||
--------------------
|
||||
|
||||
In general, all you should have to do is open a terminal, and then:
|
||||
|
||||
make
|
||||
make test
|
||||
sudo make install
|
||||
|
||||
The command above builds the static library and cryptest.exe program. It also uses a sane set of default flags, which are usually "-DNDEBUG -g2 -O3 -fPIC".
|
||||
|
||||
If you want to build the shared object, then issue:
|
||||
|
||||
make static dynamic cryptest.exe
|
||||
|
||||
Or:
|
||||
|
||||
make libcryptopp.a libcryptopp.so cryptest.exe
|
||||
|
||||
|
||||
If you would like to use a different compiler, the set CXX:
|
||||
|
||||
export CXX=/opt/intel/bin/icpc
|
||||
make
|
||||
|
||||
Or:
|
||||
|
||||
CXX=/opt/solarisstudio12.4/bin/CC make
|
||||
|
||||
If you want to build using C++11, then:
|
||||
|
||||
export CXXFLAGS="-DNDEBUG -g2 -O3 -std=c++11"
|
||||
make
|
||||
|
||||
Or:
|
||||
|
||||
CXXFLAGS="-DNDEBUG -g2 -O3 -std=c++11" make
|
||||
|
||||
LLVM's libc++ is also supported, so you can:
|
||||
|
||||
export CXXFLAGS="-std=c++11 -stdlib=libc++"
|
||||
make
|
||||
|
||||
If you target 32-bit IA-32 machines (i386, i586 or i686), then the makefile forgoes -fPIC due to register pressures. You should add -fPIC yourself in this case:
|
||||
|
||||
CXXFLAGS="-DNDEBUG -g2 -O3 -fPIC" make
|
||||
|
||||
You can also override a variable so that only your flags are present. That is, the makefile will not add additional flags. For example, the following builds with only -std=c++11:
|
||||
|
||||
make CXXFLAGS="-std=c++11"
|
||||
|
||||
Crypto++ does not enagage Specter remediations at this time. You can build with Specter resistance with the following flags:
|
||||
|
||||
CXXFLAGS="-DNDEBUG -g2 -O3 -mfunction-return=thunk -mindirect-branch=thunk" make
|
||||
|
||||
|
||||
ALTERNATE BUILD SYSTEMS
|
||||
-----------------------
|
||||
|
||||
The Crypto++ library is Make based and uses GNU Make by default. The makefile uses '-DNDEBUG -g2 -O2' CXXFLAGS by default. If you use an alternate build system, like Autotools or CMake, then ensure the build system includes '-DNDEBUG' for production or release builds. The Crypto++ library uses asserts for debugging and diagnostics during development; it does not rely on them to crash a program at runtime.
|
||||
|
||||
If an assert triggers in production software, then unprotected sensitive information could be written to the filesystem and could be egressed to the platform's error reporting program, like Apport on Ubuntu, CrashReporter on Apple and Windows Error Reporting on Microsoft OSes.
|
||||
|
||||
The makefile orders object files to help remediate problems associated with C++ static initialization order. The library does not use custom linker scripts. If you use an alternate build system, like Autotools or CMake, and collect source files into a list, then ensure these three are at the head of the list: 'cryptlib.cpp cpu.cpp integer.cpp <other sources>'. They should be linked in the same order: 'cryptlib.o cpu.o integer.o <other objects>'.
|
||||
|
||||
If your linker supports initialization attributes, like init_priority, then you can define CRYPTOPP_INIT_PRIORITY to control object initialization order. Set it to a value like 250. User programs can use CRYPTOPP_USER_PRIORITY to avoid conflicts with library values. Initialization attributes are more reliable than object file ordering, but its not ubiquitously supported by linkers.
|
||||
|
||||
The makefile links to the static version of the Crypto++ library to avoid missing dynamic libraries, incorrect dynamic libraries, binary planting and other LD_PRELOAD tricks. You should use the static version of the library in your programs to help avoid unwanted redirections.
|
||||
|
||||
|
||||
INSTALLING THE LIBRARY
|
||||
----------------------
|
||||
|
||||
To install the library into a user selected directory, perform:
|
||||
|
||||
make install PREFIX=/usr/local
|
||||
|
||||
If you are going to run `make install PREFIX=/usr/local`, then you should build with '-DCRYPTOPP_DATA_DIR='\"$PREFIX/share/cryptopp/\"' to ensure cryptest.exe can locate the test data files and test vectors after installation. The trailing slash in the path is needed because simple preprocessor concatenation is used.
|
||||
|
||||
During install, the makefile copies cryptest.exe into $PREFIX/bin, copies headers into $PREFIX/include/cryptopp, and copies libraries into $PREFIX/lib. If you only built a static or dynamic version of the library, then only one library is copied. The install recipe does not fail if the static library or shared object is not built.
|
||||
|
||||
PREFIX is non-standard, but its retained for historical purposes. The makefile also responds to `prefix=<path>`.
|
||||
|
||||
|
||||
MAKEFILE TARGETS
|
||||
----------------
|
||||
|
||||
The following are some of the targets provided by the GNU makefile.
|
||||
|
||||
`make` invokes the default rule, which builds the Crypto++ static library and test harness. They are called `libcryptopp.a` and `cryptest.exe`, respectively. `cryptest.exe` links against `libcryptopp.a`, so the static library is a prerequisite for the target.
|
||||
|
||||
`make libcryptopp.a` and `make static` build the static version of the library.
|
||||
|
||||
`make libcryptopp.so` and `make dynamic` build the dynamic version of the library. On Mac OS X, the recipe builds `libcryptopp.dylib` instead.
|
||||
|
||||
`make cryptest.exe` builds the library test harness.
|
||||
|
||||
`make test` and `make check` are the same recipe and invoke the test harness with the the validation option. That is, it executes `cryptest.exe v`.
|
||||
|
||||
`make install` installs the library. By default, the makefile copies into `/usr/local` by default.
|
||||
|
||||
`make clean` cleans most transient and temporary objects.
|
||||
|
||||
`make disclean` cleans most objects that are not part of the original distribution.
|
||||
|
||||
`make dist` and `make zip` builds ZIP file that is suitable for distribution.
|
||||
|
||||
`make iso` builds an ISO on Linux or OS X that is suitable for alternate distribution.
|
||||
|
||||
`make ubsan` and `make asan` builds the library with the respective sanitizer.
|
||||
|
||||
|
||||
DYNAMIC ANALYSIS
|
||||
----------------
|
||||
|
||||
The Crypto++ embraces tools like Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan), Bounds sanitizer (Bsan), Coverity Scan and Valgrind. Both Clang 3.2 and above and GCC 4.8 and above provide sanitizers. Please check with your distribution on how to install the compiler with its sanitizer libraries (they are sometimes a separate install item).
|
||||
|
||||
UBsan and Asan are mutually exclusive options, so you can perform only one of these at a time:
|
||||
|
||||
make ubsan
|
||||
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
|
||||
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
|
||||
|
||||
Or:
|
||||
|
||||
make asan
|
||||
./cryptest.exe v 2>&1 | egrep "(error|FAILED)"
|
||||
./cryptest.exe tv all 2>&1 | egrep "(error|FAILED)"
|
||||
|
||||
If you experience self test failures or see reports of undefined behavior, then you should ensure CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is defined in config.h. CRYPTOPP_NO_UNALIGNED_DATA_ACCESS is not defined due to historical purposes.
|
||||
|
||||
If you experience failures under Asan, then gather more information with:
|
||||
|
||||
./cryptest.exe v 2>&1 | asan_symbolize
|
||||
|
||||
If you moved Crypto++ such that the paths have changed, then perform:
|
||||
|
||||
./cryptest.exe v 2>&1 | sed "s/<old path>/<new path>/g" | asan_symbolize
|
||||
|
||||
|
||||
ACCEPTANCE TESTING
|
||||
------------------
|
||||
|
||||
Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture.
|
||||
|
||||
The first gate is code review and discussion of proposed chnages. Git commits often cross reference a User Group discussions.
|
||||
|
||||
Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves.
|
||||
|
||||
Third, the code must pass cleanly though GCC and Clang's Undefined Behavior sanitizer (UBsan), Address sanitizer (Asan) and Bounds sanitizer (Bsan). See DYNAMIC ANALYSIS above on how to execute them.
|
||||
|
||||
Fourth, the code must pass cleanly though Coverity Scan and Valgrind. Valgrind testing is performed at -O1 in accordance with Valgrind recommendations.
|
||||
|
||||
Fifth, the test harness provides a "validation" option which performs basic system checks (like endianness and word sizes) and exercises algorithms (like AES and SHA). You run the validation suite as shown below. The tail of the output should indicate 0 failed tests.
|
||||
|
||||
./cryptest.exe v
|
||||
...
|
||||
|
||||
All tests passed!
|
||||
Test ended at Sun Jul 26 02:10:57 2015
|
||||
Seed used was: 1437891055
|
||||
|
||||
Sixth, the test harness provides a "test vector" option which uses many known test vectors, even those published by other people (like Brian Gladman for AES). You run the test vectors as shown below. The tail of the output should indicate 0 failed tests.
|
||||
|
||||
./cryptest.exe tv all
|
||||
...
|
||||
|
||||
Testing SymmetricCipher algorithm MARS/ECB.
|
||||
.................
|
||||
Tests complete. Total tests = 4094. Failed tests = 0.
|
||||
|
||||
The library also offers its test script for those who want to use it. The test script is names cryptest.sh, and it repeatedly builds the library and exectues the tests under various configurations. It takes 2 to 4 hours to run on a semi-modern desktop or server; and days to run on an IoT gadget. Also see http://github.com/weidai11/cryptopp/blob/master/cryptest.sh and http://cryptopp.com/wiki/Cryptest.sh.
|
||||
|
||||
|
||||
REPORTING PROBLEMS
|
||||
------------------
|
||||
|
||||
Dirty compiles and failures in the validation suite or test vectors should be reported at the Crypto++ User Group. The User Group is located at http://groups.google.com/forum/#!forum/cryptopp-users.
|
||||
|
||||
The library uses Wei Dai's GitHub to track issues. The tracker is located at http://github.com/weidai11/cryptopp/issues. Please do not ask questions in the bug tracker; ask questions on the mailing list instead. Also see http://www.cryptopp.com/wiki/Bug_Report.
|
51
vendor/cryptopp/cryptopp/License.txt
vendored
Normal file
51
vendor/cryptopp/cryptopp/License.txt
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
Compilation Copyright (c) 1995-2016 by Wei Dai. All rights reserved.
|
||||
This copyright applies only to this software distribution package
|
||||
as a compilation, and does not imply a copyright on any particular
|
||||
file in the package.
|
||||
|
||||
All individual files in this compilation are placed in the public domain by
|
||||
Wei Dai and other contributors.
|
||||
|
||||
I would like to thank the following authors for placing their works into
|
||||
the public domain:
|
||||
|
||||
Joan Daemen - 3way.cpp
|
||||
Leonard Janke - cast.cpp, seal.cpp
|
||||
Steve Reid - cast.cpp
|
||||
Phil Karn - des.cpp
|
||||
Andrew M. Kuchling - md2.cpp, md4.cpp
|
||||
Colin Plumb - md5.cpp
|
||||
Seal Woods - rc6.cpp
|
||||
Chris Morgan - rijndael.cpp
|
||||
Paulo Baretto - rijndael.cpp, skipjack.cpp, square.cpp
|
||||
Richard De Moliner - safer.cpp
|
||||
Matthew Skala - twofish.cpp
|
||||
Kevin Springle - camellia.cpp, shacal2.cpp, ttmac.cpp, whrlpool.cpp, ripemd.cpp
|
||||
Ronny Van Keer - sha3.cpp
|
||||
|
||||
The Crypto++ Library (as a compilation) is currently licensed under the Boost
|
||||
Software License 1.0 (http://www.boost.org/users/license.html).
|
||||
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
409
vendor/cryptopp/cryptopp/Readme.txt
vendored
Normal file
409
vendor/cryptopp/cryptopp/Readme.txt
vendored
Normal file
@ -0,0 +1,409 @@
|
||||
Crypto++: free C++ Class Library of Cryptographic Schemes
|
||||
Version 7.0 - APR/08/2018
|
||||
|
||||
Crypto++ Library is a free C++ class library of cryptographic schemes.
|
||||
Currently the library contains the following algorithms:
|
||||
|
||||
algorithm type name
|
||||
|
||||
authenticated encryption schemes GCM, CCM, EAX
|
||||
|
||||
high speed stream ciphers ChaCha (8/12/20), Panama, Sosemanuk, Salsa20,
|
||||
XSalsa20
|
||||
|
||||
AES and AES candidates AES (Rijndael), RC6, MARS, Twofish, Serpent,
|
||||
CAST-256
|
||||
|
||||
ARIA, IDEA, Blowfish, Triple-DES (DES-EDE2 and
|
||||
DES-EDE3), Camellia, SEED, Kalyna (128/256/512),
|
||||
other block ciphers RC5, SIMON-64, SIMON-128, SPECK-64, SPECK-128,
|
||||
Skipjack, SHACAL-2, SM4, Threefish (256/512/1024),
|
||||
TEA, XTEA
|
||||
|
||||
block cipher modes of operation ECB, CBC, CBC ciphertext stealing (CTS),
|
||||
CFB, OFB, counter mode (CTR)
|
||||
|
||||
message authentication codes BLAKE2s, BLAKE2b, CMAC, CBC-MAC, DMAC, GMAC, HMAC,
|
||||
Poly1305, SipHash, Two-Track-MAC, VMAC,
|
||||
|
||||
BLAKE2s, BLAKE2b, Keccack (F1600), SHA-1,
|
||||
hash functions SHA-2 (224/256/384/512), SHA-3 (224/256/384/512),
|
||||
SipHash, SM3, Tiger, RIPEMD-128, RIPEMD-160,
|
||||
RIPEMD-256, RIPEMD-320, WHIRLPOOL
|
||||
|
||||
RSA, DSA, Determinsitic DSA, ElGamal,
|
||||
public-key cryptography Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC,
|
||||
LUCELG, EC-based German Digital Signature (ECGDSA),
|
||||
DLIES (variants of DHAES), ESIGN
|
||||
|
||||
padding schemes for public-key PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363
|
||||
systems EMSA2 and EMSA5
|
||||
|
||||
Diffie-Hellman (DH), Unified Diffie-Hellman
|
||||
key agreement schemes (DH2), Menezes-Qu-Vanstone (MQV), Hashed MQV (HMQV),
|
||||
Fully Hashed MQV (FHMQV), LUCDIF, XTR-DH
|
||||
|
||||
elliptic curve cryptography ECDSA, Determinsitic ECDSA, ECNR, ECIES, ECDH, ECMQV
|
||||
|
||||
insecure or obsolescent MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL
|
||||
algorithms retained for backwards 3.0, WAKE-OFB, DESX (DES-XEX3), RC2,
|
||||
compatibility and historical SAFER, 3-WAY, GOST, SHARK, CAST-128, Square
|
||||
value
|
||||
|
||||
Other features include:
|
||||
|
||||
* pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool,
|
||||
VIA Padlock, RDRAND, RDSEED, NIST Hash and HMAC DRBGs
|
||||
* password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5,
|
||||
PBKDF from PKCS #12 appendix B, HKDF from RFC 5869, Scrypt from RFC 7914
|
||||
* Shamir's secret sharing scheme and Rabin's information dispersal algorithm
|
||||
(IDA)
|
||||
* fast multi-precision integer (bignum) and polynomial operations
|
||||
* finite field arithmetics, including GF(p) and GF(2^n)
|
||||
* prime number generation and verification
|
||||
* useful non-cryptographic algorithms
|
||||
+ DEFLATE (RFC 1951) compression/decompression with gzip (RFC 1952) and
|
||||
zlib (RFC 1950) format support
|
||||
+ Hex, base-32, base-64, URL safe base-64 encoding and decoding
|
||||
+ 32-bit CRC, CRC-C and Adler32 checksum
|
||||
* class wrappers for these platform and operating system features (optional):
|
||||
+ high resolution timers on Windows, Unix, and Mac OS
|
||||
+ Berkeley and Windows style sockets
|
||||
+ Windows named pipes
|
||||
+ /dev/random, /dev/urandom, /dev/srandom
|
||||
+ Microsoft's CryptGenRandom or BCryptGenRandom on Windows
|
||||
* A high level interface for most of the above, using a filter/pipeline
|
||||
metaphor
|
||||
* benchmarks and validation testing
|
||||
* x86, x64 (x86-64), x32 (ILP32), ARM-32, Aarch32, Aarch64 and Power8 in-core code
|
||||
for the commonly used algorithms
|
||||
+ run-time CPU feature detection and code selection
|
||||
+ supports GCC-style and MSVC-style inline assembly, and MASM for x64
|
||||
+ x86, x64 (x86-64), x32 provides MMX, SSE2, and SSE4 implementations
|
||||
+ ARM-32, Aarch32 and Aarch64 provides NEON, ASIMD and ARMv8 implementations
|
||||
+ Power8 provides in-core AES using NX Crypto Acceleration
|
||||
|
||||
The Crypto++ library was orginally written by Wei Dai. The library is now
|
||||
maintained by several team members and the community. You are welcome to use it
|
||||
for any purpose without paying anyone, but see License.txt for the fine print.
|
||||
|
||||
The following compilers are supported for this release. Please visit
|
||||
http://www.cryptopp.com the most up to date build instructions and porting notes.
|
||||
|
||||
* Visual Studio 2003 - 2017
|
||||
* GCC 3.3 - 8.0
|
||||
* Apple Clang 4.3 - 9.3
|
||||
* LLVM Clang 2.9 - 4.0
|
||||
* C++Builder 2010
|
||||
* Intel C++ Compiler 9 - 16.0
|
||||
* Sun Studio 12u1 - 12.5
|
||||
* IBM XL C/C++ 10.0 - 13.1
|
||||
|
||||
*** Important Usage Notes ***
|
||||
|
||||
1. If a constructor for A takes a pointer to an object B (except primitive
|
||||
types such as int and char), then A owns B and will delete B at A's
|
||||
destruction. If a constructor for A takes a reference to an object B,
|
||||
then the caller retains ownership of B and should not destroy it until
|
||||
A no longer needs it.
|
||||
|
||||
2. Crypto++ is thread safe at the class level. This means you can use
|
||||
Crypto++ safely in a multithreaded application, but you must provide
|
||||
synchronization when multiple threads access a common Crypto++ object.
|
||||
|
||||
*** MSVC-Specific Information ***
|
||||
|
||||
To compile Crypto++ with MSVC, open "cryptest.sln" (for MSVC 2003 - 2015)
|
||||
and build one or more of the following projects:
|
||||
|
||||
cryptest Non-DLL-Import Configuration - This builds the full static library
|
||||
along with a full test driver.
|
||||
cryptest DLL-Import Configuration - This builds a static library containing
|
||||
only algorithms not in the DLL, along with a full test driver that uses
|
||||
both the DLL and the static library.
|
||||
cryptdll - This builds the DLL. Please note that if you wish to use Crypto++
|
||||
as a FIPS validated module, you must use a pre-built DLL that has undergone
|
||||
the FIPS validation process instead of building your own.
|
||||
dlltest - This builds a sample application that only uses the DLL.
|
||||
|
||||
The DLL used to provide FIPS validated cryptography. The library was moved
|
||||
to the CMVP's <A HREF=
|
||||
"http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-historical.htm">
|
||||
Historical Validation List</A>. The library and the DLL are no longer considered
|
||||
validated. You should no longer use the DLL.
|
||||
|
||||
To use the Crypto++ DLL in your application, #include "dll.h" before including
|
||||
any other Crypto++ header files, and place the DLL in the same directory as
|
||||
your .exe file. dll.h includes the line #pragma comment(lib, "cryptopp")
|
||||
so you don't have to explicitly list the import library in your project
|
||||
settings. To use a static library form of Crypto++, make the "cryptlib"
|
||||
project a dependency of your application project, or specify it as
|
||||
an additional library to link with in your project settings.
|
||||
In either case you should check the compiler options to
|
||||
make sure that the library and your application are using the same C++
|
||||
run-time libraries and calling conventions.
|
||||
|
||||
*** DLL Memory Management ***
|
||||
|
||||
Because it's possible for the Crypto++ DLL to delete objects allocated
|
||||
by the calling application, they must use the same C++ memory heap. Three
|
||||
methods are provided to achieve this.
|
||||
1. The calling application can tell Crypto++ what heap to use. This method
|
||||
is required when the calling application uses a non-standard heap.
|
||||
2. Crypto++ can tell the calling application what heap to use. This method
|
||||
is required when the calling application uses a statically linked C++ Run
|
||||
Time Library. (Method 1 does not work in this case because the Crypto++ DLL
|
||||
is initialized before the calling application's heap is initialized.)
|
||||
3. Crypto++ can automatically use the heap provided by the calling application's
|
||||
dynamically linked C++ Run Time Library. The calling application must
|
||||
make sure that the dynamically linked C++ Run Time Library is initialized
|
||||
before Crypto++ is loaded. (At this time it is not clear if it is possible
|
||||
to control the order in which DLLs are initialized on Windows 9x machines,
|
||||
so it might be best to avoid using this method.)
|
||||
|
||||
When Crypto++ attaches to a new process, it searches all modules loaded
|
||||
into the process space for exported functions "GetNewAndDeleteForCryptoPP"
|
||||
and "SetNewAndDeleteFromCryptoPP". If one of these functions is found,
|
||||
Crypto++ uses methods 1 or 2, respectively, by calling the function.
|
||||
Otherwise, method 3 is used.
|
||||
|
||||
*** Linux and Unix-like Specific Information ***
|
||||
|
||||
A makefile is included for you to compile Crypto++ with GCC and compatibles.
|
||||
Make sure you are using GNU Make and GNU ld. The make process will produce
|
||||
two files, libcryptopp.a and cryptest.exe. Run "cryptest.exe v" for the
|
||||
validation suite and "cryptest.exe tv all" for additional test vectors.
|
||||
|
||||
The makefile uses '-DNDEBUG -g2 -O2' CXXFLAGS by default. If you use an
|
||||
alternate build system, like Autotools or CMake, then ensure the build system
|
||||
includes '-DNDEBUG' for production or release builds. The Crypto++ library uses
|
||||
asserts for debugging and diagnostics during development; it does not
|
||||
rely on them to crash a program at runtime.
|
||||
|
||||
If an assert triggers in production software, then unprotected sensitive
|
||||
information could be egressed from the program to the filesystem or the
|
||||
platform's error reporting program, like Apport on Ubuntu or CrashReporter
|
||||
on Apple.
|
||||
|
||||
The makefile orders object files to help remediate problems associated with
|
||||
C++ static initialization order. The library does not use custom linker scripts.
|
||||
If you use an alternate build system, like Autotools or CMake, and collect source
|
||||
files into a list, then ensure these three are at the head of the list: 'cryptlib.cpp
|
||||
cpu.cpp integer.cpp <other sources>'. They should be linked in the same order:
|
||||
'cryptlib.o cpu.o integer.o <other objects>'.
|
||||
|
||||
If your linker supports initialization attributes, like init_priority, then you can
|
||||
define CRYPTOPP_INIT_PRIORITY to control object initialization order. Set it to a
|
||||
value like 250. User programs can use CRYPTOPP_USER_PRIORITY to avoid conflicts with
|
||||
library values. Initialization attributes are more reliable than object file ordering,
|
||||
but its not ubiquitously supported by linkers.
|
||||
|
||||
The makefile links to the static version of the Crypto++ library to avoid binary
|
||||
planting and other LD_PRELOAD tricks. You should use the static version of the
|
||||
library in your programs to help avoid unwanted redirections.
|
||||
|
||||
*** Side Channel Attacks ***
|
||||
|
||||
Crypto++ attempts to resist side channel attacks using various remediations. We
|
||||
believe the library is hardened but the remdiations may be incomplete. The first
|
||||
line of defense uses hardware instructions when possible. The library also uses
|
||||
cache-aware algoirthms and access patterns to minimize leakage. If you suspect
|
||||
or find an information leak then please report it.
|
||||
|
||||
Crypto++ does not enagage Specter remediations at this time. The GCC options for
|
||||
Specter are -mfunction-return=thunk and -mindirect-branch=thunk, and the library
|
||||
uses them during testing. If you want the Specter workarounds then add the GCC
|
||||
options to your CXXFLAGS when building the library.
|
||||
|
||||
*** Documentation and Support ***
|
||||
|
||||
Crypto++ is documented through inline comments in header files, which are
|
||||
processed through Doxygen to produce an HTML reference manual. You can find
|
||||
a link to the manual from http://www.cryptopp.com. Also at that site is
|
||||
the Crypto++ FAQ, which you should browse through before attempting to
|
||||
use this library, because it will likely answer many of questions that
|
||||
may come up. Finally, the site provide the wiki which has many topics
|
||||
and code examples.
|
||||
|
||||
If you run into any problems, please try the Crypto++ mailing list.
|
||||
The subscription information and the list archive are available on
|
||||
http://www.cryptopp.com.
|
||||
|
||||
*** Source Code and Contributing ***
|
||||
|
||||
The source code and its planned changes are available at the following locations.
|
||||
|
||||
* The Crypto++ GitHub repository allows you to view the latest (unreleased)
|
||||
Crypto++ source code via the Linux kernel's git beginning around June 2015.
|
||||
Its also serves as an incubator to nuture and grow the library.
|
||||
* The former Crypto++ SourceForge repository allows you to view the Crypto++
|
||||
source code via Apache's subversion until about July 2015. At that time,
|
||||
SourceForge had infrastructure problems and a cutover to GutHub was performed.
|
||||
* The Roadmap on the wiki provides the general direction the library is heading.
|
||||
It includes planned features and releases, and even some wishlist items.
|
||||
|
||||
Contributions of all types are welcomed. Contributions include the following.
|
||||
|
||||
* Bug finding and fixes
|
||||
* Features and enhancements
|
||||
* Test scripts and test cases
|
||||
* Branch and release testing
|
||||
* Documentation and updates
|
||||
|
||||
If you think you have found a bug in the library, then you should discuss it on the
|
||||
Users mailing list. Discussing it will help bring the issue to the attention of folks
|
||||
who can help resolve the issue. If you want to contribute a bug fix to the library,
|
||||
then make a Pull Request or make a Diff available somewhere. Also see Bug Reports on
|
||||
the wiki.
|
||||
|
||||
Features and enhancements are welcomend additions to the library. This category tends
|
||||
to be time consuming because algorithms and their test cases need to be reviewed and
|
||||
merged. Please be mindful of the test cases, and attempt to procure them from an
|
||||
independent source.
|
||||
|
||||
The library cherishes test scripts and test cases. They ensure the library is fit and
|
||||
they help uncover issues with the library before users experience them. If you have
|
||||
some time, then write some test cases, especially the ones that are intended to break
|
||||
things.
|
||||
|
||||
Branch and release testing is your chance to ensure Master (and planned merges) meets
|
||||
your expectations and perform as expected. If you have a few spare cycles, then please
|
||||
test Master on your favorite platform. We need more testing on MinGW, Windows Phone,
|
||||
Windows Store, Solaris 10 (and below), and modern iOS and OS X (including TV and
|
||||
Watch builds).
|
||||
|
||||
Documentation and updates includes both the inline source code annotations using
|
||||
Doxygen, and the online information provided in the wiki. The wiki is more verbose and
|
||||
usually provides more contextual information than the API reference. Besides testing,
|
||||
documentation is one of the highest returns on investment.
|
||||
|
||||
*** History ***
|
||||
|
||||
The items in this section comprise the most recent history. Please see History.txt
|
||||
for the record back to Crypto++ 1.0.
|
||||
|
||||
7.0.0 - April 8, 2018
|
||||
- major release, recompile of programs required
|
||||
- expanded community input and support
|
||||
* 48 unique contributors as of this release
|
||||
- fix incorrect result when using Integer::ModInverse
|
||||
* may be CVE worthy, but request was not submitted
|
||||
- fix ARIA/CTR bus error on Sparc64
|
||||
- fix incorrect result when using a_exp_b_mod_c
|
||||
- fix undeclared identifier uint32_t on early Visual Studio
|
||||
- fix iPhoneSimulator build on i386
|
||||
- fix incorrect adler32 in ZlibDecompressor
|
||||
- fix Power7 test using PPC_FEATURE_ARCH_2_06
|
||||
- workaround incorrect Glibc sysconf return value on ppc64-le
|
||||
- add KeyDerivationFunction interface
|
||||
- add scrypt key derivation function
|
||||
- add Salsa20_Core transform callable from outside class
|
||||
- add sbyte, sword16, sword32 and sword64
|
||||
- remove s_nullNameValuePairs from unnamed namespace
|
||||
- ported to MSVC 2017, Xcode 9.3, Sun Studio 12.5, GCC 8.0.1,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
||||
|
||||
6.1.0 - February 22, 2018
|
||||
- minor release, maintenance items
|
||||
- expanded community input and support
|
||||
* 46 unique contributors as of this release
|
||||
- use 2048-bit modulus default for DSA
|
||||
- fix build under Linuxbrew
|
||||
- use /bin/sh in GNUmakefile
|
||||
- fix missing flags for SIMON and SPECK in GNUMakefile-cross
|
||||
- fix ARM and MinGW misdetection
|
||||
- port setenv-android.sh to latest NDK
|
||||
- fix Clang check for C++11 lambdas
|
||||
- Simon and Speck to little-endian implementation
|
||||
- use LIB_MAJOR for ABI compatibility
|
||||
- fix ODR violation in AdvancedProcessBlocks_{ARCH} templates
|
||||
- handle C++17 std::uncaught_exceptions
|
||||
- ported to MSVC 2017, Xcode 8.1, Sun Studio 12.5, GCC 8.0.1,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
||||
|
||||
6.0.0 - January 22, 2018
|
||||
- major release, recompile of programs required
|
||||
- expanded community input and support
|
||||
* 43 unique contributors as of this release
|
||||
- fixed CVE-2016-9939 (Issue 346, transient DoS)
|
||||
- fixed CVE-2017-9434 (Issue 414, misidentified memory error)
|
||||
- converted to BASE+SIMD implementation
|
||||
* BASE provides an architecture neutral C++ implementation
|
||||
* SIMD provides architecture specific hardware acceleration
|
||||
- improved PowerPC Power4, Power7 and Power8 support
|
||||
- added ARIA, EC German DSA, Deterministic signatures (RFC 6979),
|
||||
Kalyna, NIST Hash and HMAC DRBG, Padlock RNG, Poly1305, SipHash,
|
||||
Simon, Speck, SM3, SM4, Threefish algorithms
|
||||
- added NaCl interface from the compact library
|
||||
* x25519 key exhange and ed25519 signing provided through NaCl interface
|
||||
- improved Testing and QA
|
||||
- ported to MSVC 2017, Xcode 8.1, Sun Studio 12.5, GCC 7.3,
|
||||
MacPorts GCC 7.0, Clang 4.0, Intel C++ 17.00, IBM XL C/C++ 13.1
|
||||
|
||||
5.6.5 - October 11, 2016
|
||||
- maintenance release, recompile of programs recommended
|
||||
- expanded community input and support
|
||||
* 25 unique contributors as of this release
|
||||
- fixed CVE-2016-7420 (Issue 277, document NDEBUG for production/release)
|
||||
- fixed CVE-2016-7544 (Issue 302, avoid _malloca and _freea)
|
||||
- shipped library in recommended state
|
||||
* backwards compatibility achieved with <config.compat>
|
||||
- Visual Studio project file cleanup
|
||||
* improved X86 and X64 MSBuild support
|
||||
* added ARM-based MSBuild awareness
|
||||
- improved Testing and QA
|
||||
* expanded platforms and compilers
|
||||
* expanded Coverity into OS X and Windows platforms
|
||||
* added Windows test scripts using Strawberry Perl
|
||||
- ported to MSVC 2015 SP3, Xcode 7.3, Sun Studio 12.5, GCC 7.0,
|
||||
MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00
|
||||
|
||||
5.6.4 - September 11, 2016
|
||||
- maintenance release, honored API/ABI/Versioning requirements
|
||||
- expanded community input and support
|
||||
* 22 unique contributors for this release
|
||||
- fixed CVE-2016-3995
|
||||
- changed SHA3 to FIPS 202 (F1600, XOF d=0x06)
|
||||
- added Keccak (F1600, XOF d=0x01)
|
||||
- added ChaCha (ChaCha8/12/20)
|
||||
- added HMQV and FHMQV
|
||||
* Hashed and Fully Hashed MQV
|
||||
- added BLAKE2 (BLAKE2s and BLAKE2b)
|
||||
* C++, SSE2, SSE4, ARM NEON and ARMv8 ASIMD
|
||||
- added CRC32-C
|
||||
* C/C++, Amd64 CRC, and ARMv8 CRC
|
||||
- improved Rabin-William signatures
|
||||
* Tweaked roots <em>e</em> and <em>f</em>
|
||||
- improved C++11 support
|
||||
* atomics, threads and fences
|
||||
* alginof, alignas
|
||||
* constexpr
|
||||
* noexcept
|
||||
- improved GCM mode
|
||||
* ARM NEON and ARMv8 ASIMD
|
||||
* ARMv8 carry-less multiply
|
||||
- improved Windows 8 and 10 support
|
||||
* Windows Phone, Universal Windows Platform, Windows Store
|
||||
- improved MIPS, ARMv7 and ARMv8 support
|
||||
* added scripts setenv-{android|embedded|ios}.sh for GNUmakefile-cross
|
||||
* aggressive use of -march=<arch> and -mfpu=<fpu> in cryptest.sh
|
||||
- improved build systems
|
||||
* Visual Studio 2010 default
|
||||
* added CMake support (lacks FindCryptopp.cmake)
|
||||
* archived VC++ 5/0/6.0 project files (vc60.zip)
|
||||
* archived VS2005 project files (vs2005.zip)
|
||||
* archived Borland project files (bds10.zip)
|
||||
- improved Testing and QA
|
||||
* expanded platforms and compilers
|
||||
* added code generation tests based on CPU features
|
||||
* added C++03, C++11, C++14, C++17 testing
|
||||
* added -O3, -O5, -Ofast and -Os testing
|
||||
- ported to MSVC 2015 SP3, Xcode 9.0, Sun Studio 12.5, GCC 7.0,
|
||||
MacPorts GCC 7.0, Clang 3.8, Intel C++ 17.00
|
||||
|
||||
June 2015 - Changing of the guard. Wei Dai turned the library over to the
|
||||
community. The first community release was Crypto++ 5.6.3. Wei is
|
||||
no longer involved with the daily operations of the project. Wei
|
||||
still provides guidance when we have questions.
|
||||
|
||||
Originally written by Wei Dai, maintained by the Crypto++ Project
|
3
vendor/cryptopp/cryptopp/TestData/3desval.dat
vendored
Normal file
3
vendor/cryptopp/cryptopp/TestData/3desval.dat
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff
|
||||
0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5
|
||||
0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617
|
5
vendor/cryptopp/cryptopp/TestData/3wayval.dat
vendored
Normal file
5
vendor/cryptopp/cryptopp/TestData/3wayval.dat
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7
|
||||
000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd
|
||||
def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2
|
||||
d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed
|
||||
|
45
vendor/cryptopp/cryptopp/TestData/aria.dat
vendored
Normal file
45
vendor/cryptopp/cryptopp/TestData/aria.dat
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 7DC1917AE0D38FAE8D4A7D1959AEF27C
|
||||
80000000000000000000000000000000 00000000000000000000000000000000 4ABA3055788204D82F4539D81BC9384B
|
||||
00000000000000000000000000000001 00000000000000000000000000000000 5FA57C3B2E71144C3E5E1E9BE4F0FE7E
|
||||
00000000000000000000000000000000 80000000000000000000000000000000 92E51E737DABB6BFD0EABC8D32224F77
|
||||
00000000000000000000000000000000 00000000000000000000000000000001 B426E1A441F6DBFC2B2D2412D0066D20
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 4B40A63C7F0171EE3CDDA4363FBFAE75
|
||||
01010101010101010101010101010101 01010101010101010101010101010101 CCE5D964A71D7A5E93986BCA572BB050
|
||||
02020202020202020202020202020202 02020202020202020202020202020202 A04100328F459F6AAE8EBAB3B5FE90A8
|
||||
04040404040404040404040404040404 04040404040404040404040404040404 BFE5C38FE204ADC614A321786CDCA08E
|
||||
08080808080808080808080808080808 08080808080808080808080808080808 95A3371D4879057FAEB2E573CCE8A7F5
|
||||
10101010101010101010101010101010 10101010101010101010101010101010 80AF7861CA5855FBED523345D36619EC
|
||||
20202020202020202020202020202020 20202020202020202020202020202020 82E9D82550AECD0E0BB1B63E4B30CEC3
|
||||
40404040404040404040404040404040 40404040404040404040404040404040 C80C04BA36ED0DA52B3E6CB430617FAC
|
||||
80808080808080808080808080808080 80808080808080808080808080808080 41305D0632AC493419B04F3BCDBA6AE4
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B99D80EF798362ACEB9E960AAE7EECC2
|
||||
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 6DC2DBDAC3C563E522F5A75942B8AFAC
|
||||
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 F9BA9C6E7E3C86FAE4BEB607F387548E
|
||||
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 5BC2C08F01C0CDC2F983073CBE9194D2
|
||||
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 AE56BF59874ED4DBD7B905878894ADEE
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 D53236B0CDE20C26F57675A7405A9F98
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 D5526B5E6A1E3DF23AD8ECAF20F281D0
|
||||
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 6E4C91AB71707075F375FFB7B3D27328
|
||||
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D686D2A6F3BBBC5E703528FD4B1DBA8F
|
||||
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 ADE1730DA6F15693FD9F063DFC8EC4D1
|
||||
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 6A3FCA9070151FF14142B1700BE075EB
|
||||
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 773EC2820CCD29CA650DEA05E04CEB80
|
||||
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 531A8B8F5F1228E16B57E5365A1FB02B
|
||||
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 C0166DB2A70DF611921E7F0AB0E0F15D
|
||||
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 70F3361D505A220B1C2328EBE32ED731
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F275975CCC163ED53AA0510443239638
|
||||
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 2F4792014AE2D9B812ADBAC663DC762B
|
||||
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 9250C9771F5A5A8612400AA917491263
|
||||
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 1A6AED07EC57E4373E988BFBB396406F
|
||||
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 209ACF63CE6DFB56B1F9821DDBFE86E3
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 678FFFFDCE3177605F9320FEC4D30B5E
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 C20857DD9106DDDE286EC59FA98D77CC
|
||||
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 15C28D4EC27D8BEDDD8E6B3745A9A261
|
||||
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 5279DA1773C078835D506B25FED6513E
|
||||
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 7AED38F56F62FC75F7DB88F7E59D0B02
|
||||
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 6EB3C2BC1AC20926E860E688786DB872
|
||||
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 54A8718B4DD1A03B1A4ED06C30B9E6AB
|
||||
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 A876FA5538F926B373702DABF33025B6
|
||||
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 B71AB43F56E09592E69E315E7CD06E8A
|
||||
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 E975FB1435D92A0CF3E1A2487774D699
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6C833E3962286C0DE0395446ED30F646
|
45
vendor/cryptopp/cryptopp/TestData/camellia.dat
vendored
Normal file
45
vendor/cryptopp/cryptopp/TestData/camellia.dat
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43
|
||||
80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C
|
||||
00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D
|
||||
00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C
|
||||
00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71
|
||||
01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27
|
||||
02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D
|
||||
04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4
|
||||
08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14
|
||||
10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420
|
||||
20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43
|
||||
40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6
|
||||
80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651
|
||||
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9
|
||||
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1
|
||||
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394
|
||||
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3
|
||||
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF
|
||||
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD
|
||||
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B
|
||||
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0
|
||||
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08
|
||||
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1
|
||||
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B
|
||||
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E
|
||||
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509
|
||||
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08
|
||||
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3
|
||||
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17
|
||||
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01
|
||||
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA
|
||||
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423
|
||||
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D
|
||||
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2
|
||||
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690
|
||||
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536
|
||||
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280
|
11
vendor/cryptopp/cryptopp/TestData/cast128v.dat
vendored
Normal file
11
vendor/cryptopp/cryptopp/TestData/cast128v.dat
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A
|
||||
01 23 45 67 89 AB CD EF
|
||||
23 8B 4F E5 84 7E 44 B2
|
||||
|
||||
01 23 45 67 12 34 56 78 23 45
|
||||
01 23 45 67 89 AB CD EF
|
||||
EB 6A 71 1A 2C 02 27 1B
|
||||
|
||||
01 23 45 67 12
|
||||
01 23 45 67 89 AB CD EF
|
||||
7A C8 16 D1 6E 9B 30 2E
|
11
vendor/cryptopp/cryptopp/TestData/cast256v.dat
vendored
Normal file
11
vendor/cryptopp/cryptopp/TestData/cast256v.dat
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
2342bb9efa38542c0af75647f29f615d
|
||||
00000000000000000000000000000000
|
||||
c842a08972b43d20836c91d1b7530f6b
|
||||
|
||||
2342bb9efa38542cbed0ac83940ac298bac77a7717942863
|
||||
00000000000000000000000000000000
|
||||
1b386c0210dcadcbdd0e41aa08a7a7e8
|
||||
|
||||
2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604
|
||||
00000000000000000000000000000000
|
||||
4f6a2038286897b9c9870136553317fa
|
171
vendor/cryptopp/cryptopp/TestData/descert.dat
vendored
Normal file
171
vendor/cryptopp/cryptopp/TestData/descert.dat
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
0101010101010101 95F8A5E5DD31D900 8000000000000000
|
||||
0101010101010101 DD7F121CA5015619 4000000000000000
|
||||
0101010101010101 2E8653104F3834EA 2000000000000000
|
||||
0101010101010101 4BD388FF6CD81D4F 1000000000000000
|
||||
0101010101010101 20B9E767B2FB1456 0800000000000000
|
||||
0101010101010101 55579380D77138EF 0400000000000000
|
||||
0101010101010101 6CC5DEFAAF04512F 0200000000000000
|
||||
0101010101010101 0D9F279BA5D87260 0100000000000000
|
||||
0101010101010101 D9031B0271BD5A0A 0080000000000000
|
||||
0101010101010101 424250B37C3DD951 0040000000000000
|
||||
0101010101010101 B8061B7ECD9A21E5 0020000000000000
|
||||
0101010101010101 F15D0F286B65BD28 0010000000000000
|
||||
0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000
|
||||
0101010101010101 E6D5F82752AD63D1 0004000000000000
|
||||
0101010101010101 ECBFE3BD3F591A5E 0002000000000000
|
||||
0101010101010101 F356834379D165CD 0001000000000000
|
||||
0101010101010101 2B9F982F20037FA9 0000800000000000
|
||||
0101010101010101 889DE068A16F0BE6 0000400000000000
|
||||
0101010101010101 E19E275D846A1298 0000200000000000
|
||||
0101010101010101 329A8ED523D71AEC 0000100000000000
|
||||
0101010101010101 E7FCE22557D23C97 0000080000000000
|
||||
0101010101010101 12A9F5817FF2D65D 0000040000000000
|
||||
0101010101010101 A484C3AD38DC9C19 0000020000000000
|
||||
0101010101010101 FBE00A8A1EF8AD72 0000010000000000
|
||||
0101010101010101 750D079407521363 0000008000000000
|
||||
0101010101010101 64FEED9C724C2FAF 0000004000000000
|
||||
0101010101010101 F02B263B328E2B60 0000002000000000
|
||||
0101010101010101 9D64555A9A10B852 0000001000000000
|
||||
0101010101010101 D106FF0BED5255D7 0000000800000000
|
||||
0101010101010101 E1652C6B138C64A5 0000000400000000
|
||||
0101010101010101 E428581186EC8F46 0000000200000000
|
||||
0101010101010101 AEB5F5EDE22D1A36 0000000100000000
|
||||
0101010101010101 E943D7568AEC0C5C 0000000080000000
|
||||
0101010101010101 DF98C8276F54B04B 0000000040000000
|
||||
0101010101010101 B160E4680F6C696F 0000000020000000
|
||||
0101010101010101 FA0752B07D9C4AB8 0000000010000000
|
||||
0101010101010101 CA3A2B036DBC8502 0000000008000000
|
||||
0101010101010101 5E0905517BB59BCF 0000000004000000
|
||||
0101010101010101 814EEB3B91D90726 0000000002000000
|
||||
0101010101010101 4D49DB1532919C9F 0000000001000000
|
||||
0101010101010101 25EB5FC3F8CF0621 0000000000800000
|
||||
0101010101010101 AB6A20C0620D1C6F 0000000000400000
|
||||
0101010101010101 79E90DBC98F92CCA 0000000000200000
|
||||
0101010101010101 866ECEDD8072BB0E 0000000000100000
|
||||
0101010101010101 8B54536F2F3E64A8 0000000000080000
|
||||
0101010101010101 EA51D3975595B86B 0000000000040000
|
||||
0101010101010101 CAFFC6AC4542DE31 0000000000020000
|
||||
0101010101010101 8DD45A2DDF90796C 0000000000010000
|
||||
0101010101010101 1029D55E880EC2D0 0000000000008000
|
||||
0101010101010101 5D86CB23639DBEA9 0000000000004000
|
||||
0101010101010101 1D1CA853AE7C0C5F 0000000000002000
|
||||
0101010101010101 CE332329248F3228 0000000000001000
|
||||
0101010101010101 8405D1ABE24FB942 0000000000000800
|
||||
0101010101010101 E643D78090CA4207 0000000000000400
|
||||
0101010101010101 48221B9937748A23 0000000000000200
|
||||
0101010101010101 DD7C0BBD61FAFD54 0000000000000100
|
||||
0101010101010101 2FBC291A570DB5C4 0000000000000080
|
||||
0101010101010101 E07C30D7E4E26E12 0000000000000040
|
||||
0101010101010101 0953E2258E8E90A1 0000000000000020
|
||||
0101010101010101 5B711BC4CEEBF2EE 0000000000000010
|
||||
0101010101010101 CC083F1E6D9E85F6 0000000000000008
|
||||
0101010101010101 D2FD8867D50D2DFE 0000000000000004
|
||||
0101010101010101 06E7EA22CE92708F 0000000000000002
|
||||
0101010101010101 166B40B44ABA4BD6 0000000000000001
|
||||
8001010101010101 0000000000000000 95A8D72813DAA94D
|
||||
4001010101010101 0000000000000000 0EEC1487DD8C26D5
|
||||
2001010101010101 0000000000000000 7AD16FFB79C45926
|
||||
1001010101010101 0000000000000000 D3746294CA6A6CF3
|
||||
0801010101010101 0000000000000000 809F5F873C1FD761
|
||||
0401010101010101 0000000000000000 C02FAFFEC989D1FC
|
||||
0201010101010101 0000000000000000 4615AA1D33E72F10
|
||||
0180010101010101 0000000000000000 2055123350C00858
|
||||
0140010101010101 0000000000000000 DF3B99D6577397C8
|
||||
0120010101010101 0000000000000000 31FE17369B5288C9
|
||||
0110010101010101 0000000000000000 DFDD3CC64DAE1642
|
||||
0108010101010101 0000000000000000 178C83CE2B399D94
|
||||
0104010101010101 0000000000000000 50F636324A9B7F80
|
||||
0102010101010101 0000000000000000 A8468EE3BC18F06D
|
||||
0101800101010101 0000000000000000 A2DC9E92FD3CDE92
|
||||
0101400101010101 0000000000000000 CAC09F797D031287
|
||||
0101200101010101 0000000000000000 90BA680B22AEB525
|
||||
0101100101010101 0000000000000000 CE7A24F350E280B6
|
||||
0101080101010101 0000000000000000 882BFF0AA01A0B87
|
||||
0101040101010101 0000000000000000 25610288924511C2
|
||||
0101020101010101 0000000000000000 C71516C29C75D170
|
||||
0101018001010101 0000000000000000 5199C29A52C9F059
|
||||
0101014001010101 0000000000000000 C22F0A294A71F29F
|
||||
0101012001010101 0000000000000000 EE371483714C02EA
|
||||
0101011001010101 0000000000000000 A81FBD448F9E522F
|
||||
0101010801010101 0000000000000000 4F644C92E192DFED
|
||||
0101010401010101 0000000000000000 1AFA9A66A6DF92AE
|
||||
0101010201010101 0000000000000000 B3C1CC715CB879D8
|
||||
0101010180010101 0000000000000000 19D032E64AB0BD8B
|
||||
0101010140010101 0000000000000000 3CFAA7A7DC8720DC
|
||||
0101010120010101 0000000000000000 B7265F7F447AC6F3
|
||||
0101010110010101 0000000000000000 9DB73B3C0D163F54
|
||||
0101010108010101 0000000000000000 8181B65BABF4A975
|
||||
0101010104010101 0000000000000000 93C9B64042EAA240
|
||||
0101010102010101 0000000000000000 5570530829705592
|
||||
0101010101800101 0000000000000000 8638809E878787A0
|
||||
0101010101400101 0000000000000000 41B9A79AF79AC208
|
||||
0101010101200101 0000000000000000 7A9BE42F2009A892
|
||||
0101010101100101 0000000000000000 29038D56BA6D2745
|
||||
0101010101080101 0000000000000000 5495C6ABF1E5DF51
|
||||
0101010101040101 0000000000000000 AE13DBD561488933
|
||||
0101010101020101 0000000000000000 024D1FFA8904E389
|
||||
0101010101018001 0000000000000000 D1399712F99BF02E
|
||||
0101010101014001 0000000000000000 14C1D7C1CFFEC79E
|
||||
0101010101012001 0000000000000000 1DE5279DAE3BED6F
|
||||
0101010101011001 0000000000000000 E941A33F85501303
|
||||
0101010101010801 0000000000000000 DA99DBBC9A03F379
|
||||
0101010101010401 0000000000000000 B7FC92F91D8E92E9
|
||||
0101010101010201 0000000000000000 AE8E5CAA3CA04E85
|
||||
0101010101010180 0000000000000000 9CC62DF43B6EED74
|
||||
0101010101010140 0000000000000000 D863DBB5C59A91A0
|
||||
0101010101010120 0000000000000000 A1AB2190545B91D7
|
||||
0101010101010110 0000000000000000 0875041E64C570F7
|
||||
0101010101010108 0000000000000000 5A594528BEBEF1CC
|
||||
0101010101010104 0000000000000000 FCDB3291DE21F0C0
|
||||
0101010101010102 0000000000000000 869EFD7F9F265A09
|
||||
1046913489980131 0000000000000000 88D55E54F54C97B4
|
||||
1007103489988020 0000000000000000 0C0CC00C83EA48FD
|
||||
10071034C8980120 0000000000000000 83BC8EF3A6570183
|
||||
1046103489988020 0000000000000000 DF725DCAD94EA2E9
|
||||
1086911519190101 0000000000000000 E652B53B550BE8B0
|
||||
1086911519580101 0000000000000000 AF527120C485CBB0
|
||||
5107B01519580101 0000000000000000 0F04CE393DB926D5
|
||||
1007B01519190101 0000000000000000 C9F00FFC74079067
|
||||
3107915498080101 0000000000000000 7CFD82A593252B4E
|
||||
3107919498080101 0000000000000000 CB49A2F9E91363E3
|
||||
10079115B9080140 0000000000000000 00B588BE70D23F56
|
||||
3107911598090140 0000000000000000 406A9A6AB43399AE
|
||||
1007D01589980101 0000000000000000 6CB773611DCA9ADA
|
||||
9107911589980101 0000000000000000 67FD21C17DBB5D70
|
||||
9107D01589190101 0000000000000000 9592CB4110430787
|
||||
1007D01598980120 0000000000000000 A6B7FF68A318DDD3
|
||||
1007940498190101 0000000000000000 4D102196C914CA16
|
||||
0107910491190401 0000000000000000 2DFA9F4573594965
|
||||
0107910491190101 0000000000000000 B46604816C0E0774
|
||||
0107940491190401 0000000000000000 6E7E6221A4F34E87
|
||||
19079210981A0101 0000000000000000 AA85E74643233199
|
||||
1007911998190801 0000000000000000 2E5A19DB4D1962D6
|
||||
10079119981A0801 0000000000000000 23A866A809D30894
|
||||
1007921098190101 0000000000000000 D812D961F017D320
|
||||
100791159819010B 0000000000000000 055605816E58608F
|
||||
1004801598190101 0000000000000000 ABD88E8B1B7716F1
|
||||
1004801598190102 0000000000000000 537AC95BE69DA1E1
|
||||
1004801598190108 0000000000000000 AED0F6AE3C25CDD8
|
||||
1002911598100104 0000000000000000 B3E35A5EE53E7B8D
|
||||
1002911598190104 0000000000000000 61C79C71921A2EF8
|
||||
1002911598100201 0000000000000000 E2F5728F0995013C
|
||||
1002911698100101 0000000000000000 1AEAC39A61F0A464
|
||||
7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
|
||||
0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
|
||||
07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
|
||||
3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
|
||||
04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
|
||||
0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
|
||||
0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
|
||||
43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
|
||||
07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
|
||||
04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
|
||||
37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
|
||||
1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
|
||||
584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
|
||||
025816164629B007 480D39006EE762F2 A1F9915541020B56
|
||||
49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
|
||||
4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
|
||||
49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
|
||||
018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
|
||||
1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
|
1
vendor/cryptopp/cryptopp/TestData/dh1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dh1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
30818702818100DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F020102
|
1
vendor/cryptopp/cryptopp/TestData/dh2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dh2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201080282010100EB60DBD494AAFBCD2EAC6A36DB8E7DD4A2A64512A5BBB15B9BFB581C7C1CAFB647D4612973C3770C2166D75EEA695F67EA8261557591DB78BCF5A886AA5294F3AEE4D25B57C8EE8C7FE8DBF70C132CD7FFCB6F89426F807F552C5DAE2FB1F329E340094E4B30D8EF6265AB4D350E9837B151C86AC524DE4E1FC04746C668BE318275E420D51AEDDFBDF887D435CDEEF6AC81293DB45287132F8236A43AD8F4D6642D7CA6732DA06A1DE008259008C9D74403B68ADAC788CF8AB5BEFFC310DCCCD32901D1F290E5B7A993D2CF6A652AF81B6DA0FD2E70678D1AE086150E41444522F20621195AD2A1F0975652B4AF7DE5261A9FD46B9EA8B443641F3BBA695B9B020103
|
1
vendor/cryptopp/cryptopp/TestData/dlie1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dlie1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201370201003082011706072A8648CE3804013082010A02818100D4EC6B7A18416519C76766726B3D2D5F054D107B30E97691B15EB0DCDF452B77F10E12C14450AB107BE349C2DF3A2DBD9D844A24ABA21B328D568E8EC6B959E70BADE5C49879AE4447F643360523469B55AFDC459B45634F657AA79918772F2BA9508ACD43C95C16650A1251B8173EBA1B9B59FE8C57F6240EA49A4FE8855CEF0281806A7635BD0C20B28CE3B3B339359E96AF82A6883D9874BB48D8AF586E6FA295BBF8870960A22855883DF1A4E16F9D16DECEC2251255D10D9946AB4747635CACF385D6F2E24C3CD72223FB219B0291A34DAAD7EE22CDA2B1A7B2BD53CC8C3B9795D4A84566A1E4AE0B32850928DC0B9F5D0DCDACFF462BFB1207524D27F442AE77020102041702150C9C14EEFA749DCE9A2A4B7065768767BA48BBB62F
|
1
vendor/cryptopp/cryptopp/TestData/dlie2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dlie2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308202410201003082021906072A8648CE3804013082020C0282010100A8E87254E7F56CB5857786364ACC39F2A0F79FFF8ED6C62C64EE45FC1C775CDDBFD9CBCEF8262DBD2CECE4E5AFECA239B9B4B7D3CBA228366500F5B2203CA6C0CB0AB6698F73921B4831BA598DFA8268A07368A64774C77808AB7CB7978F839304B10567F8C9C34F8DBDB66BB928EDE6327773AA6C20A8F4E9C2AE0C66A0516E057BBC87760CF39270726F1863260CD5ADDAF366318E7029851A6F85B2349DF29629319A3662354DBCAD0789D02AC6BD804C06523900166501041963BD7EFFE0069694A54F4542172A29B1F09D26E3F052AE5274A898058BE549650BC2066DDFDB84D582E6503AF42BCB2B674F2A2A77C54678FD622FFCA2D9718BF8B0525AEF028201005474392A73FAB65AC2BBC31B25661CF9507BCFFFC76B6316327722FE0E3BAE6EDFECE5E77C1316DE96767272D7F6511CDCDA5BE9E5D1141B32807AD9101E536065855B34C7B9C90DA418DD2CC6FD41345039B45323BA63BC0455BE5BCBC7C1C9825882B3FC64E1A7C6DEDB35DC9476F3193BB9D53610547A74E15706335028B702BDDE43BB0679C93839378C3193066AD6ED79B318C73814C28D37C2D91A4EF94B1498CD1B311AA6DE5683C4E815635EC02603291C800B3280820CB1DEBF7FF0034B4A52A7A2A10B9514D8F84E9371F82957293A544C02C5F2A4B285E10336EFEDC26AC173281D7A15E595B3A795153BE2A33C7EB117FE516CB8C5FC58292D77020102041F021D031D7EC405D3E11D031B7B66DF9EFFCC5173B9B1639E4EC920731484EE
|
1
vendor/cryptopp/cryptopp/TestData/dsa1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dsa1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082014A0201003082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0416021426EBA66E846E755169F84A1DA981D86502405DDF
|
1
vendor/cryptopp/cryptopp/TestData/dsa1024b.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dsa1024b.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201B73082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0381850002818100D30312B7179661DA4691EDE39A71CB961199CD792C50AED6EA7E1A24C53590B6BCD92F26509D3372B2849A17C99C0962FBE4A2606CA37E6DF10244805363450FFAA24A7C274DF0B5D24AE7F31A8319FD2AA6E98AC6E7E3364E7AEDE575A9993609B0DFA387084141EA0B5B2D59B6DE718C0DAB4F86BC59F0DBE8602AED933494
|
1
vendor/cryptopp/cryptopp/TestData/dsa512.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/dsa512.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081C60201003081A806072A8648CE38040130819C0241008DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291021500C773218C737EC8EE993B4F2DED30F48EDACE915F0240626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802041602142070B3223DBA372FDE1C0FFC7B2E3B498B260614
|
1
vendor/cryptopp/cryptopp/TestData/elgc1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/elgc1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201A40201003082011706072A8648CE3804013082010A028181008B333697371663F8869E3EC80A414E46BBAFE41F6D40E754A01ADA60FE7D12ACD16DE311C4115293114F6B92A54195909276380F04BCD4ED5CD993ED7F516DF7A752B928E5035E0D3A1A979A1CDE8387734338793C02001D59B662D4FC8F2BF0EABB1F553F9F46F57E74BCABCBA4E458812DB601FCD04609D435317181236B9702818045999B4B9B8B31FC434F1F640520A7235DD7F20FB6A073AA500D6D307F3E895668B6F188E208A94988A7B5C952A0CAC8493B1C07825E6A76AE6CC9F6BFA8B6FBD3A95C947281AF069D0D4BCD0E6F41C3B9A19C3C9E01000EACDB316A7E4795F8755D8FAA9FCFA37ABF3A5E55E5D2722C4096DB00FE682304EA1A98B8C091B5CB02010204818302818045999B4B9B8B31FC434F1F640520A7235DD7F20FB6A073AA500D6D307F3E895668B6F188E208A94988A7B5C952A0CAC8493B1C07825E6A76AE6CC9F6BFA8B6FBD3A95C947281AF069D0D4BCD0E6F41C3B9A19C3C9E01000EACDB316A7E4795F8755D8FAA9FCFA37ABF3A5E2958F40032EF29CB145C7481380458812D62F09287
|
1
vendor/cryptopp/cryptopp/TestData/esig1023.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/esig1023.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081E00281807040653BA4FCD5C66E3318B31E82654C5A62957F68D2EE6AE10BD6678D7A14EEF8EBF0C85F28FE22056C12B2A2DD4E9C897EB2FF06D57DB03B872C049ED2806DC3E4D86F2947D134065AC642F233F95FBCB55C533274FA91FFDC0CEB9E71B8795B71A977C7956001FC19E28DE18A80B20E4AE8F775B952CEEA0DEFEAE8E93D7F020120022B1EC74E9FC5EEA090E8DDF4BDB64861C7DC3F8EC7E64286EC2FE39DA55B4763C582DB48146521BDEF0146D5022B1E559EB15755298408E4E4C6F4791BF075C7A8C9B3C7F5B7FA3E8C322BA0A160C09A9DB6BBC4974BE0F877
|
1
vendor/cryptopp/cryptopp/TestData/esig1536.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/esig1536.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A425AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83A7143A775073F0A1D69B6D0B5817755673
|
1
vendor/cryptopp/cryptopp/TestData/esig2046.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/esig2046.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201B70282010028B1F9CDF87EF6D74F3AC2EA83C17CE376215FB2B3B4817145F1A137FB86B0F7BF0F9BA1BDCF7CC15DF1884DD1B150A983279B90F7A1E4392CB3C16390771DA5668E68621C3898DF66BD254F3787ECFB64B3435E707D5C237A6C09F407D8CD618CC3BBFBAB3DEBA38A0D1A88B2A4E09AE32FF2064EF1896348D5B83047EC2E079D85662EED4A66FBB9C159A617EE3C333BAED66989740F54C3CB336C0EF71130786E70648F2698F4F4192DA06C1578FDB065F8E320EFB63049E4BA664F215924B3E89F69131C5987F357C54593BE173A7AED2D37BE69F90CB574EF83AD49145EB15950FADE9E848DA83BC2CACBEDCAFC4A3B31BFFBBFC4DD03B8E47A218A51410201200256033F9C3F8BDDC021503A687BEC90438F38FF9C0E4C050DD95E46BACA370F478B843611A94BC37B5E838AABFD4ECCCE757BAC967DF8A7DD219B3A71A4DA64D54AB367622B7EB9B4282E898755F02036E91D2A12C81F41025603DB3DE2AE2B52889148C98D68F2B7606B0E5112E60E6A6FF5FD98E5D74143C000B43BEC77082F17C1EF4C82127010B12438D498AAFE8521E21EE6391627D464B54D1BE31F57FFF18C27EC38F08093EA65139A61A2C1
|
1
vendor/cryptopp/cryptopp/TestData/fhmqv160.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/fhmqv160.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101
|
1
vendor/cryptopp/cryptopp/TestData/fhmqv256.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/fhmqv256.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101
|
1
vendor/cryptopp/cryptopp/TestData/fhmqv384.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/fhmqv384.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
30820140020101303C06072A8648CE3D0101023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF30640430FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC0430B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF046104AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB73617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973020101
|
1
vendor/cryptopp/cryptopp/TestData/fhmqv512.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/fhmqv512.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201AC020101304D06072A8648CE3D0101024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308188044201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC04420051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F000481850400C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409020101
|
23
vendor/cryptopp/cryptopp/TestData/gostval.dat
vendored
Normal file
23
vendor/cryptopp/cryptopp/TestData/gostval.dat
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
BE5EC2006CFF9DCF52354959F1FF0CBFE95061B5A648C10387069C25997C0672
|
||||
0DF82802B741A292 07F9027DF7F7DF89
|
||||
|
||||
B385272AC8D72A5A8B344BC80363AC4D09BF58F41F540624CBCB8FDCF55307D7
|
||||
1354EE9C0A11CD4C 4FB50536F960A7B1
|
||||
|
||||
AEE02F609A35660E4097E546FD3026B032CD107C7D459977ADF489BEF2652262
|
||||
6693D492C4B0CC39 670034AC0FA811B5
|
||||
|
||||
320E9D8422165D58911DFC7D8BBB1F81B0ECD924023BF94D9DF7DCF7801240E0
|
||||
99E2D13080928D79 8118FF9D3B3CFE7D
|
||||
|
||||
C9F703BBBFC63691BFA3B7B87EA8FD5E8E8EF384EF733F1A61AEF68C8FFA265F
|
||||
D1E787749C72814C A083826A790D3E0C
|
||||
|
||||
728FEE32F04B4C654AD7F607D71C660C2C2670D7C999713233149A1C0C17A1F0
|
||||
D4C05323A4F7A7B5 4D1F2E6B0D9DE2CE
|
||||
|
||||
35FC96402209500FCFDEF5352D1ABB038FE33FC0D9D58512E56370B22BAA133B
|
||||
8742D9A05F6A3AF6 2F3BB84879D11E52
|
||||
|
||||
D416F630BE65B7FE150656183370E07018234EE5DA3D89C4CE9152A03E5BFB77
|
||||
F86506DA04E41CB8 96F0A5C77A04F5CE
|
1
vendor/cryptopp/cryptopp/TestData/hmqv160.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/hmqv160.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101
|
1
vendor/cryptopp/cryptopp/TestData/hmqv256.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/hmqv256.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101
|
1
vendor/cryptopp/cryptopp/TestData/hmqv384.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/hmqv384.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
30820140020101303C06072A8648CE3D0101023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF30640430FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC0430B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF046104AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB73617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973020101
|
1
vendor/cryptopp/cryptopp/TestData/hmqv512.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/hmqv512.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308201AC020101304D06072A8648CE3D0101024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308188044201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC04420051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F000481850400C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409020101
|
11
vendor/cryptopp/cryptopp/TestData/ideaval.dat
vendored
Normal file
11
vendor/cryptopp/cryptopp/TestData/ideaval.dat
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
00010002000300040005000600070008 0000000100020003 11FBED2B01986DE5
|
||||
00010002000300040005000600070008 0102030405060708 540E5FEA18C2F8B1
|
||||
00010002000300040005000600070008 0019324B647D96AF 9F0A0AB6E10CED78
|
||||
00010002000300040005000600070008 F5202D5B9C671B08 CF18FD7355E2C5C5
|
||||
00010002000300040005000600070008 FAE6D2BEAA96826E 85DF52005608193D
|
||||
00010002000300040005000600070008 0A141E28323C4650 2F7DE750212FB734
|
||||
00010002000300040005000600070008 050A0F14191E2328 7B7314925DE59C09
|
||||
0005000A000F00140019001E00230028 0102030405060708 3EC04780BEFF6E20
|
||||
3A984E2000195DB32EE501C8C47CEA60 0102030405060708 97BCD8200780DA86
|
||||
006400C8012C019001F4025802BC0320 05320A6414C819FA 65BE87E7A2538AED
|
||||
9D4075C103BC322AFB03E7BE6AB30006 0808080808080808 F5DB1AC45E5EF9F9
|
1
vendor/cryptopp/cryptopp/TestData/luc1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/luc1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082015202010002818100B7FE59813AF3A5DA48144EF03E5D229E3CFB55B0E3CEB63F9F973AC8655651409C3B36BBBE83698516F42A2E0FDC87DD83541697249D67FB5A91FA73470089C4997667811283CF22C74856F1E71129DB70FB23620A60E532B7931B7F93C0B9AA6B9D60E87529002BF2204B743773F501F6C370D067C7B22F6AD9DC07E8097347020111024100CFEA6177386C04D1668C984C39A7F889B36BB2B3BED2C7B83241D267F8D2038529AEB56D82CDE43264168873375C8D1F0897666CCC3F617C2F6B52E5143303C7024100E28BAB645993166EE1A984967AE8839EA41685F1E6392DBEB83EE6CA85A54396505DBD4E5C9024BAFCF27AD24D571DC6A3795CE7F0432669BCE742AF8FAF1481024078C6F402C266595B4F85098370528C2C0309BE93F6C45FC049F6AD987471A979FE215CC41455AA85F5A5B664F59E2F8E33C97C211698D14AD05FC65044F99510
|
1
vendor/cryptopp/cryptopp/TestData/luc2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/luc2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308202960201000282010100EF8E1C8C8FB330A26C2449F1A50F7BD457D131C66D3194ECA20CE06138CC95CBE32E1DF910E13FF2D74823363286E3461E4BA3037EA32D4728F262C2364692E5948B8577F651292D72EF42445C2AAF11A526D2235DCE172A6E762EB86178BB5B4A06B8736567DB1525C8BDEB7242C81CC9090F5EF7CFC193FABEA3E5B5407E7DFDDF2D557487C65302148969F28DEC68AC3166FD52D44F1DE2EA74451A4BA0508F09E2F4AB85D89E7D68EEE4E8F9BD5A4858BAE8BF36E3A31FF06DDECDD40AE70932ECD09B65617B3208FF203EFBB0D822CDC1887EF343EBECBB762FA9C5D9F9339C80C96D6F3D8E4F7298FF6C94581C3CBC21C8CA94015F2E48400C0556B70502011102818100FDAD5D856662FC0284BEEF8470DC328B3B853F5819F037EBC786EB0225FD5C45B5BF99073F6E6CE31E4D1BC31105A4BAABA3BEC3C28F40E5912E7D3D6E6BE6178164E52F615C65FED1AE61D9D8F858282AF3C59C25A650A9CA72DD2105D95219CFEFEDDEB067647FDBABB659FBF2FF82F33C1A3A8BA73FB5F3D0C5509DFD38FF02818100F1BFA4A7A9506E020F9A57019F4326AE3D974DE9CCEF9BCA284B313DE287378411BDF1C9A1859D9165604EFF2EB1C9A685C0B317A08CF50E5F45AF570EE2C79B35BEA60B38109B4A450E87811CB10D6873F50726248055FE645C5C74FD0482F22CB541D77ED93F8B44CA72C9F550331C516BD061816325F9EF543C4995832BFB0281805184D4DC8796329003CF0EDC79048A12C4C78A1F44D8DE37A5939776A4E19CAA1ADBC4B78BE72EF23F1A5EFFF7377439138ED19D166285D1325CE6C2A7CFA182BDD7B82B2AB63A041C80B17A4D78161C240EDB2D6A494BEB27D28168E02DAE83C50C01EE8384E31111B756DA9B5423A6817F9078E8A750D0DE2CE62CF223601D
|
1
vendor/cryptopp/cryptopp/TestData/lucc1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/lucc1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082013F0201003082011706072A8648CE3804013082010A02818100E16B572E39DB4D90689753D09CEA97B9CAE9C0AF04203AE5BC7FC985B85D5BB50B1EDEA30CAAD003B455640FEEA79E342F3E8CFF6761051B38D6931A2B0FD0DF8E2210E7DA74CAC5DC1A79D80CD8C0F9FC09D81BAEC94E2F3663F25B0140DF6B3D5AD04CBA27BCF24A92963319FB992E39544370FD28642FE07EB17EDA4D47B902818070B5AB971CEDA6C8344BA9E84E754BDCE574E05782101D72DE3FE4C2DC2EADDA858F6F5186556801DA2AB207F753CF1A179F467FB3B0828D9C6B498D1587E86FC7110873ED3A6562EE0D3CEC066C607CFE04EC0DD764A7179B31F92D80A06FB59EAD68265D13DE7925494B198CFDCC971CAA21B87E943217F03F58BF6D26A3DD020107041F021D03BDAFBB087B5A628730212217B01F15B303A0133D6AF4FC3CAF7286A8
|
1
vendor/cryptopp/cryptopp/TestData/lucc512.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/lucc512.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081B302010030819406072A8648CE380401308188024100B89A4AD4826B8FDDBFE3A6C0F5C8F805B7093AFF9BB2BD697C7D113C236BAC99ABF69000E169575CA2A2DDCDD1C7D9D06C63DCCC880121D933DCF598DD85C52102405C4D256A4135C7EEDFF1D3607AE47C02DB849D7FCDD95EB4BE3E889E11B5D64CD5FB480070B4ABAE51516EE6E8E3ECE83631EE66440090EC99EE7ACC6EC2E291020107041702150268EA4C567B18D0E35B1DA9D517CE5D359CD06779
|
4
vendor/cryptopp/cryptopp/TestData/lucd1024.dat
vendored
Normal file
4
vendor/cryptopp/cryptopp/TestData/lucd1024.dat
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
30818702818100EE9C91E2C1D8B0AB999B3F32B3115A36AA95A36B23CC8507D2340FA21EAAF6F6EB
|
||||
1B900839CD9F8AFBFC155467F91FD8917DD46EAC55A266B246DFFFEDDDA79D674F77884D34709DB3
|
||||
452C2C1E2578CCC0CCA91C504039C52762F23F2A391A58B2CAD2DB05666DDF5B9E3C1AC33DB487B7
|
||||
70C82B7E7DCDEE4381562FCEE427FD02010A
|
2
vendor/cryptopp/cryptopp/TestData/lucd512.dat
vendored
Normal file
2
vendor/cryptopp/cryptopp/TestData/lucd512.dat
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
3046024100C339D027E5812ED5D9DE044F3697D0273625E5EA9EC4EF3FB89ADBFA9CD1FBF4D8C0EC
|
||||
1118C44609F499EF644EEAECE2F38B3F67FAC81A075F31A60B5757A87D020109
|
1
vendor/cryptopp/cryptopp/TestData/lucs1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/lucs1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082015B0201003082013306072A8648CE3804013082012602818100D57B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3CEB3A7BBC4269A384ED9A296160F12BC666066548E28201CE293B1791F951C8D2C5965696D82B336EFADCF1E0D619EDA43DBB86415BF3EE6F721C0AB17E770EA7B2360A054D3E4E878647245FCF87B2335098303004CDDC2B9DCDA57DB51021D034E48F160EC5855CCCD9F995988AD1B554AD1B591E64283E91A07D151028180017324ADC1F93CF002FA2B0619C60F897CDED488E457685625E1565377483C0FA4A7FD1CAE848C727E76654434CE3CCAF81EC6E6AAA156EEBBEA095F642FD0DA2D043996ACC14A1B1A6110B19C094638E29890B89AF5812E97C5F96F33B1FD7415079947994442295CA34447807662FB70621F069A98AE274D01B2777BF4E97E041F021D00F9F02A2BC1930F1AC93198F3D532BC937941D7C9A1E16F0EB932476E
|
1
vendor/cryptopp/cryptopp/TestData/lucs512.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/lucs512.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3081C70201003081A806072A8648CE38040130819C024100E64283E91A07D10F557B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3FB921690D2FD1339F8E1DD406EED70D7EE3085E3AADD02150F4E48F160EC5855CCCD9F995988AD1B554AD1B5F3024062503DFB092F0FD0D8BBD90B50A834A6BD5B0995BCFC1CC8C8C83103AA6837F3FBFF3E042E1B25E36963DB2FCFD7AD24A6626E65A1F6EECBB399F5CE73659F29041702150450A037413E9A711E601318AF21D32A498C0C501E
|
9
vendor/cryptopp/cryptopp/TestData/marsval.dat
vendored
Normal file
9
vendor/cryptopp/cryptopp/TestData/marsval.dat
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886
|
||||
00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF
|
||||
CB14A1776ABBC1CDAFE7243DEF2CEA02 F94512A9B42D034EC4792204D708A69B 225DA2CB64B73F79069F21A5E3CB8522
|
||||
86EDF4DA31824CABEF6A4637C40B0BAB 4DF955AD5B398D66408D620A2B27E1A9 A4B737340AE6D2CAFD930BA97D86129F
|
||||
000000000000000000000000000000000000000000000000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 97778747D60E425C2B4202599DB856FB
|
||||
D158860838874D9500000000000000000000000000000000 93A953A82C10411DD158860838874D95 4FA0E5F64893131712F01408D233E9F7
|
||||
791739A58B04581A93A953A82C10411DD158860838874D95 6761C42D3E6142D2A84FBFADB383158F F706BC0FD97E28B6F1AF4E17D8755FFF
|
||||
0000000000000000000000000000000000000000000000000000000000000000 62E45B4CF3477F1DD65063729D9ABA8F 0F4B897EA014D21FBC20F1054A42F719
|
||||
FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227 1344ABA4D3C44708A8A72116D4F49384 458335D95EA42A9F4DCCD41AECC2390D
|
1
vendor/cryptopp/cryptopp/TestData/mqv1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/mqv1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082011E028181009A21FC66469293103CEF66960B17880F905C738DB692B7481922FC2D454D14067C6BFC158B93FCC1B8D128D4D86D893082F8A3592238EE8B693B6245F26F55968D7D13752D6BFBA271E8E36E11482815D887BB9F6B600E820E7E2AF2EE6ECDBC1CB35B12A4EF48A8907C090482DE7D49B751BB3A50F78BE29506114BC85D3A6102150C896422EC558A74B883BA85E2F10D4A58F28D2B09028180350C4BB19C0A9B224E5E1BACCC1B1952A97628021B4673831C851C3280F06D3EFA73DAE27E5D4E4A0499E0B2B9A369649E883A1F260EF250B5CCF3E3C922332B210EEA07D3BF92210BA7A7374A30DDDE3D1B3D575B77CD36B001EAE4A2A3BFAFF12FCE74F3330B30ACF6DCFF580ECBFB5B00FD5DD2B8EA9DB09C7E1C7100BD67
|
1
vendor/cryptopp/cryptopp/TestData/mqv2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/mqv2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308202280282010100A5C07CE5BF0894C0BA8752F4D9A6D0BF6556D325B618A655CCFE3EEC85B56D47DBDF5A9A5C8588AE6F4C44BBCB339E869A21BE057A243DC797B912C547FBA359C4FC9965C72278370AB6C0DD246197A8D83A08C69425786482D1744C41FBB3C36BEA5963C05B0778AAEF9230C3E2E12072268038E5ADB6433542F94D8C25A6A1785E4D2D97AF119F2139E69AECA46F11B344785A0B1B280CF8D678AB9627780271A350A9B15B92E105F14733C5F15C1753F7C48A645FAAAC1BFA266B5AD6F7C46350465DA31150ABB10FF63FD6C01C849DFCD5645C5D1AF8B967372449DF90D02177E12439BD36A1EED1FAEDB8166927F755B71A5368CC27CD00AB5CF04601E7021D03134944D9AA15697107F48AC5621A1531649AD5EE8EEC1D1F282B5481028201003468652FBB1E3C7F2FBB99A89EA14FB9205F534943034CDE9D9CC57A790D9713EC7B21032EAA8ED2B24FFABD612EDADFC9265964C753AE276380294D4D16C63389A4C392A0058EF1549F6C0D13C4A09759C67650A51F7362B38C61AF2942A6004BB8C3CD4C489E66DE1567E2306821788A519727CD27945DBC5778AC6E8B1DFC05573D76DF9E9AA4F1CE657A2A07BEF833091614C0A6065507BD51099C54148327903626DE6D01FEC9A7F5F9A901C90E219D452C2E2A90AA2303A52776EF174CC85C1AA4F28924B1DFF3E3C5538D820A422374DCFB0D14D620AE282A72416C6506F02D3ED1E6208F66B9DB49294D8D605D7D146BB6A970211289B1BE7AB12531
|
1
vendor/cryptopp/cryptopp/TestData/nr1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/nr1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082014C0201003082012C06072A8648CE3804013082011F02818100F89F4EBE58E222B517D218D615BDC00611501CD18417886BD3FCBD22578C4611B1E8C06EB0FE9D473A5589BC277AA58C1979DC2869B728D78EC38B4C044A790A60314E7BD3DFDC0BBD8B770A9271D7D048F3E13C73866D096C7304782125847C70EDD721B36F1C379CF7CCEE0A728DD66336ED5F93E8A1BD3EDB22C8761EB987021526A578AB11C3A0812A636D24D120BE544B7973E4D302818100BF927ACE4D175A44622494E37F9552E97B74303321FFEF9B76CDECB14F7D612608DDFEA77C04A8FCACCF7F16CB01AE05AD5EDB65C3B9A380D720F34C7D96C8817E2EFF7D0049EE149DF61C52D7C80271206155CDAEBC8A7F4A8DCE5196E3C18FD5EDF11A394C43A5D59BC65D976817438CA0A7F01713548F61355E976DE75E1E04170215247B2531CFF01D1B1665F0CFD2A836446798353330
|
1
vendor/cryptopp/cryptopp/TestData/nr2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/nr2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082025D0201003082023506072A8648CE38040130820228028201010083C69F32A1F3A67B201D7A92BA204281681DAAD29F50BD866D70A2E01438653B18602AFE606AA925389381682EC0E2CE5D5D366793917879860799ECEDDB4831ED4A4E76D9C34FFDD0BC786588F00E8A19705B997C4298F9CAF9AEE46E0A5677AA1240DC141BD78A8720A829F64C912FA3D961ADE698C5344F18FE4CE70CF7B94F45258C6A9553830FFB80B6BB7E1C510D4526C1904C1D6E2F1B8C1CA6499DBD291438717131804FA2F5F42E5C06293D6DA493C88A38EBC6A6DCF40B2BAB0BF7C7FA0F9C070F1C48FD12CA2B7337E9C58EB9AFDAC6FEEAB0BD62415B26D405D6BF47F11D70B1740BC398A76BE70723A829082EB548D35F4D78E4E015DAD12D5B021D083118E4DC11622CB53E7E4D7634BFBDE45A2D8F8B097A251803505315028201005BAC6CBFE089F75274A532564735786477478F19BE099AB38E0F843393D6D81964CBCFF4B68C5DA2614F06BB844672288F0A65216954990051BA691CA6796AFAAE91A79350F53D9DF3CC688387306EFFDCEF70A14A672E2103B8C861523703157D05DF6EB42DCD81506C88300ED8D8ED40D41AB6D669D309C976B84D82C8D18747578358CBA1EF4B00118B0DEEF11409DD8CB0D83399A33E10C18249574FA2242AE4241CD789C891FEC1C63771EE4517274493240EDAAC44AEDC42F318A5122B052244DFA9A282B8D94BC4BAB360D44E4D0204F8D28817B5B6F808047C92032AA94926D697CFA2FC211FAAE26A5F1FC2B1EB03DA68AD5E01EAC489FB64A66EA3041F021D042ADA16929DA18A7A3C8FDCDD8FC46A6D8AAB79FF33D60E2BF09DEF4F
|
1
vendor/cryptopp/cryptopp/TestData/rabi1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/rabi1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082015202818100D132EDB1360E31D7B8DD84BB03111FDE0243FFE4031ED12B440E7FF36A634E57772EC81FFDC065607494717C6E16A5AB642283553442CC22569535C7A20E3D1C3E2B3747B26E9856D4A13D0325DC116DAAF8554B000321A753E5CFA730CA60F3E3FE2CA9750C6734A2A113AD4A76B6DAC5E199AB55F34CE6984BF56F6DFAC51D020105020102024100F90CBF726FA70ACB5074BD8E79932B74E9949057B627ABB29F41E5057AE699A03BC240EBB9637E956ABC0B6A20F633F78168A908086E2011FC5D030B9B94B51B024100D7097ACACD8BF8ED641A7D8A17A23F8FB385B92B760EEEB9A1233E1D25892F742315DE23DA0751F24EAE4C0C5B696D0AA0D16EAE94194193DC89D479A9626A2702403B5475CD2A7F519EF08433407826D89983C104AF1E74B44B79B31770149D224089300F828E0DF4CBC864BDB394C0F32CCF055F7B2B8872BF0B5F148020637B9C
|
1
vendor/cryptopp/cryptopp/TestData/rabi2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/rabi2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
308202970282010100B8F2A74040753A7706CB98B80DD9EE33FB7969FCA65A2025E96853267AEF80ABB184FE463B9475F5166307FAFA988F6CA4BBC7122E9555755191AA408BAF4464221394342104ED2762EEA4FED8B5CDB4234442AB979A487446AB37C4A4FD67C259EB942E28B50DD54F3AA14447931821291D4C21BB8BD58C41302F3E1D2E6FF84F84AACEC02196282C492E0354985A66EBA50B1903EDF70D98BD9837E694876505760C58C186F0B5F6500711500297956C9825EBDCCF90633239484F9A3572271D3CD585BFC195BED0D5FFCABE785B25BFF6ACFF2B7C125D54B26CFEF60B1B077B2F953960DAEB57F102B6A1E30AA88B643090BC4D8971077C1B54EA61E4E45102011302010D02818100D02603BBFDB55F1063DFCEBB4CA32F551330E0F2901D87DF2A395EF6AF340F6352CE3514FCE85705652DC6BD401CD0D5D13855B124DA172D5183A7474B85B683AA03382775F3D8DC600F33E696246F9F2134E2DA061923F47B85A923EBB375B07DE3B43EE4FD71D3E24B4B416DAE6E4C2B6D32A9B45BF04296AECAD60C33DA0702818100E3773B5D8B828BEA922392100C54CDF41D0CD26B4C34A64F483B7975AB35920DA0E3F6AE238E72E26F8A498D9AD0C4A75C52F25421E1E2E3865ADD1A0FCEA4DE932DBE6EBEFA689494855B11714B960F57C5102C0E8876D253ABA8C2D6A511DBC0F30589A0FBE66AD6BCEFDFC4F67F8347726A52736274B7F744ECACFF6198E702818100BF84B25DB607930F80ED57C7AF89E7604B7E8E0D341C9C4A0C94FFE6D4B38810553B1E92F7BF9651D3D0149A9188E1FFD1FB86753A327ABC6169AF92271E7204A2C76488FBC781984BA99C3C48C8A799054DA34A201743C3064B4609831B35FBA2B8B1BC67FFD0C685DBA92FE688AD51D1F161C06EC0B9E0D0E187863BFBBEC0
|
48
vendor/cryptopp/cryptopp/TestData/rc2val.dat
vendored
Normal file
48
vendor/cryptopp/cryptopp/TestData/rc2val.dat
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
08
|
||||
3F
|
||||
00000000 00000000
|
||||
00000000 00000000
|
||||
ebb773f9 93278eff
|
||||
|
||||
08
|
||||
40
|
||||
ffffffff ffffffff
|
||||
ffffffff ffffffff
|
||||
278b27e4 2e2f0d49
|
||||
|
||||
08
|
||||
40
|
||||
30000000 00000000
|
||||
10000000 00000001
|
||||
30649edf 9be7d2c2
|
||||
|
||||
01
|
||||
40
|
||||
88
|
||||
00000000 00000000
|
||||
61a8a244 adacccf0
|
||||
|
||||
07
|
||||
40
|
||||
88bca90e 90875a
|
||||
00000000 00000000
|
||||
6ccf4308 974c267f
|
||||
|
||||
10
|
||||
40
|
||||
88bca90e 90875a7f 0f79c384 627bafb2
|
||||
00000000 00000000
|
||||
1a807d27 2bbe5db1
|
||||
|
||||
10
|
||||
80
|
||||
88bca90e 90875a7f 0f79c384 627bafb2
|
||||
00000000 00000000
|
||||
2269552a b0f85ca6
|
||||
|
||||
21
|
||||
81
|
||||
88bca90e 90875a7f 0f79c384 627bafb2 16f80a6f 85920584
|
||||
c42fceb0 be255daf 1e
|
||||
00000000 00000000
|
||||
5b78d3a4 3dfff1f1
|
5
vendor/cryptopp/cryptopp/TestData/rc5val.dat
vendored
Normal file
5
vendor/cryptopp/cryptopp/TestData/rc5val.dat
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
00000000000000000000000000000000 0000000000000000 21A5DBEE154B8F6D
|
||||
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D F7C013AC5B2B8952
|
||||
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 2F42B3B70369FC92
|
||||
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 65C178B284D197CC
|
||||
5269F149D41BA0152497574D7F153125 65C178B284D197CC EB44E415DA319824
|
17
vendor/cryptopp/cryptopp/TestData/rc6val.dat
vendored
Normal file
17
vendor/cryptopp/cryptopp/TestData/rc6val.dat
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
00000000000000000000000000000000
|
||||
00000000000000000000000000000000 8FC3A53656B1F778C129DF4E9848A41E
|
||||
|
||||
0123456789ABCDEF0112233445566778
|
||||
02132435465768798A9BACBDCEDFE0F1 524E192F4715C6231F51F6367EA43F18
|
||||
|
||||
000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000 6cd61bcb190b30384e8a3f168690ae82
|
||||
|
||||
0123456789abcdef0112233445566778899aabbccddeeff0
|
||||
02132435465768798a9bacbdcedfe0f1 688329d019e505041e52e92af95291d4
|
||||
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000 8f5fbd0510d15fa893fa3fda6e857ec2
|
||||
|
||||
0123456789abcdef0112233445566778899aabbccddeeff01032547698badcfe
|
||||
02132435465768798a9bacbdcedfe0f1 c8241816f0d7e48920ad16a1674e5d48
|
9
vendor/cryptopp/cryptopp/TestData/rijndael.dat
vendored
Normal file
9
vendor/cryptopp/cryptopp/TestData/rijndael.dat
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A
|
||||
00010203050607080A0B0C0D0F101112 506812A45F08C889B97F5980038B8359 D8F532538289EF7D06B506A4FD5BE9C9
|
||||
14151617191A1B1C1E1F202123242526 5C6D71CA30DE8B8B00549984D2EC7D4B 59AB30F4D4EE6E4FF9907EF65B1FB68C
|
||||
28292A2B2D2E2F30323334353738393A 53F3F4C64F8616E4E7C56199F48F21F6 BF1ED2FCB2AF3FD41443B56D85025CB1
|
||||
00010203050607080A0B0C0D0F10111214151617191A1B1C 2D33EEF2C0430A8A9EBF45E809C40BB6 DFF4945E0336DF4C1C56BC700EFF837F
|
||||
1E1F20212324252628292A2B2D2E2F30323334353738393A 6AA375D1FA155A61FB72353E0A5A8756 B6FDDEF4752765E347D5D2DC196D1252
|
||||
3C3D3E3F41424344464748494B4C4D4E5051525355565758 BC3736518B9490DCB8ED60EB26758ED4 D23684E3D963B3AFCF1A114ACA90CBD6
|
||||
00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 834EADFCCAC7E1B30664B1ABA44815AB 1946DABF6A03A2A2C3D0B05080AED6FC
|
||||
28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E D9DC4DBA3021B05D67C0518F72B62BF1 5ED301D747D3CC715445EBDEC62F2FB4
|
32
vendor/cryptopp/cryptopp/TestData/rsa1024.dat
vendored
Normal file
32
vendor/cryptopp/cryptopp/TestData/rsa1024.dat
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
30820274020100300D06092A864886F70D010101
|
||||
05000482025E3082025A02010002818100A39D4F
|
||||
72D1BCFF65A47545C2897C0464CE9181E8703421
|
||||
2EC04407C4C24D569AA20C58B8138C85E17510BC
|
||||
6B861CADA9034C3ECE3B050B546E97D2BDC07A07
|
||||
CF8A612F7D3646739633041893EF18C411264E45
|
||||
C9E033A1BD5EE5FA02D95E9A9ADA2D0C6DF480E3
|
||||
2FA3FCE02889798455CE53F084AAB4C5549266F7
|
||||
CE8C77DF1D0201110281800E6FC33ED64561D443
|
||||
378627C0D63C9F7BA36D584622B7A23E241ECD98
|
||||
AC78952C6A804C7A320BD020EAE372E62FB4F853
|
||||
1D50D5F6261796823A929845B06A19B35A5227CB
|
||||
C819852A9CBE588CC2D1CEE07F426D13C2BF2FCA
|
||||
1C99FDEEFDFE387859E2B3F654E85A71481A71E9
|
||||
D5256583B1200F29C1AA0F437CFDC2AEAF218102
|
||||
4100D5DDB104AD074F6C1B8192D9AC8AED4DE05C
|
||||
F5C6509490DA8CCFC91FDF7B3A1323E03894DCAA
|
||||
B2587716D652A56904F86244E10C1B8FA597C389
|
||||
2591C55DBD65024100C3D930B583B8AD9A349218
|
||||
795C988CF0004F09DA04FFEF6FDF7CB4FA654F74
|
||||
B262521FE185693CD6290A337589F62CDEECE24E
|
||||
CCB5E79865275540F3B603FB59024064A48F89BA
|
||||
D6437E2B0FCCA2AB8CABE86995285D5318BCA315
|
||||
167CC3B47639726B3C56DCA41417B128FBB026E4
|
||||
6DA7FC6A7AC441EEDA2FCEF29AE480D5594A1102
|
||||
40228FBD4D355CD35772B05EAC014818DF0F1D01
|
||||
BD0FF0EE04AEF7E3B3B7867E015CA514AF53C746
|
||||
F89DD49FAB5494DABDED9159332F28DEA8705A56
|
||||
C198974A79024100D1DCA40FBD19036F0E2A9438
|
||||
7D03C090DDF0A677CDE0B8634A81F247752A355E
|
||||
C1CEA2482A4887767145C2BA703C9C10228FDA1E
|
||||
BB2EBEA73D23AA9C34182179
|
61
vendor/cryptopp/cryptopp/TestData/rsa2048.dat
vendored
Normal file
61
vendor/cryptopp/cryptopp/TestData/rsa2048.dat
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
308204BB020100300D06092A864886F70D010101
|
||||
0500048204A5308204A10201000282010100BB25
|
||||
80EB6B368287A0A3BDDF6AAA9EDA2EEF15D92C5F
|
||||
E0B1C21473175C39B685A6FB0B0DB611092C19B4
|
||||
FA3CA5BB20F311E35B2E1097F48B077DF7684BEB
|
||||
9A34EB78C7B5F02ADFAEA3F3A66F1EF91B0C47DE
|
||||
68F0501F80A7E9603F794E928949F152C049A011
|
||||
D7E58C72F9303781E4FE7129DD7B87B5448D440A
|
||||
62CE8E9C801F245039E2724A9C37CB17457950B7
|
||||
B3C4C9BE4D17A29EFC1EA1EF464FBD21DABE9F10
|
||||
ED0EB132405D68E4304008083BB675DA97CB6219
|
||||
147A1EB93D38A9C4023540F871272A85B45447B3
|
||||
6DE9A708E412CD31B1CB6470E4A37CBEA6000F36
|
||||
632DF86FD3C34466C63BD80F1350E4DD5081597F
|
||||
F34F94F07AE6430DCC0563B1F7CF020111028201
|
||||
00034D763A5DC03580E33616ED5ABABA855B2E62
|
||||
4495DD8D002009656B5473772C85F55F10CE81CE
|
||||
77BE31E04657410B1F6535B4CF1E6914E152F4AB
|
||||
84DA2FD409F81BBB3DF0A96A58EACC9501F60162
|
||||
5C1356BF97D139C78A7E18496708EA7DE7B47266
|
||||
C81363B3FF888085E7403A028901FF3BA04C2EDE
|
||||
930EC0EFAC4DCF8FD054C1119562A1C7CA455D79
|
||||
36CB95A16CE611ABC97918961DE6720CE171CC69
|
||||
A590E9A041EC1DAC6FDCF2E04946C100E03DEFCA
|
||||
29FF480C926CD48589EB832D4476CF38AB320754
|
||||
D97BE77FDB9E5F2DCA1A2ABBC33D0790FE8C22CF
|
||||
694BB8E0265733A5A17CC5D07DB54515DC80216A
|
||||
A23A43EB12783888FF424EDB26FAF7DCB9028181
|
||||
00EB4C87F67AEA3F2047BF9DF61947DF2BA7E1C1
|
||||
64A03A8E3ED5F3BC6CDEE99FC6251C6A28F9502F
|
||||
0A4B5A0CFA8038A12A2270AAE2C9342EDBA207CE
|
||||
0F170B6D07550670CFEAE730B9411E66CD2D485F
|
||||
3FC3E9C5348D32C768F68A53C756E66BE0FAC7E8
|
||||
FDC9FBE22644961782DA5DDC19D75B64D2E8B660
|
||||
052DDC95AD186633E902818100CB9C7830223B78
|
||||
FC28A6D2B77C50C3D389F32FC4DEF33341741205
|
||||
5102F8D852663DB44E1EA5E5E58A71D30D33C168
|
||||
E94855D79CC19CC7DFBAFBDFF7710490064A1375
|
||||
1CD75466219956B9D4C0AF0CC13E7D075F54E6AF
|
||||
8CD67FBE3F4AB90425B039410686A168421E2E24
|
||||
FF0319D9D3F1C685BB650BC7B5BD12090CBDC392
|
||||
F702818060E3470B238DA185C330C89282E15BE4
|
||||
CCA84092D89094ECB2736BB45BC99C2469A249D4
|
||||
A2E4C8134C34237634CC06206888BED5DA60C800
|
||||
158ABE4272E6964E502FD41960B98C888439B1DC
|
||||
039645567DD8BA9D2B14E8B2BFDE9AF7BA5EE120
|
||||
674341D1E9C211D385A736DB871796DD76CB47A2
|
||||
239663C5E5B52E9291937EC902818053D704500E
|
||||
187D1C8935A20F514E6EC08418D76F2EA060663E
|
||||
DA3E6CA6DEEFA97564B3A7B2444F9AC08938C933
|
||||
6DC1C9782358C8137CCAC5893A8965E33E1D2FC4
|
||||
262129FE4FEDD1997E10488B935F9ADD7EC6CCE6
|
||||
B957581C167B83791F01B52A71ED99467EB27593
|
||||
F4E20EA6EC86DECCF7643E1A8C614AD561C77DB7
|
||||
8CC40B02818100AF950A287679E6C55020400E8A
|
||||
AD0642DB1C11D9AD5AE85F1B6FD2829D869453C9
|
||||
F67C0210D0847A4BD47C57FAECD9BE540BD66989
|
||||
E6C43F62D725B3D841B4F1DB7C28A722337358C8
|
||||
D1CD55F5CA6E31FAD6F827756BA074944D345C8D
|
||||
2FCE759F4244B948D06F5AC863DEAAEF279B2F69
|
||||
955ADAD1F39DEA9DA028B94EF22F11
|
77
vendor/cryptopp/cryptopp/TestData/rsa2048a.dat
vendored
Normal file
77
vendor/cryptopp/cryptopp/TestData/rsa2048a.dat
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
30 82 04 bd 02 01 00 30 0d 06 09 2a 86 48 86 f7
|
||||
0d 01 01 01 05 00 04 82 04 a7 30 82 04 a3 02 01
|
||||
00 02 82 01 01 00 d2 54 95 37 95 5e 3b f5 1e f0
|
||||
29 dc d3 c7 b7 08 e8 a2 fe 84 ed 16 52 c9 cf 06
|
||||
73 6b 1b 6d 5b 31 50 21 77 af d6 f9 bf ea 2a c3
|
||||
ca 7d 52 58 f8 8d 12 bb c1 01 ac 19 7a 33 de 9e
|
||||
52 91 a4 94 65 04 cb 34 dd 3b 5b 7b db c8 5e 1a
|
||||
b4 91 48 c2 a1 fd 9e 10 9d a6 df 9f 63 70 e9 3c
|
||||
ff fc 71 7b dc 08 97 00 64 8c ed 5a 78 ce 56 38
|
||||
ee 0a 36 0d 4a 9f 3a b7 7f ea 38 9d 83 cd 4a fa
|
||||
2c 92 fd ae 68 74 7d 25 4b 26 65 97 cc 21 43 ae
|
||||
ec 6d 5b 90 ec ec 45 de fb f1 7e c3 58 95 a2 e7
|
||||
e3 16 82 a4 a9 0b 77 05 7c d6 cd b8 95 d1 27 b5
|
||||
db c5 33 63 f1 92 1c 3f 25 82 bf d1 8a 89 c4 65
|
||||
c0 e9 07 e5 ba 17 b5 36 30 d7 a7 1c f3 bf 16 00
|
||||
76 99 f1 d9 7c db 2b 52 ca c6 22 6d d6 ba 7f 16
|
||||
27 f0 c1 ee 3f 8d ad 4a 69 48 41 57 8d 57 0e a8
|
||||
a4 bb c6 3c 41 5d 7e 42 49 3b 3b 8d b5 b0 88 f3
|
||||
2d 50 1b ec 0e ff 02 03 01 00 01 02 82 01 01 00
|
||||
89 11 50 10 e2 09 80 3f 54 c3 24 34 e1 da d4 00
|
||||
3d 43 03 64 f2 f0 ca 50 f3 d6 7b 5f 00 87 ba 97
|
||||
1f 66 40 0e 5a a5 75 99 0f f7 7a 3d 43 6d f1 c4
|
||||
55 c1 ff 9c ac 60 0a 10 45 72 9d d2 86 13 a2 e5
|
||||
85 db d4 94 bb 20 b3 71 17 4a 86 03 ec 0b d2 ef
|
||||
69 93 e0 79 80 5f e9 b9 0a 76 93 48 1b 58 a1 63
|
||||
03 ac e0 da 2a 4f fc 4c 53 4a 54 6e 59 1d 3e 55
|
||||
18 39 bf 65 8f 31 af 54 19 19 81 f4 e4 d7 44 ff
|
||||
fe 73 2b 57 28 4b 2f 43 53 81 d2 b1 e0 ad a4 88
|
||||
b2 11 ae d3 3a 7f e6 de c4 41 bb 22 07 1a 15 a7
|
||||
c0 d6 b2 69 4d 01 c8 21 aa b8 9a 3b 3a ad 49 8d
|
||||
ae 53 b3 8c b4 7f 2a 23 f4 0c 73 53 4f 2f c5 d5
|
||||
1d 22 68 6a b9 31 0a 9c ba 79 59 12 e9 59 d4 1e
|
||||
80 7a 2d 45 63 a1 89 2f 27 72 39 60 a3 5f 3e ef
|
||||
26 47 63 42 ce 40 db 4d 26 01 ca 5e 00 5c 96 ef
|
||||
77 48 7f 1d 09 45 99 d2 bb c2 ed d3 11 37 a1 91
|
||||
02 81 81 00 f0 35 21 ff d4 d1 8f 13 ed bf 5f 87
|
||||
43 37 31 25 03 fe bf be b7 81 da d1 d3 d5 36 e6
|
||||
35 3d b5 77 eb 8e 86 73 12 e5 4a e7 0d a4 d4 66
|
||||
7d df 44 bc 2f cb b4 71 65 bd 00 bc 29 2a 08 4f
|
||||
35 78 31 59 98 56 e0 db 36 89 0a ca 0b ca 6c 94
|
||||
07 de c9 a4 b4 18 a4 bf 92 92 78 c7 c1 69 da 18
|
||||
80 ea e3 7c 9a 72 35 1c b3 6e a4 1d ab 5f ae 91
|
||||
af a0 c9 0f 85 b8 b8 a9 c6 55 39 6e 91 75 c2 0f
|
||||
8d 04 bf 79 02 81 81 00 e0 28 98 94 00 4a aa f1
|
||||
a9 9b 17 cd 00 74 81 f6 b3 df e1 d3 98 ca 05 86
|
||||
b2 e1 42 e4 81 92 df 10 cf c0 92 ec 9d 0b e1 b4
|
||||
43 9d 9d 14 13 e1 29 78 5c f9 99 ee cb bf 09 09
|
||||
c7 90 18 dd e6 3c db 38 b2 85 cf db 3f 3d fc 85
|
||||
ed 78 1a 31 89 41 3c 39 0b ab fa 23 c8 95 c6 f2
|
||||
a8 c1 ee 82 99 b6 bc 5e ea c6 ee 83 18 2a 27 29
|
||||
22 d7 e3 34 da f1 e8 8c 82 f0 b5 3f a4 8b be 01
|
||||
23 37 f3 4b 10 c7 4c 37 02 81 80 4c 18 e9 0e 7d
|
||||
43 6e 4a 67 f5 4a b4 35 4d 14 da 9f 2b 63 5f 6e
|
||||
0f 4b 5d 51 f8 a8 0d c2 2c 2c 83 33 32 d1 d1 3e
|
||||
d9 39 23 7d a5 0c 4c f3 ef 79 7d 0c bf 42 08 f2
|
||||
ac 2f c1 6c 61 0e 84 d9 71 9c 60 bf ec 36 0b fc
|
||||
78 e9 dc 1c 64 22 85 bb 00 8f 6d 08 49 0e 58 4a
|
||||
7c f0 9a 87 e1 9a e0 4c 67 1d 6e 6a 17 68 50 11
|
||||
60 29 c9 e4 72 c9 81 09 dc ac 15 a8 cd 5e 63 1a
|
||||
9c 01 37 d0 09 38 53 68 df 6a 31 02 81 80 4d 90
|
||||
fe ab 48 26 8e 5c ad 8a 03 84 66 c1 ea 2f 0a 33
|
||||
50 9b bd e5 3a 60 50 09 ee f1 cf 7c 99 3f e2 04
|
||||
0b 53 61 4c b9 3f 7d 9e 4e ba a1 de 6a 51 42 2b
|
||||
04 ff 42 f5 ca 14 de 3f 98 bb 40 6e 92 95 5e 01
|
||||
3b d9 ec 5a 70 c5 8f 54 de 0b 82 29 56 c3 8e ac
|
||||
66 14 77 d6 8c 4f 6f e2 1b bc 89 a0 58 32 a8 1f
|
||||
4a 6d 86 b1 1f 77 f6 9c a9 fc a2 3e cf 6f bf e7
|
||||
b7 70 5c 6a 16 c7 a1 fe 3c 6c 1f 54 37 a5 02 81
|
||||
80 08 9d 30 ca da d1 af 53 16 e3 77 bf 9f 2b dd
|
||||
38 a8 20 f9 e5 57 fb 7a cc 4e c6 0d d5 03 22 9f
|
||||
f8 99 f5 61 69 88 3b 7b a7 c0 ca dd b2 1b b7 34
|
||||
0b 5d ed 9f 37 fb 02 7d ef 01 2d 29 1d 75 9a ba
|
||||
1a 5d 7b 77 47 e6 da b5 d7 a9 06 f2 61 5d 46 f9
|
||||
6d c3 81 de 8f 5d 08 ac a6 b6 b3 51 7a 97 08 36
|
||||
d3 d8 95 6b 08 e8 e3 10 24 61 67 97 c7 40 68 9e
|
||||
b7 84 09 14 3f 95 02 3f 75 8b 8e b1 2c 80 b3 5f
|
||||
03
|
10
vendor/cryptopp/cryptopp/TestData/rsa400pb.dat
vendored
Normal file
10
vendor/cryptopp/cryptopp/TestData/rsa400pb.dat
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
30 4c 30 0d 06 09 2a 86
|
||||
48 86 f7 0d 01 01 01 05
|
||||
00 03 3b 00 30 38 02 33
|
||||
00 a3 07 9a 90 df 0d fd
|
||||
72 ac 09 0c cc 2a 78 b8
|
||||
74 13 13 3e 40 75 9c 98
|
||||
fa f8 20 4f 35 8a 0b 26
|
||||
3c 67 70 e7 83 a9 3b 69
|
||||
71 b7 37 79 d2 71 7b e8
|
||||
34 77 cf 02 01 03
|
41
vendor/cryptopp/cryptopp/TestData/rsa400pv.dat
vendored
Normal file
41
vendor/cryptopp/cryptopp/TestData/rsa400pv.dat
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
30 81 fb
|
||||
02 01 00
|
||||
02
|
||||
33 00 a3 07 9a 90 df 0d
|
||||
fd 72 ac 09 0c cc 2a 78
|
||||
b8 74 13 13 3e 40 75 9c
|
||||
98 fa f8 20 4f 35 8a 0b
|
||||
26 3c 67 70 e7 83 a9 3b
|
||||
69 71 b7 37 79 d2 71 7b
|
||||
e8 34 77 cf
|
||||
02 01 03
|
||||
02
|
||||
32 6c af bc 60 94 b3 fe
|
||||
4c 72 b0 b3 32 c6 fb 25
|
||||
a2 b7 62 29 80 4e 68 65
|
||||
fc a4 5a 74 df 0f 8f b8
|
||||
41 3b 52 c0 d0 e5 3d 9b
|
||||
59 0f f1 9b e7 9f 49 dd
|
||||
21 e5 eb
|
||||
02 1a 00 cf 20
|
||||
35 02 8b 9d 86 98 40 b4
|
||||
16 66 b4 2e 92 ea 0d a3
|
||||
b4 32 04 b5 cf ce 91
|
||||
02
|
||||
1a 00 c9 7f b1 f0 27 f4
|
||||
53 f6 34 12 33 ea aa d1
|
||||
d9 35 3f 6c 42 d0 88 66
|
||||
b1 d0 5f
|
||||
02 1a 00 8a 15
|
||||
78 ac 5d 13 af 10 2b 22
|
||||
b9 99 cd 74 61 f1 5e 6d
|
||||
22 cc 03 23 df df 0b
|
||||
02
|
||||
1a 00 86 55 21 4a c5 4d
|
||||
8d 4e cd 61 77 f1 c7 36
|
||||
90 ce 2a 48 2c 8b 05 99
|
||||
cb e0 3f
|
||||
02 1a 00 83 ef
|
||||
ef b8 a9 a4 0d 1d b6 ed
|
||||
98 ad 84 ed 13 35 dc c1
|
||||
08 f3 22 d0 57 cf 8d
|
35
vendor/cryptopp/cryptopp/TestData/rsa512a.dat
vendored
Normal file
35
vendor/cryptopp/cryptopp/TestData/rsa512a.dat
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
30 82 01 50
|
||||
02 01 00
|
||||
30 0d
|
||||
06 09
|
||||
2a 86 48 86 f7 0d 01 01 01
|
||||
05 00
|
||||
04 82 01 3a
|
||||
30 82 01 36
|
||||
02 01 00
|
||||
02 40
|
||||
0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0
|
||||
c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51
|
||||
d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17
|
||||
01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab
|
||||
02 03 01 00 01
|
||||
02 40
|
||||
01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e
|
||||
a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0
|
||||
1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa
|
||||
87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81
|
||||
02 20
|
||||
33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f
|
||||
bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61
|
||||
02 20
|
||||
33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67
|
||||
38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b
|
||||
02 20
|
||||
04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af
|
||||
ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41
|
||||
02 20
|
||||
15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79
|
||||
81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59
|
||||
02 20
|
||||
2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae
|
||||
92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d
|
1
vendor/cryptopp/cryptopp/TestData/rw1024.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/rw1024.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082014D02818100BECF1F40456801F6965E603BEBB61F530F0B17BBCB00E3A8866EB9BC84AE3892A4CB040280F568FC650B1734014CA78A200D5E4AB394CBB75C0034DCC47643E6F576A39F850C5F4528048165B084C82E9BA6BA4CFBCB3980F1EB47EC2C348EF52A6225A85AF743DFCEF5CD4583EB0B9C0DA77ABEBEB5BCC513D81BD768B579AD024100F06CA9C1FBE20EE2440F3AB2F9A9787D820943EAF59B6B8D103CFAB1C2F595DDC99D05DC73F9D1DB780B6F8B26CF87E58EB870DD983A2515600DF80C3EBB7B1B024100CB2B9BDEB0D508E21E646C86D836442FC16910D68C8D1D18BB1327899A506C16C1162E93EA7C2CB576B750AEAB152255D5AB22632025CFFAD927A070CBAEA2D7024100C90A853BEC7C25D773FDDB95C11CEF9BB3F487953773F07E42DB9D011325AE2725663478FB7F0EC1A5608280D9656BF3B9F463FF8B23F1CA1B543508D51826E2
|
1
vendor/cryptopp/cryptopp/TestData/rw2048.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/rw2048.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
3082029002820101008F2975B4DA54179A6C81764DB9E6B50AD925C91568DFE2C245DF9103AF39370BD5F25CD26BF6E41B6FEB0E24473BBFAE89343BC20743057B056BD2189C01258650567A3EC24040EED7EEAF94B77BDD39529807D1FCF5FF4A90E6B42BA58FF1FDCDACF981C641B8F077ABBB41BEFD53CCABF06745CD009A7F9DFAA61ED03F11466E4B5370DFA18C7DFEA1689B60F98012CDE9131FE86F74BFC6B93AC449DA73A2366EA2AE2233AFFBFF0CDE1899B1F852C179639B31CEE11991AA8D46DB5067B0C5FFB3D913612668F0C43CA134B11875F271C0BC8722AF4AD6CC93A43CE165EF31C1EB542ECC7CA1A38BFDF66F3A2175E4EA7159E168FFE3A549535B90C7BBDD02818100C5CEBA84E8B7C20BAA6F450000803F15C1160EB7E0875EBBC15F11DC7E3CAFE55973234FF4C74589406D2950B0C236ABE1B5A5B70D55C035F45D87AF089847C0E2A2DEF23EA4CC19FB5419DF43577523248BEF80B94C59F7342C717F12DE68FEEADAD97BA2DD436834D8559D0A7A31D6F9D9480F852C285EFC75BCA8AF32590302818100B947440D272629155C2B3E0E62B76124281155F7A189650D36C8F7D742F7DBC571ADDCC582ED2ED283C2E8A1CD8C996D3D8A50F33C56581285C5016A16DEDA533715DF519CAB7777F3DCB9F5335552F315B44FF8126DFDDF60B66850AA8FD108ED3A248D18E7473D7967F0F15C740C67476A75273DA254AE5C7B94FB059DD19F0281801EE99173837363981E0988DE22B2E36BFC9713EDC8454BF1CB764D767DFDA985B9DBAA346C0C39B1A9F83D849502AFDD80AE33F588C114BC4DE5FA949125FF56908F8C66CDFF6BF601F1CBF463B0C807DEABB1290C358FC0433ED74EBA074CB211C4D75538ED017F497C9722D8C3D3E082BB4A8A92D5768B5D5963BBDB1DB24D
|
16
vendor/cryptopp/cryptopp/TestData/saferval.dat
vendored
Normal file
16
vendor/cryptopp/cryptopp/TestData/saferval.dat
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
0000000000000000 0000000000000000 032808C90EE7AB7F
|
||||
0000000000000000 0102030405060708 7D28038633B92EB4
|
||||
0102030405060708 1011121314151617 71E5CF7F083A59C5
|
||||
0102030405060708 18191A1B1C1D1E1F 356F702CC7FA8161
|
||||
08070605040302010807060504030201 5051525354555657 38E64DBF6E0F896E
|
||||
08070605040302010807060504030201 58595A5B5C5D5E5F 7D8F014A902480FE
|
||||
01020304050607080807060504030201 6061626364656667 113511C22E7936DF
|
||||
01020304050607080807060504030201 68696A6B6C6D6E6F 9EEB2D17C0581437
|
||||
0000000000000001 7071727374757677 9ABE2C85BE2D7614
|
||||
0000000000000001 78797A7B7C7D7E7F EBC4A9C6C25CF215
|
||||
0102030405060708 8081828384858687 54E72BA2D744C566
|
||||
0102030405060708 88898A8B8C8D8E8F 57F55D0F7EB6F8FE
|
||||
00000000000000010000000000000001 9091929394959697 9EAA4DF1E0EFF445
|
||||
00000000000000010000000000000001 98999A9B9C9D9E9F 4CC14838399E532D
|
||||
01020304050607080000000000000000 A0A1A2A3A4A5A6A7 41246B65F1DC6AFA
|
||||
00000000000000000102030405060708 A0A1A2A3A4A5A6A7 5CBD77B03626FE3B
|
12
vendor/cryptopp/cryptopp/TestData/serpentv.dat
vendored
Normal file
12
vendor/cryptopp/cryptopp/TestData/serpentv.dat
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f29273d78e b2288b968ae8b08648d1ce9606fd992d
|
||||
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f26d8c2871 563a8403ff5309d62370b1dcf5a11edd
|
||||
ffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 d5baa00a4bb9d8a7c981c8dc90d89d92
|
||||
ffeeddccbbaa99887766554433221100 145f0b8b663176b95dcab7e9dcd5cc24 1032547698badcfeefcdab8967452301
|
||||
80000000000000000000000000000000 00000000000000000000000000000000 264E5481EFF42A4606ABDA06C0BFDA3D
|
||||
000000000000000000000000000000000000000000000000 d29d576fceaba3a7ed9899f2927bd78e 130e353e1037c22405e8faefb2c3c3e9
|
||||
8899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 da860842b720802bf404a4c71034879a
|
||||
8899aabbccddeeffffeeddccbbaa99887766554433221100 b2696bd0d98c17953e4239225d27202c 1032547698badcfeefcdab8967452301
|
||||
000102030405060708090A0B0C0D0E0F1011121314151617 4528CACCB954D450655E8CFD71CBFAC7 00112233445566778899AABBCCDDEEFF
|
||||
0000000000000000000000000000000000000000000000000000000000000000 92074732d84e1841a013a0034c52bf50 81c4eb7b8ad9a8d0f2aa5d7bd626b560
|
||||
00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 93df9a3cafe387bd999eebe393a17fca
|
||||
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 3DA46FFA6F4D6F30CD258333E5A61369 00112233445566778899AABBCCDDEEFF
|
14
vendor/cryptopp/cryptopp/TestData/shacal2v.dat
vendored
Normal file
14
vendor/cryptopp/cryptopp/TestData/shacal2v.dat
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
80000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE
|
||||
00000000000000000000000000000001 0000000000000000000000000000000000000000000000000000000000000000 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001
|
||||
00000000000000000000000000000000 8000000000000000000000000000000000000000000000000000000000000000 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E
|
||||
00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6
|
||||
01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 0101010101010101010101010101010101010101010101010101010101010101 C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826
|
||||
02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 0202020202020202020202020202020202020202020202020202020202020202 CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF
|
||||
04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 0404040404040404040404040404040404040404040404040404040404040404 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586
|
||||
08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 0808080808080808080808080808080808080808080808080808080808080808 A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128
|
||||
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C
|
||||
20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020 E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4
|
||||
40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 4040404040404040404040404040404040404040404040404040404040404040 C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2
|
||||
80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 8080808080808080808080808080808080808080808080808080808080808080 C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A
|
7
vendor/cryptopp/cryptopp/TestData/sharkval.dat
vendored
Normal file
7
vendor/cryptopp/cryptopp/TestData/sharkval.dat
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
00000000000000000000000000000000 0000000000000000 214BCF4E7716420A
|
||||
000102030405060708090A0B0C0D0E0F 0000000000000000 C76C696289898137
|
||||
000102030405060708090A0B0C0D0E0F C76C696289898137 077A4A59FAEEEA4D
|
||||
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D 6FF33B98F448E95A
|
||||
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 E5E554ABE9CED2D2
|
||||
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 9AE068313F343A7A
|
||||
5269F149D41BA0152497574D7F153125 65C178B284D197CC D3F111A282F17F29
|
1
vendor/cryptopp/cryptopp/TestData/skipjack.dat
vendored
Normal file
1
vendor/cryptopp/cryptopp/TestData/skipjack.dat
vendored
Normal file
@ -0,0 +1 @@
|
||||
11223344556677889900 aabbccdd00112233 00d3127ae2ca8725
|
8
vendor/cryptopp/cryptopp/TestData/squareva.dat
vendored
Normal file
8
vendor/cryptopp/cryptopp/TestData/squareva.dat
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 3C00428F8ABBC0B84F057CC19C26F8CF
|
||||
000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 FF596FA668BFC3014200AE01E2BBA0A0
|
||||
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 7C3491D94994E70F0EC2E7A5CCB5A14F
|
||||
000102030405060708090A0B0C0D0E0F C76C696289898137077A4A59FAEEEA4D 88C6FF4B92604C6E66656B02DDAF9F40
|
||||
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D6FF33B98F448E95A 3388801F66E7FCC0BCE522A23A4F0C7F
|
||||
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952E5E554ABE9CED2D2 A1C0E9215141343DEC2B556942C92BDE
|
||||
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC929AE068313F343A7A 3FBE6811B998CDF3E50ABDE2F3C075E3
|
||||
5269F149D41BA0152497574D7F153125 65C178B284D197CCD3F111A282F17F29 D7B7209E0879744C782809B6D2E0B1B0
|
9
vendor/cryptopp/cryptopp/TestData/twofishv.dat
vendored
Normal file
9
vendor/cryptopp/cryptopp/TestData/twofishv.dat
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
00000000000000000000000000000000 00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A
|
||||
00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419
|
||||
9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3
|
||||
D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 6363977DE839486297E661C6C9D668EB
|
||||
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 EFA71F788965BD4453F860178FC19101
|
||||
EFA71F788965BD4453F860178FC191010000000000000000 88B2B2706B105E36B446BB6D731A1E88 39DA69D6BA4997D585B6DC073CA341B2
|
||||
88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 39DA69D6BA4997D585B6DC073CA341B2 182B02D81497EA45F9DAACDC29193A65
|
||||
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 57FF739D4DC92C1BD7FC01700CC8216F
|
||||
D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F 90AFE91BB288544F2C32DC239B2635E6 6CB4561C40BF0A9705931CB6D408E7FA
|
81
vendor/cryptopp/cryptopp/TestData/usage.dat
vendored
Normal file
81
vendor/cryptopp/cryptopp/TestData/usage.dat
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
Test Driver for Crypto++(R) Library, a C++ Class Library of Cryptographic Schemes
|
||||
|
||||
- To generate an RSA key
|
||||
cryptest g
|
||||
|
||||
- To encrypt and decrypt a string using RSA
|
||||
cryptest r
|
||||
|
||||
- To sign a file using RSA
|
||||
cryptest rs privatekeyfile messagefile signaturefile
|
||||
|
||||
- To verify a signature of a file using RSA
|
||||
cryptest rv publickeyfile messagefile signaturefile
|
||||
|
||||
- To digest a file using several hash functions in parallel
|
||||
cryptest m file
|
||||
|
||||
- To encrypt and decrypt a string using DES-EDE in CBC mode
|
||||
cryptest t
|
||||
|
||||
- To encrypt or decrypt a file
|
||||
cryptest e|d input output
|
||||
|
||||
- To secret share a file (shares will be named file.000, file.001, etc)
|
||||
cryptest ss threshold number-of-shares file
|
||||
|
||||
- To reconstruct a secret-shared file
|
||||
cryptest sr file share1 share2 [....]
|
||||
(number of shares given must be equal to threshold)
|
||||
|
||||
- To information disperse a file (shares will be named file.000, file.001, etc)
|
||||
cryptest id threshold number-of-shares file
|
||||
|
||||
- To reconstruct an information-dispersed file
|
||||
cryptest ir file share1 share2 [....]
|
||||
(number of shares given must be equal to threshold)
|
||||
|
||||
- To gzip a file
|
||||
cryptest z compression-level input output
|
||||
|
||||
- To gunzip a file
|
||||
cryptest u input output
|
||||
|
||||
- To encrypt a file with AES in CTR mode
|
||||
cryptest ae input output
|
||||
|
||||
- To base64 encode a file
|
||||
cryptest e64 input output
|
||||
|
||||
- To base64 decode a file
|
||||
cryptest d64 input output
|
||||
|
||||
- To hex encode a file
|
||||
cryptest e16 input output
|
||||
|
||||
- To hex decode a file
|
||||
cryptest d16 input output
|
||||
|
||||
- To forward a TCP connection
|
||||
cryptest ft source-port destination-host destination-port
|
||||
|
||||
- To run the FIPS 140-2 sample application
|
||||
cryptest fips
|
||||
|
||||
- To generate 100000 random files using FIPS Approved X.917 RNG
|
||||
cryptest fips-rand
|
||||
|
||||
- To run Maurer's randomness test on a file
|
||||
cryptest mt input
|
||||
|
||||
- To run a test script (available in TestVectors subdirectory)
|
||||
cryptest tv filename
|
||||
|
||||
- To run validation tests
|
||||
cryptest v
|
||||
|
||||
- To display version number
|
||||
cryptest V
|
||||
|
||||
- To run benchmarks
|
||||
cryptest b [time allocated for each benchmark in seconds] [frequency of CPU in gigahertz]
|
3
vendor/cryptopp/cryptopp/TestData/xtrdh171.dat
vendored
Normal file
3
vendor/cryptopp/cryptopp/TestData/xtrdh171.dat
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
305F02160559DCD66A95A57249A15BAD6B431BF2CD58615B901D02153365CFA0D3B1B6577B2DB243
|
||||
DDE45EDB91C18B0F5F0216032F4EBA0911B3D0B14F6F1292A74DFFD4A8FCF22C1802160211CB3EDA
|
||||
809FA0FF8C3A8AE691EC4C95A06A3395CF
|
5
vendor/cryptopp/cryptopp/TestData/xtrdh342.dat
vendored
Normal file
5
vendor/cryptopp/cryptopp/TestData/xtrdh342.dat
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
3081A6022B28E3FED51D3D861D962B0A16A92ACDB380ADAFB478CA555004C3AF387F853F9DE9921C
|
||||
7DCB40098D25C757021D03094844F135A3A50049A848C3FC02412FCBED6040FB1BDE99A4D93E3B02
|
||||
2B13F411960B85F9B031A247E072046892B1EE6C95A47242A839F8E24B96B88F37B4BDA2C6D253BC
|
||||
0AAF29F1022B0D2AFE639D324E558B2B312E435E03957769D745C881D259DDFD2F48F9C08F82ECCF
|
||||
F4E7ADD47C705896D0
|
9
vendor/cryptopp/cryptopp/TestScripts/change-version.sh
vendored
Executable file
9
vendor/cryptopp/cryptopp/TestScripts/change-version.sh
vendored
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Use this script to switch back to the previous Crypto++ version before
|
||||
# building the docs. Before running the script, copy it to the root
|
||||
# directory. After running this script, you can 'make docs'
|
||||
|
||||
sed -i 's|Library 6.2 API|Library 6.1 API|g' cryptlib.h
|
||||
sed -i 's|= 6.2|= 6.1|g' Doxyfile
|
||||
sed -i 's|CRYPTOPP_VERSION 620|CRYPTOPP_VERSION 610|g' config.h
|
30
vendor/cryptopp/cryptopp/TestScripts/coverity-linux.txt
vendored
Normal file
30
vendor/cryptopp/cryptopp/TestScripts/coverity-linux.txt
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
# coverity-linux.txt - Scan build submission instructions for Unix and Linux.
|
||||
# Written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
# Copyright assigned to Crypto++ project.
|
||||
#
|
||||
# The following are copy/paste instructions for invoking cov-build, building the library and submitting the artifacts for a scan.
|
||||
#
|
||||
# For more information see http://cryptopp.com/wiki/Coverity_Scan.
|
||||
|
||||
##################################################################
|
||||
|
||||
reset
|
||||
|
||||
make distclean &>/dev/null
|
||||
|
||||
# Usually we test with these flags
|
||||
# CXXFLAGS="-DNDEBUG -g3 -O2"
|
||||
cov-build --dir cov-int make -j 2
|
||||
|
||||
tar czvf cryptopp.tgz cov-int
|
||||
|
||||
CRYPTOPP_COVERITY_TOKEN=XXXXXXXXXXXXXXXX
|
||||
COVERITY_SCAN_NAME="Rijndael-AliasedTable-SSE2-Linux-i686"
|
||||
|
||||
curl \
|
||||
--form token="$CRYPTOPP_COVERITY_TOKEN" \
|
||||
--form email=webmaster@cryptopp.com \
|
||||
--form file=@cryptopp.tgz \
|
||||
--form version="$COVERITY_SCAN_NAME" \
|
||||
--form description="$COVERITY_SCAN_NAME" \
|
||||
https://scan.coverity.com/builds?project=Cryptopp
|
36
vendor/cryptopp/cryptopp/TestScripts/coverity-macosx.txt
vendored
Normal file
36
vendor/cryptopp/cryptopp/TestScripts/coverity-macosx.txt
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
# coverity-linux.txt - Scan build submission instructions for Unix and Linux.
|
||||
# Written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
# Copyright assigned to Crypto++ project.
|
||||
#
|
||||
# The following are copy/paste instructions for invoking cov-build, building the library and submitting the artifacts for a scan.
|
||||
#
|
||||
# For more information see http://cryptopp.com/wiki/Coverity_Scan.
|
||||
|
||||
##################################################################
|
||||
|
||||
reset
|
||||
|
||||
make distclean &>/dev/null
|
||||
|
||||
# Usually we test with these flags
|
||||
CXXFLAGS="-DNDEBUG -g3 -O2" cov-build --dir cov-int make -j 2
|
||||
|
||||
# Sometimes we need these flags (add COVERITY_UNSUPPORTED)
|
||||
# COVERITY_UNSUPPORTED=1 CXXFLAGS="-DNDEBUG -g3 -O2" cov-build --dir cov-int make -j 2
|
||||
|
||||
# Sometimes we need these flags (alternate compile, C++11)
|
||||
# CXX=/opt/local/bin/clang++-mp-3.7 COVERITY_UNSUPPORTED=1 CXXFLAGS="-DNDEBUG -g3 -O2 -std=c++11" cov-build --dir cov-int make -j 2
|
||||
|
||||
|
||||
tar czvf cryptopp.tgz cov-int
|
||||
|
||||
CRYPTOPP_COVERITY_TOKEN=XXXXXXXXXXXXXXXX
|
||||
COVERITY_SCAN_NAME="Cryptopp-MacOSX-x86_64"
|
||||
|
||||
curl
|
||||
--form token="$CRYPTOPP_COVERITY_TOKEN" \
|
||||
--form email=webmaster@cryptopp.com \
|
||||
--form file=@cryptopp.tgz \
|
||||
--form version="$COVERITY_SCAN_NAME" \
|
||||
--form description="$COVERITY_SCAN_NAME" \
|
||||
https://scan.coverity.com/builds?project=Cryptopp
|
30
vendor/cryptopp/cryptopp/TestScripts/coverity-windows.txt
vendored
Normal file
30
vendor/cryptopp/cryptopp/TestScripts/coverity-windows.txt
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
REM coverity-windows.txt - Scan build submission instructions for Windows using cryptest.nmake.
|
||||
REM Written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
REM Copyright assigned to Crypto++ project.
|
||||
REM
|
||||
REM The following are copy/paste instructions for invoking cov-build, building the library and
|
||||
REM submitting the artifacts for a scan. Also see http://cryptopp.com/wiki/Coverity_Scan.
|
||||
|
||||
REM ################################################################
|
||||
|
||||
cls
|
||||
|
||||
del /f cryptopp.zip
|
||||
rmdir /q /s cov-int
|
||||
nmake /f cryptest.nmake clean
|
||||
|
||||
REM Uncomment CXXFLAGS in makefile. Pay attention to X86, X64 or ARM
|
||||
cov-build.exe --dir cov-int nmake /f cryptest.nmake
|
||||
|
||||
7z.exe a -r -tzip -mx=9 cryptopp.zip cov-int
|
||||
|
||||
set CRYPTOPP_COVERITY_TOKEN=XXXXXXXXXXXXXXXX
|
||||
set COVERITY_SCAN_NAME=Rijndael-AliasedTable-SSE2-Windows-X64
|
||||
|
||||
curl.exe ^
|
||||
--form token="%CRYPTOPP_COVERITY_TOKEN%" ^
|
||||
--form email=webmaster@cryptopp.com ^
|
||||
--form file=@cryptopp.zip ^
|
||||
--form version="%COVERITY_SCAN_NAME%" ^
|
||||
--form description="%COVERITY_SCAN_NAME%" ^
|
||||
https://scan.coverity.com/builds?project=Cryptopp
|
18
vendor/cryptopp/cryptopp/TestScripts/cryptdll-windows.cmd
vendored
Executable file
18
vendor/cryptopp/cryptopp/TestScripts/cryptdll-windows.cmd
vendored
Executable file
@ -0,0 +1,18 @@
|
||||
REM cryptdll-windows.cmd - written and placed in public domain by Jeffrey Walton
|
||||
REM Copyright assigned to the Crypto++ project.
|
||||
REM
|
||||
REM For details see https://cryptopp.com/wiki/MSBuild_(Command_Line)
|
||||
REM
|
||||
|
||||
REM Build the Win32/Debug cryptest.exe
|
||||
msbuild /t:Build /p:Configuration=Debug;Platform=Win32 cryptlib.vcxproj
|
||||
msbuild /t:Build /p:Configuration=Debug;Platform=Win32 cryptest.vcxproj
|
||||
|
||||
REM Build the Win32/Release cryptopp.dll
|
||||
msbuild /t:Build /p:Configuration=Release;Platform=Win32 cryptdll.vcxproj
|
||||
|
||||
REM Build the FIPS test driver
|
||||
msbuild /t:Build /p:Configuration=Release;Platform=Win32 dlltest.vcxproj
|
||||
|
||||
REM Run the FIPS test driver
|
||||
.\Win32\DLL_Output\Release\dlltest.exe
|
65
vendor/cryptopp/cryptopp/TestScripts/cryptest-android.sh
vendored
Executable file
65
vendor/cryptopp/cryptopp/TestScripts/cryptest-android.sh
vendored
Executable file
@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ====================================================================
|
||||
# Tests Android cross-compiles
|
||||
#
|
||||
# Crypto++ Library is copyrighted as a compilation and (as of version 5.6.2)
|
||||
# licensed under the Boost Software License 1.0, while the individual files
|
||||
# in the compilation are all public domain.
|
||||
#
|
||||
# See http://www.cryptopp.com/wiki/Android_(Command_Line) for more details
|
||||
# ====================================================================
|
||||
set +e
|
||||
|
||||
if [ -z "${PLATFORM-}" ]; then
|
||||
PLATFORMS=(armeabi armeabi-v7a armv7a-neon aarch64 mipsel mipsel64 x86 x86_64)
|
||||
else
|
||||
PLATFORMS=(${PLATFORM})
|
||||
fi
|
||||
RUNTIMES=(gnu-static gnu-shared stlport-static stlport-shared) #llvm-static llvm-shared
|
||||
for platform in ${PLATFORMS[@]}
|
||||
do
|
||||
for runtime in ${RUNTIMES[@]}
|
||||
do
|
||||
make -f GNUmakefile-cross distclean > /dev/null 2>&1
|
||||
|
||||
echo
|
||||
echo "===================================================================="
|
||||
echo "Testing for Android support of $platform using $runtime"
|
||||
|
||||
# Test if we can set the environment for the platform
|
||||
./setenv-android.sh "$platform" "$runtime"
|
||||
|
||||
if [ "$?" -eq "0" ]; then
|
||||
echo
|
||||
echo "Building for $platform using $runtime..."
|
||||
echo
|
||||
|
||||
# run in subshell to not keep any env vars
|
||||
(
|
||||
. ./setenv-android.sh "$platform" "$runtime" > /dev/null 2>&1
|
||||
make -f GNUmakefile-cross static dynamic cryptest.exe
|
||||
if [ "$?" -eq "0" ]; then
|
||||
echo "$platform:$runtime ==> SUCCESS" >> /tmp/build.log
|
||||
else
|
||||
echo "$platform:$runtime ==> FAILURE" >> /tmp/build.log
|
||||
touch /tmp/build.failed
|
||||
fi
|
||||
)
|
||||
else
|
||||
echo
|
||||
echo "$platform with $runtime not supported by Android"
|
||||
echo "$platform:$runtime ==> FAILURE" >> /tmp/build.log
|
||||
touch /tmp/build.failed
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
cat /tmp/build.log
|
||||
|
||||
# let the script fail if any of the builds failed
|
||||
if [ -f /tmp/build.failed ]; then
|
||||
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 0 || return 0
|
12
vendor/cryptopp/cryptopp/TestScripts/cryptest-coverity.cpp
vendored
Normal file
12
vendor/cryptopp/cryptopp/TestScripts/cryptest-coverity.cpp
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
// cryptest-coverity.cpp - Coverity modeling file.
|
||||
// Written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
//
|
||||
// For more information see http://cryptopp.com/wiki/Coverity_Scan.
|
||||
//
|
||||
// Also see https://scan.coverity.com/tune#what-is-model
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
void special_abort(const char* msg) {
|
||||
__coverity_panic__();
|
||||
}
|
61
vendor/cryptopp/cryptopp/TestScripts/cryptest-ios.sh
vendored
Executable file
61
vendor/cryptopp/cryptopp/TestScripts/cryptest-ios.sh
vendored
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ====================================================================
|
||||
# Tests iOS cross-compiles
|
||||
#
|
||||
# Crypto++ Library is copyrighted as a compilation and (as of version 5.6.2)
|
||||
# licensed under the Boost Software License 1.0, while the individual files
|
||||
# in the compilation are all public domain.
|
||||
#
|
||||
# See http://www.cryptopp.com/wiki/iOS_(Command_Line) for more details
|
||||
# ====================================================================
|
||||
|
||||
if [ -z "${PLATFORM-}" ]; then
|
||||
PLATFORMS=(iPhoneOS iPhoneSimulator WatchOS WatchSimulator AppleTVOS AppleTVSimulator)
|
||||
else
|
||||
PLATFORMS=(${PLATFORM})
|
||||
fi
|
||||
|
||||
for platform in ${PLATFORMS[@]}
|
||||
do
|
||||
make -f GNUmakefile-cross distclean > /dev/null 2>&1
|
||||
|
||||
echo
|
||||
echo "====================================================="
|
||||
echo "Testing for iOS support of $platform"
|
||||
|
||||
# Test if we can set the environment for the platform
|
||||
./setenv-ios.sh "$platform"
|
||||
|
||||
if [ "$?" -eq "0" ]; then
|
||||
echo
|
||||
echo "Building for $platform using $runtime..."
|
||||
echo
|
||||
|
||||
# run in subshell to not keep any env vars
|
||||
(
|
||||
. ./setenv-ios.sh "$platform" > /dev/null 2>&1
|
||||
make -f GNUmakefile-cross static dynamic cryptest.exe
|
||||
if [ "$?" -eq "0" ]; then
|
||||
echo "$platform ==> SUCCESS" >> /tmp/build.log
|
||||
else
|
||||
echo "$platform ==> FAILURE" >> /tmp/build.log
|
||||
touch /tmp/build.failed
|
||||
fi
|
||||
)
|
||||
else
|
||||
echo
|
||||
echo "$platform not supported by Xcode"
|
||||
echo "$platform ==> FAILURE" >> /tmp/build.log
|
||||
touch /tmp/build.failed
|
||||
fi
|
||||
done
|
||||
|
||||
cat /tmp/build.log
|
||||
|
||||
# let the script fail if any of the builds failed
|
||||
if [ -f /tmp/build.failed ]; then
|
||||
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 0 || return 0
|
332
vendor/cryptopp/cryptopp/TestScripts/cryptest-symbols.sh
vendored
Executable file
332
vendor/cryptopp/cryptopp/TestScripts/cryptest-symbols.sh
vendored
Executable file
@ -0,0 +1,332 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# cryptest.sh - written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
# Copyright assigned to Crypto++ project.
|
||||
|
||||
# This is a test script that can be used on some Linux/Unix/Apple machines to automate testing
|
||||
# of the shared object to ensure linking and symbols don't go missing from release to release.
|
||||
|
||||
############################################
|
||||
# Tags to test
|
||||
|
||||
OLD_VERSION_TAG=CRYPTOPP_6_1_0
|
||||
NEW_VERSION_TAG=master
|
||||
|
||||
############################################
|
||||
# If local repo is dirty, then promt first
|
||||
|
||||
DIRTY=$(git diff --shortstat 2> /dev/null | tail -1)
|
||||
if [[ ! (-z "$DIRTY") ]]; then
|
||||
|
||||
echo
|
||||
echo "The local repo is dirty. Continuing will reset the repo and lose changes."
|
||||
read -p "Type 'Y' to proceed or 'N' to exit. Proceed? " -n 1 -r
|
||||
echo # (optional) move to a new line
|
||||
if [[ !($REPLY =~ ^[Yy]$) ]]; then
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 0 || return 0
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "The local repo is clean. Proceeding..."
|
||||
fi
|
||||
|
||||
############################################
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "****************************************************************"
|
||||
echo "Testing '$NEW_VERSION_TAG' against '$OLD_VERSION_TAG'"
|
||||
echo "****************************************************************"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
############################################
|
||||
# Setup tools and platforms
|
||||
|
||||
GREP=grep
|
||||
EGREP=egrep
|
||||
SED=sed
|
||||
AWK=awk
|
||||
CXXFILT=c++filt
|
||||
|
||||
THIS_SYSTEM=$(uname -s 2>&1)
|
||||
IS_DARWIN=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c darwin)
|
||||
IS_LINUX=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c linux)
|
||||
IS_CYGWIN=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c cygwin)
|
||||
IS_MINGW=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c mingw)
|
||||
IS_OPENBSD=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c openbsd)
|
||||
IS_FREEBSD=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c freebsd)
|
||||
IS_NETBSD=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c netbsd)
|
||||
IS_SOLARIS=$(echo -n "$THIS_SYSTEM" | "$GREP" -i -c sunos)
|
||||
|
||||
THIS_MACHINE=$(uname -m 2>&1)
|
||||
IS_X86=$(echo -n "$THIS_MACHINE" | "$EGREP" -i -c "(i386|i486|i586|i686)")
|
||||
IS_X64=$(echo -n "$THIS_MACHINE" | "$EGREP" -i -c "(amd64|x86_64)")
|
||||
IS_PPC=$(echo -n "$THIS_MACHINE" | "$EGREP" -i -c "(Power|PPC)")
|
||||
IS_ARM32=$(echo -n "$THIS_MACHINE" | "$GREP" -v "64" | "$EGREP" -i -c "(arm|aarch32)")
|
||||
IS_ARM64=$(echo -n "$THIS_MACHINE" | "$EGREP" -i -c "(arm64|aarch64)")
|
||||
IS_S390=$(echo -n "$THIS_MACHINE" | "$EGREP" -i -c "s390")
|
||||
IS_X32=0
|
||||
|
||||
# Fixup
|
||||
if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||
IS_X64=$(isainfo 2>/dev/null | "$GREP" -i -c "amd64")
|
||||
if [[ "$IS_X64" -ne "0" ]]; then
|
||||
IS_X86=0
|
||||
fi
|
||||
|
||||
# Need something more powerful than the Posix versions
|
||||
if [[ (-e "/usr/gnu/bin/grep") ]]; then
|
||||
GREP=/usr/gnu/bin/grep
|
||||
fi
|
||||
if [[ (-e "/usr/gnu/bin/egrep") ]]; then
|
||||
EGREP=/usr/gnu/bin/egrep
|
||||
fi
|
||||
if [[ (-e "/usr/gnu/bin/sed") ]]; then
|
||||
SED=/usr/gnu/bin/sed
|
||||
fi
|
||||
if [[ (-e "/usr/gnu/bin/c++filt") ]]; then
|
||||
CXXFILT=/usr/gnu/bin/c++filt
|
||||
fi
|
||||
if [[ (-e "/usr/gnu/bin/awk") ]]; then
|
||||
AWK=/usr/gnu/bin/awk
|
||||
else
|
||||
AWK=nawk;
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
SED_OPTS=(-i '')
|
||||
else
|
||||
SED_OPTS=(-i)
|
||||
fi
|
||||
|
||||
# Fixup
|
||||
if [[ ("$IS_FREEBSD" -ne "0" || "$IS_OPENBSD" -ne "0" || "$IS_NETBSD" -ne "0") ]]; then
|
||||
MAKE=gmake
|
||||
elif [[ ("$IS_SOLARIS" -ne "0") ]]; then
|
||||
MAKE=$(which gmake 2>/dev/null | "$GREP" -v "no gmake" | head -1)
|
||||
if [[ (-z "$MAKE") && (-e "/usr/sfw/bin/gmake") ]]; then
|
||||
MAKE=/usr/sfw/bin/gmake
|
||||
fi
|
||||
else
|
||||
MAKE=make
|
||||
fi
|
||||
|
||||
# We need to use the C++ compiler to determine feature availablility. Otherwise
|
||||
# mis-detections occur on a number of platforms.
|
||||
if [[ ((-z "$CXX") || ("$CXX" == "gcc")) ]]; then
|
||||
if [[ ("$CXX" == "gcc") ]]; then
|
||||
CXX=g++
|
||||
elif [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
CXX=c++
|
||||
elif [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||
if [[ (-e "/opt/developerstudio12.5/bin/CC") ]]; then
|
||||
CXX=/opt/developerstudio12.5/bin/CC
|
||||
elif [[ (-e "/opt/solarisstudio12.4/bin/CC") ]]; then
|
||||
CXX=/opt/solarisstudio12.4/bin/CC
|
||||
elif [[ (-e "/opt/solarisstudio12.3/bin/CC") ]]; then
|
||||
CXX=/opt/solarisstudio12.3/bin/CC
|
||||
elif [[ (-e "/opt/solstudio12.2/bin/CC") ]]; then
|
||||
CXX=/opt/solstudio12.2/bin/CC
|
||||
elif [[ (-e "/opt/solstudio12.1/bin/CC") ]]; then
|
||||
CXX=/opt/solstudio12.1/bin/CC
|
||||
elif [[ (-e "/opt/solstudio12.0/bin/CC") ]]; then
|
||||
CXX=/opt/solstudio12.0/bin/CC
|
||||
elif [[ (! -z $(which CC 2>/dev/null | "$GREP" -v "no CC" | head -1)) ]]; then
|
||||
CXX=$(which CC | head -1)
|
||||
elif [[ (! -z $(which g++ 2>/dev/null | "$GREP" -v "no g++" | head -1)) ]]; then
|
||||
CXX=$(which g++ | head -1)
|
||||
else
|
||||
CXX=CC
|
||||
fi
|
||||
elif [[ ($(which g++ 2>&1 | "$GREP" -v "no g++" | "$GREP" -i -c g++) -ne "0") ]]; then
|
||||
CXX=g++
|
||||
else
|
||||
CXX=c++
|
||||
fi
|
||||
fi
|
||||
|
||||
SUN_COMPILER=$("$CXX" -V 2>&1 | "$EGREP" -i -c "CC: (Sun|Studio)")
|
||||
GCC_COMPILER=$("$CXX" --version 2>&1 | "$GREP" -i -v "clang" | "$EGREP" -i -c "(gcc|g\+\+)")
|
||||
INTEL_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "\(icc\)")
|
||||
MACPORTS_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "MacPorts")
|
||||
CLANG_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "clang")
|
||||
|
||||
if [[ ("$SUN_COMPILER" -eq "0") ]]; then
|
||||
AMD64=$("$CXX" -dM -E - </dev/null 2>/dev/null | "$EGREP" -c "(__x64_64__|__amd64__)")
|
||||
ILP32=$("$CXX" -dM -E - </dev/null 2>/dev/null | "$EGREP" -c "(__ILP32__|__ILP32)")
|
||||
if [[ ("$AMD64" -ne "0") && ("$ILP32" -ne "0") ]]; then
|
||||
IS_X32=1
|
||||
fi
|
||||
fi
|
||||
|
||||
############################################
|
||||
|
||||
# CPU is logical count, memory is in MiB. Low resource boards have
|
||||
# fewer than 4 cores and 1GB or less memory. We use this to
|
||||
# determine if we can build in parallel without an OOM kill.
|
||||
CPU_COUNT=1
|
||||
MEM_SIZE=512
|
||||
|
||||
if [[ (-e "/proc/cpuinfo") && (-e "/proc/meminfo") ]]; then
|
||||
CPU_COUNT=$(cat /proc/cpuinfo | "$GREP" -c '^processor')
|
||||
MEM_SIZE=$(cat /proc/meminfo | "$GREP" "MemTotal" | "$AWK" '{print $2}')
|
||||
MEM_SIZE=$(($MEM_SIZE/1024))
|
||||
elif [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
CPU_COUNT=$(sysctl -a 2>&1 | "$GREP" 'hw.availcpu' | "$AWK" '{print $3; exit}')
|
||||
MEM_SIZE=$(sysctl -a 2>&1 | "$GREP" 'hw.memsize' | "$AWK" '{print $3; exit;}')
|
||||
MEM_SIZE=$(($MEM_SIZE/1024/1024))
|
||||
elif [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||
CPU_COUNT=$(psrinfo 2>/dev/null | wc -l | "$AWK" '{print $1}')
|
||||
MEM_SIZE=$(prtconf 2>/dev/null | "$GREP" Memory | "$AWK" '{print $3}')
|
||||
fi
|
||||
|
||||
# Some ARM devboards cannot use 'make -j N', even with multiple cores and RAM
|
||||
# An 8-core Cubietruck Plus with 2GB RAM experiences OOM kills with '-j 2'.
|
||||
HAVE_SWAP=1
|
||||
if [[ "$IS_LINUX" -ne "0" ]]; then
|
||||
if [[ (-e "/proc/meminfo") ]]; then
|
||||
SWAP_SIZE=$(cat /proc/meminfo | "$GREP" "SwapTotal" | "$AWK" '{print $2}')
|
||||
if [[ "$SWAP_SIZE" -eq "0" ]]; then
|
||||
HAVE_SWAP=0
|
||||
fi
|
||||
else
|
||||
HAVE_SWAP=0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ("$CPU_COUNT" -ge "2" && "$MEM_SIZE" -ge "1280" && "$HAVE_SWAP" -ne "0") ]]; then
|
||||
if [[ ("$WANT_NICE" -eq "1") ]]; then
|
||||
CPU_COUNT=$(echo -n "$CPU_COUNT 2" | "$AWK" '{print int($1/$2)}')
|
||||
fi
|
||||
MAKEARGS=(-j "$CPU_COUNT")
|
||||
fi
|
||||
|
||||
###############################################################################
|
||||
###############################################################################
|
||||
|
||||
"$MAKE" distclean &>/dev/null
|
||||
|
||||
rm -f GNUmakefile-symbols
|
||||
|
||||
git checkout master -f &>/dev/null
|
||||
cp GNUmakefile GNUmakefile-symbols
|
||||
|
||||
git checkout "$OLD_VERSION_TAG" -f &>/dev/null
|
||||
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "Failed to checkout $OLD_VERSION_TAG"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Patching makefile for dynamic linking by cryptest.exe"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
"$SED" "$SED_OPTS" -e 's|libcryptopp.a $(TESTOBJS)|libcryptopp.dylib $(TESTOBJS)|g' GNUmakefile-symbols
|
||||
"$SED" "$SED_OPTS" -e 's|$(TESTOBJS) ./libcryptopp.a |$(TESTOBJS) ./libcryptopp.dylib |g' GNUmakefile-symbols
|
||||
else
|
||||
"$SED" "$SED_OPTS" -e 's|libcryptopp.a $(TESTOBJS)|libcryptopp.so $(TESTOBJS)|g' GNUmakefile-symbols
|
||||
"$SED" "$SED_OPTS" -e 's|$(TESTOBJS) ./libcryptopp.a |$(TESTOBJS) ./libcryptopp.so |g' GNUmakefile-symbols
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Building dynamic library for $OLD_VERSION_TAG"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
"$MAKE" "${MAKEARGS[@]}" -f GNUmakefile-symbols dynamic
|
||||
|
||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
LIBNAME=libcryptopp.dylib
|
||||
else
|
||||
LIBNAME=libcryptopp.so
|
||||
fi
|
||||
|
||||
if [[ ! -f "$LIBNAME" ]]; then
|
||||
echo "Failed to make $OLD_VERSION_TAG library"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Building cryptest.exe for $OLD_VERSION_TAG"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
"$MAKE" "${MAKEARGS[@]}" -f GNUmakefile-symbols cryptest.exe
|
||||
|
||||
if [[ ! -f "cryptest.exe" ]]; then
|
||||
echo "Failed to make cryptest.exe"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Running $OLD_VERSION_TAG cryptest.exe using $OLD_VERSION_TAG library"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
DYLD_LIBRARY_PATH="$PWD:$DYLD_LIBRARY_PATH" "$PWD/cryptest.exe" v 2>&1 | "$CXXFILT"
|
||||
DYLD_LIBRARY_PATH="$PWD:$DYLD_LIBRARY_PATH" "$PWD/cryptest.exe" tv all 2>&1 | "$CXXFILT"
|
||||
else
|
||||
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" "$PWD/cryptest.exe" v 2>&1 | "$CXXFILT"
|
||||
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" "$PWD/cryptest.exe" tv all 2>&1 | "$CXXFILT"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Removing dynamic library for $OLD_VERSION_TAG"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
rm -f adhoc.cpp *.o *.so *.dylib
|
||||
|
||||
git checkout "$NEW_VERSION_TAG" -f &>/dev/null
|
||||
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "Failed to checkout $OLD_VERSION_TAG"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Building dynamic library for $NEW_VERSION_TAG"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
"$MAKE" "${MAKEARGS[@]}" -f GNUmakefile-symbols dynamic
|
||||
|
||||
if [[ ! -f "$LIBNAME" ]]; then
|
||||
echo "Failed to make $NEW_VERSION_TAG library"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "****************************************************************"
|
||||
echo "Running $OLD_VERSION_TAG cryptest.exe using $NEW_VERSION_TAG library"
|
||||
echo "****************************************************************"
|
||||
echo
|
||||
|
||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||
DYLD_LIBRARY_PATH="$PWD:$DYLD_LIBRARY_PATH" "$PWD/cryptest.exe" v 2>&1 | "$CXXFILT"
|
||||
DYLD_LIBRARY_PATH="$PWD:$DYLD_LIBRARY_PATH" "$PWD/cryptest.exe" tv all 2>&1 | "$CXXFILT"
|
||||
else
|
||||
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" "$PWD/cryptest.exe" v 2>&1 | "$CXXFILT"
|
||||
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" "$PWD/cryptest.exe" tv all 2>&1 | "$CXXFILT"
|
||||
fi
|
||||
|
||||
git checkout master -f &>/dev/null
|
||||
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "Failed to checkout Master"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 0 || return 0
|
6
vendor/cryptopp/cryptopp/TestScripts/cryptest-tidy.sh
vendored
Executable file
6
vendor/cryptopp/cryptopp/TestScripts/cryptest-tidy.sh
vendored
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
for file in $(find . -maxdepth 1 -type f -name '*.cpp'); do
|
||||
echo "Tidying $file"
|
||||
clang-tidy $file -checks=-clang-analyzer-optin.cplusplus.VirtualCall -- -std=c++03
|
||||
done
|
7116
vendor/cryptopp/cryptopp/TestScripts/cryptest.sh
vendored
Executable file
7116
vendor/cryptopp/cryptopp/TestScripts/cryptest.sh
vendored
Executable file
File diff suppressed because it is too large
Load Diff
55
vendor/cryptopp/cryptopp/TestScripts/governor.sh
vendored
Executable file
55
vendor/cryptopp/cryptopp/TestScripts/governor.sh
vendored
Executable file
@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This scripts queries and modifies CPU scaling frequencies to produce more
|
||||
# accurate benchmark results. To move from a low energy state C-state to a
|
||||
# higher one, run 'governor.sh performance'. To move back to a low power state
|
||||
# run 'governor.sh powersave' or reboot. The script is based on code by
|
||||
# Andy Polyakov, http://www.openssl.org/~appro/cryptogams/.
|
||||
|
||||
if [ "x$1" = "x" ]; then
|
||||
echo "usage: $0 on[demand]|pe[rformance]|po[wersave]|us[erspace]?"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# "on demand" may result in a "invalid write argument" or similar
|
||||
case $1 in
|
||||
on*|de*) governor="ondemand";;
|
||||
po*|pw*) governor="powersave";;
|
||||
pe*) governor="performance";;
|
||||
us*) governor="userspace";;
|
||||
\?) ;;
|
||||
*) echo "$1: unrecognized governor";;
|
||||
esac
|
||||
|
||||
if [ -z "$governor" ]; then
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
cpus=$(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 2>/dev/null)
|
||||
|
||||
if [ -z "$cpus" ]; then
|
||||
echo "Failed to read CPU system device tree"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
echo "Current CPU governor scaling settings:"
|
||||
count=0
|
||||
for cpu in $cpus; do
|
||||
echo " CPU $count:" $(cat "$cpu")
|
||||
((count++))
|
||||
done
|
||||
|
||||
if [ "x$governor" != "x" ]; then
|
||||
for cpu in $cpus; do
|
||||
echo $governor > $cpu
|
||||
done
|
||||
fi
|
||||
|
||||
echo "New CPU governor scaling settings:"
|
||||
count=0
|
||||
for cpu in $cpus; do
|
||||
echo " CPU $count:" $(cat "$cpu")
|
||||
((count++))
|
||||
done
|
||||
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 0 || return 0
|
17
vendor/cryptopp/cryptopp/TestScripts/install-android.sh
vendored
Executable file
17
vendor/cryptopp/cryptopp/TestScripts/install-android.sh
vendored
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# install android deps
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get -qq install --no-install-recommends openjdk-8-jdk unzip
|
||||
|
||||
# android skd/ndk
|
||||
curl -Lo /tmp/android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
|
||||
mkdir $HOME/android
|
||||
unzip -qq /tmp/android-sdk.zip -d $HOME/android/sdk/
|
||||
rm -f /tmp/android-sdk.zip
|
||||
echo y | $HOME/android/sdk/tools/bin/sdkmanager --update > /dev/null
|
||||
for package in "ndk-bundle"; do
|
||||
echo install android $package
|
||||
echo y | $HOME/android/sdk/tools/bin/sdkmanager "$package" > /dev/null
|
||||
done
|
166
vendor/cryptopp/cryptopp/TestScripts/make-benchmarks.sh
vendored
Executable file
166
vendor/cryptopp/cryptopp/TestScripts/make-benchmarks.sh
vendored
Executable file
@ -0,0 +1,166 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# make-benchmarks - Scan build submission instructions for Unix and Linux.
|
||||
# Written and placed in public domain by Jeffrey Walton and Uri Blumenthal.
|
||||
# Copyright assigned to Crypto++ project.
|
||||
#
|
||||
# The following builds the benchmarks under 5.6.2, 5.6.4 and Master. The results can then be
|
||||
# compared to ensure an speed penalty is not inadvertently taken. Crypto++ 5.6.2 is significant
|
||||
# because its the last version Wei worked on before turning the library over to the community.
|
||||
|
||||
###############################################################################
|
||||
|
||||
# Set to suite your taste. Speed is in GiHz
|
||||
|
||||
if [[ -z "$CPU_FREQ" ]]; then
|
||||
if [[ ! -z "CRYPTOPP_CPU_SPEED" ]]; then
|
||||
CPU_FREQ="$CRYPTOPP_CPU_SPEED"
|
||||
else
|
||||
CPU_FREQ=2.8
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "***************************************************"
|
||||
echo "Using CPU frequency of $CPU_FREQ GiHz."
|
||||
echo "Please modify this script if its not correct"
|
||||
echo
|
||||
|
||||
###############################################################################
|
||||
|
||||
current=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||
git fetch --all &>/dev/null &>/dev/null
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "$PWD does not appear to be a Git repository"
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
###############################################################################
|
||||
# Try to find a fast option
|
||||
|
||||
OPT=
|
||||
|
||||
if [[ -z "$OPT" ]]; then
|
||||
rm -f "$TMP/adhoc.exe" &>/dev/null
|
||||
"$CXX" -DCRYPTOPP_ADHOC_MAIN -O3 adhoc.cpp -o "$TMP/adhoc.exe" &>/dev/null
|
||||
if [[ ("$?" -eq "0") ]]; then
|
||||
OPT=-O3
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$OPT" ]]; then
|
||||
rm -f "$TMP/adhoc.exe" &>/dev/null
|
||||
"$CXX" -DCRYPTOPP_ADHOC_MAIN -xO3 adhoc.cpp -o "$TMP/adhoc.exe" &>/dev/null
|
||||
if [[ ("$?" -eq "0") ]]; then
|
||||
OPT=-xO3
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$OPT" ]]; then
|
||||
rm -f "$TMP/adhoc.exe" &>/dev/null
|
||||
"$CXX" -DCRYPTOPP_ADHOC_MAIN -O2 adhoc.cpp -o "$TMP/adhoc.exe" &>/dev/null
|
||||
if [[ ("$?" -eq "0") ]]; then
|
||||
OPT=-O2
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$OPT" ]]; then
|
||||
rm -f "$TMP/adhoc.exe" &>/dev/null
|
||||
"$CXX" -DCRYPTOPP_ADHOC_MAIN -xO2 adhoc.cpp -o "$TMP/adhoc.exe" &>/dev/null
|
||||
if [[ ("$?" -eq "0") ]]; then
|
||||
OPT=-xO2
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$OPT" ]]; then
|
||||
rm -f "$TMP/adhoc.exe" &>/dev/null
|
||||
"$CXX" -DCRYPTOPP_ADHOC_MAIN -O adhoc.cpp -o "$TMP/adhoc.exe" &>/dev/null
|
||||
if [[ ("$?" -eq "0") ]]; then
|
||||
OPT=-O
|
||||
fi
|
||||
fi
|
||||
|
||||
##################################################################
|
||||
|
||||
echo "***************************************************"
|
||||
echo "**************** Crypto++ 5.6.2 *******************"
|
||||
echo "***************************************************"
|
||||
echo
|
||||
|
||||
git checkout -f CRYPTOPP_5_6_2 &>/dev/null
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "git checkout CRYPTOPP_5_6_2 failed"
|
||||
else
|
||||
rm -f *.o benchmarks.html benchmarks-562.html &>/dev/null
|
||||
|
||||
CXXFLAGS="-DNDEBUG $OPT" make
|
||||
if [[ "$?" -eq "0" ]]; then
|
||||
echo "Running benchmarks for Crypto++ 5.6.2"
|
||||
./cryptest.exe b 3 "$CPU_FREQ" > benchmarks-562.html
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
rm -rf benchmarks-562.html &>/dev/null
|
||||
echo "Failed to create benchmarks for Crypto++ 5.6.2"
|
||||
fi
|
||||
else
|
||||
echo "Failed to make benchmarks for Crypto++ 5.6.2"
|
||||
fi
|
||||
fi
|
||||
|
||||
##################################################################
|
||||
|
||||
echo "***************************************************"
|
||||
echo "**************** Crypto++ 5.6.4 *******************"
|
||||
echo "***************************************************"
|
||||
echo
|
||||
|
||||
git checkout -f CRYPTOPP_5_6_4 &>/dev/null
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "git checkout CRYPTOPP_5_6_4 failed"
|
||||
else
|
||||
rm -f *.o benchmarks.html benchmarks-564.html &>/dev/null
|
||||
|
||||
CXXFLAGS="-DNDEBUG $OPT" make
|
||||
if [[ "$?" -eq "0" ]]; then
|
||||
echo "Running benchmarks for Crypto++ 5.6.4"
|
||||
./cryptest.exe b 3 "$CPU_FREQ" > benchmarks-564.html
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
rm -rf benchmarks-564.html &>/dev/null
|
||||
echo "Failed to create benchmarks for Crypto++ 5.6.4"
|
||||
fi
|
||||
else
|
||||
echo "Failed to make benchmarks for Crypto++ 5.6.4"
|
||||
fi
|
||||
fi
|
||||
|
||||
##################################################################
|
||||
|
||||
echo "***************************************************"
|
||||
echo "*************** Crypto++ Master *******************"
|
||||
echo "***************************************************"
|
||||
echo
|
||||
|
||||
git checkout -f master &>/dev/null
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "git checkout master failed"
|
||||
else
|
||||
rm -f *.o benchmarks.html benchmarks-master.html &>/dev/null
|
||||
|
||||
CXXFLAGS="-DNDEBUG $OPT" make
|
||||
if [[ "$?" -eq "0" ]]; then
|
||||
echo "Running benchmarks for Crypto++ Master"
|
||||
./cryptest.exe b 3 "$CPU_FREQ" > benchmarks-master.html
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
rm -rf benchmarks-master.html &>/dev/null
|
||||
echo "Failed to create benchmarks for Crypto++ Master"
|
||||
fi
|
||||
else
|
||||
echo "Failed to make benchmarks for Crypto++ Master"
|
||||
fi
|
||||
fi
|
||||
|
||||
##################################################################
|
||||
|
||||
if [[ ! -z "$current" ]]; then
|
||||
git checkout -f "$current"
|
||||
fi
|
||||
|
||||
[[ "$0" = "$BASH_SOURCE" ]] && exit 0 || return 0
|
10
vendor/cryptopp/cryptopp/TestScripts/reset-fork.sh
vendored
Executable file
10
vendor/cryptopp/cryptopp/TestScripts/reset-fork.sh
vendored
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Use this script to reset a fork to Wei Dai's master
|
||||
# https://stackoverflow.com/questions/9646167/clean-up-a-fork-and-restart-it-from-the-upstream
|
||||
|
||||
git remote add upstream https://github.com/weidai11/cryptopp 2>/dev/null
|
||||
git fetch upstream
|
||||
git checkout master
|
||||
git reset --hard upstream/master
|
||||
git push origin master --force
|
430
vendor/cryptopp/cryptopp/TestScripts/setenv-android-old.sh
vendored
Executable file
430
vendor/cryptopp/cryptopp/TestScripts/setenv-android-old.sh
vendored
Executable file
@ -0,0 +1,430 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ====================================================================
|
||||
# Sets the cross compile environment for Android
|
||||
# Based upon OpenSSL's setenv-android.sh (by TH, JW, and SM).
|
||||
#
|
||||
# Crypto++ Library is copyrighted as a compilation and (as of version 5.6.2)
|
||||
# licensed under the Boost Software License 1.0, while the individual files
|
||||
# in the compilation are all public domain.
|
||||
#
|
||||
# This script is the one used from about 2012 until late 2017. Sometime in
|
||||
# 2017 AOSP made some NDK changes that were incompatible with the original
|
||||
# script. The original setenv-android.sh was renamed to setenv-android-old.sh,
|
||||
# and it can be used on older NDKs like r9 or r13. setenv-android.sh was then
|
||||
# reworked for newer NDKs, like r16. setenv-android.sh effectively supports
|
||||
# the latest NDKs. Also see https://github.com/weidai11/cryptopp/pull/546.
|
||||
#
|
||||
# See http://www.cryptopp.com/wiki/Android_(Command_Line) for more details
|
||||
# ====================================================================
|
||||
|
||||
# set -eu
|
||||
|
||||
unset IS_CROSS_COMPILE
|
||||
|
||||
unset IS_IOS
|
||||
unset IS_ANDROID
|
||||
unset IS_ARM_EMBEDDED
|
||||
|
||||
# Variables used in GNUmakefile-cross
|
||||
unset AOSP_FLAGS
|
||||
unset AOSP_SYSROOT
|
||||
unset AOSP_STL_INC
|
||||
unset AOSP_STL_LIB
|
||||
unset AOSP_BITS_INC
|
||||
|
||||
# Tools set by this script
|
||||
unset CPP CC CXX LD AS AR RANLIB STRIP
|
||||
|
||||
# Similar to a "make clean"
|
||||
if [ x"${1-}" = "xunset" ]; then
|
||||
echo "Unsetting script variables. PATH may remain tainted"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 0 || return 0
|
||||
fi
|
||||
|
||||
# Set AOSP_TOOLCHAIN_SUFFIX to your preference of tools and STL library.
|
||||
# Note: 4.9 is required for the latest architectures, like ARM64/AARCH64.
|
||||
# AOSP_TOOLCHAIN_SUFFIX=4.8
|
||||
# AOSP_TOOLCHAIN_SUFFIX=4.9
|
||||
if [ -z "${AOSP_TOOLCHAIN_SUFFIX-}" ]; then
|
||||
AOSP_TOOLCHAIN_SUFFIX=4.9
|
||||
fi
|
||||
|
||||
# Set AOSP_API to the API you want to use. 'armeabi' and 'armeabi-v7a' need
|
||||
# API 3 (or above), 'mips' and 'x86' need API 9 (or above), etc.
|
||||
# AOSP_API="android-3" # Android 1.5 and above
|
||||
# AOSP_API="android-4" # Android 1.6 and above
|
||||
# AOSP_API="android-5" # Android 2.0 and above
|
||||
# AOSP_API="android-8" # Android 2.2 and above
|
||||
# AOSP_API="android-9" # Android 2.3 and above
|
||||
# AOSP_API="android-14" # Android 4.0 and above
|
||||
# AOSP_API="android-18" # Android 4.3 and above
|
||||
# AOSP_API="android-19" # Android 4.4 and above
|
||||
# AOSP_API="android-21" # Android 5.0 and above
|
||||
# AOSP_API="android-23" # Android 6.0 and above
|
||||
if [ -z "${AOSP_API-}" ]; then
|
||||
AOSP_API="android-21"
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
|
||||
# ANDROID_NDK_ROOT should always be set by the user (even when not running this script)
|
||||
# http://groups.google.com/group/android-ndk/browse_thread/thread/a998e139aca71d77.
|
||||
# If the user did not specify the NDK location, try and pick it up. We expect something
|
||||
# like ANDROID_NDK_ROOT=/opt/android-ndk-r10e or ANDROID_NDK_ROOT=/usr/local/android-ndk-r10e.
|
||||
|
||||
if [ -z "${ANDROID_NDK_ROOT-}" ]; then
|
||||
ANDROID_NDK_ROOT=$(find /opt -maxdepth 1 -type d -name android-ndk* 2>/dev/null | tail -1)
|
||||
|
||||
if [ -z "$ANDROID_NDK_ROOT" ]; then
|
||||
ANDROID_NDK_ROOT=$(find /usr/local -maxdepth 1 -type d -name android-ndk* 2>/dev/null | tail -1)
|
||||
fi
|
||||
if [ -z "$ANDROID_NDK_ROOT" ]; then
|
||||
ANDROID_NDK_ROOT=$(find $HOME -maxdepth 1 -type d -name android-ndk* 2>/dev/null | tail -1)
|
||||
fi
|
||||
if [ -d "$HOME/Library/Android/sdk/ndk-bundle" ]; then
|
||||
ANDROID_NDK_ROOT="$HOME/Library/Android/sdk/ndk-bundle"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -d "$ANDROID_NDK_ROOT/toolchains" ]; then
|
||||
echo "ERROR: ANDROID_NDK_ROOT is not a valid path. Please set it."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
|
||||
if [ "$#" -lt 1 ]; then
|
||||
THE_ARCH=armv7a-neon
|
||||
else
|
||||
THE_ARCH=$(tr [A-Z] [a-z] <<< "$1")
|
||||
fi
|
||||
|
||||
# https://developer.android.com/ndk/guides/abis.html
|
||||
case "$THE_ARCH" in
|
||||
arm|armv5|armv6|armv7|armeabi)
|
||||
TOOLCHAIN_ARCH="arm-linux-androideabi"
|
||||
TOOLCHAIN_NAME="arm-linux-androideabi"
|
||||
AOSP_ABI="armeabi"
|
||||
AOSP_ARCH="arch-arm"
|
||||
AOSP_FLAGS="-march=armv5te -mtune=xscale -mthumb -msoft-float -DCRYPTOPP_DISABLE_ASM -funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
armv7a|armv7-a|armeabi-v7a)
|
||||
TOOLCHAIN_ARCH="arm-linux-androideabi"
|
||||
TOOLCHAIN_NAME="arm-linux-androideabi"
|
||||
AOSP_ABI="armeabi-v7a"
|
||||
AOSP_ARCH="arch-arm"
|
||||
AOSP_FLAGS="-march=armv7-a -mthumb -mfpu=vfpv3-d16 -mfloat-abi=softfp -DCRYPTOPP_DISABLE_ASM -Wl,--fix-cortex-a8 -funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
hard|armv7a-hard|armeabi-v7a-hard)
|
||||
TOOLCHAIN_ARCH="arm-linux-androideabi"
|
||||
TOOLCHAIN_NAME="arm-linux-androideabi"
|
||||
AOSP_ABI="armeabi-v7a"
|
||||
AOSP_ARCH="arch-arm"
|
||||
AOSP_FLAGS="-mhard-float -D_NDK_MATH_NO_SOFTFP=1 -march=armv7-a -mfpu=vfpv3-d16 -DCRYPTOPP_DISABLE_ASM -mfloat-abi=softfp -Wl,--fix-cortex-a8 -funwind-tables -fexceptions -frtti -Wl,--no-warn-mismatch -Wl,-lm_hard"
|
||||
;;
|
||||
neon|armv7a-neon)
|
||||
TOOLCHAIN_ARCH="arm-linux-androideabi"
|
||||
TOOLCHAIN_NAME="arm-linux-androideabi"
|
||||
AOSP_ABI="armeabi-v7a"
|
||||
AOSP_ARCH="arch-arm"
|
||||
AOSP_FLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=softfp -Wl,--fix-cortex-a8 -funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
armv8|armv8a|aarch64|arm64|arm64-v8a)
|
||||
TOOLCHAIN_ARCH="aarch64-linux-android"
|
||||
TOOLCHAIN_NAME="aarch64-linux-android"
|
||||
AOSP_ABI="arm64-v8a"
|
||||
AOSP_ARCH="arch-arm64"
|
||||
AOSP_FLAGS="-funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
mips|mipsel)
|
||||
TOOLCHAIN_ARCH="mipsel-linux-android"
|
||||
TOOLCHAIN_NAME="mipsel-linux-android"
|
||||
AOSP_ABI="mips"
|
||||
AOSP_ARCH="arch-mips"
|
||||
AOSP_FLAGS="-funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
mips64|mipsel64|mips64el)
|
||||
TOOLCHAIN_ARCH="mips64el-linux-android"
|
||||
TOOLCHAIN_NAME="mips64el-linux-android"
|
||||
AOSP_ABI="mips64"
|
||||
AOSP_ARCH="arch-mips64"
|
||||
AOSP_FLAGS="-funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
x86)
|
||||
TOOLCHAIN_ARCH="x86"
|
||||
TOOLCHAIN_NAME="i686-linux-android"
|
||||
AOSP_ABI="x86"
|
||||
AOSP_ARCH="arch-x86"
|
||||
AOSP_FLAGS="-mtune=intel -mssse3 -mfpmath=sse -DCRYPTOPP_DISABLE_SSE4 -DCRYPTOPP_DISABLE_CLMUL -DCRYPTOPP_DISABLE_AES -DCRYPTOPP_DISABLE_SHA -funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
x86_64|x64)
|
||||
TOOLCHAIN_ARCH="x86_64"
|
||||
TOOLCHAIN_NAME="x86_64-linux-android"
|
||||
AOSP_ABI="x86_64"
|
||||
AOSP_ARCH="arch-x86_64"
|
||||
AOSP_FLAGS="-march=x86-64 -msse4.2 -mpopcnt -mtune=intel -DCRYPTOPP_DISABLE_CLMUL -DCRYPTOPP_DISABLE_AES -DCRYPTOPP_DISABLE_SHA -funwind-tables -fexceptions -frtti"
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Unknown architecture $1"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
#####################################################################
|
||||
|
||||
# GNUmakefile-cross expects these to be set. They are also used in the tests below.
|
||||
export IS_ANDROID=1
|
||||
export AOSP_FLAGS
|
||||
|
||||
export CPP="$TOOLCHAIN_NAME-cpp"
|
||||
export CC="$TOOLCHAIN_NAME-gcc"
|
||||
export CXX="$TOOLCHAIN_NAME-g++"
|
||||
export LD="$TOOLCHAIN_NAME-ld"
|
||||
export AS="$TOOLCHAIN_NAME-as"
|
||||
export AR="$TOOLCHAIN_NAME-ar"
|
||||
export RANLIB="$TOOLCHAIN_NAME-ranlib"
|
||||
export STRIP="$TOOLCHAIN_NAME-strip"
|
||||
|
||||
#####################################################################
|
||||
|
||||
# Based on ANDROID_NDK_ROOT, try and pick up the path for the tools. We expect something
|
||||
# like /opt/android-ndk-r10e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_64/bin
|
||||
# Once we locate the tools, we add it to the PATH.
|
||||
AOSP_TOOLCHAIN_PATH=""
|
||||
for host in "linux-x86_64" "darwin-x86_64" "linux-x86" "darwin-x86"
|
||||
do
|
||||
if [ -d "$ANDROID_NDK_ROOT/toolchains/$TOOLCHAIN_ARCH-$AOSP_TOOLCHAIN_SUFFIX/prebuilt/$host/bin" ]; then
|
||||
AOSP_TOOLCHAIN_PATH="$ANDROID_NDK_ROOT/toolchains/$TOOLCHAIN_ARCH-$AOSP_TOOLCHAIN_SUFFIX/prebuilt/$host/bin"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Error checking
|
||||
if [ -z "$AOSP_TOOLCHAIN_PATH" ] || [ ! -d "$AOSP_TOOLCHAIN_PATH" ]; then
|
||||
echo "ERROR: AOSP_TOOLCHAIN_PATH is not valid. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$CPP" ]; then
|
||||
echo "ERROR: Failed to find Android cpp. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$CC" ]; then
|
||||
echo "ERROR: Failed to find Android gcc. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$CXX" ]; then
|
||||
echo "ERROR: Failed to find Android g++. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$RANLIB" ]; then
|
||||
echo "ERROR: Failed to find Android ranlib. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$AR" ]; then
|
||||
echo "ERROR: Failed to find Android ar. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$AS" ]; then
|
||||
echo "ERROR: Failed to find Android as. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_TOOLCHAIN_PATH/$LD" ]; then
|
||||
echo "ERROR: Failed to find Android ld. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Only modify/export PATH if AOSP_TOOLCHAIN_PATH good
|
||||
if [ -d "$AOSP_TOOLCHAIN_PATH" ]; then
|
||||
|
||||
# And only modify PATH if AOSP_TOOLCHAIN_PATH is not present
|
||||
LEN=${#AOSP_TOOLCHAIN_PATH}
|
||||
SUBSTR=${PATH:0:$LEN}
|
||||
if [ "$SUBSTR" != "$AOSP_TOOLCHAIN_PATH" ]; then
|
||||
export PATH="$AOSP_TOOLCHAIN_PATH":"$PATH"
|
||||
fi
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
|
||||
# Error checking
|
||||
if [ ! -d "$ANDROID_NDK_ROOT/platforms/$AOSP_API" ]; then
|
||||
echo "ERROR: AOSP_API is not valid. Does the NDK support the API? Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
elif [ ! -d "$ANDROID_NDK_ROOT/platforms/$AOSP_API/$AOSP_ARCH" ]; then
|
||||
echo "ERROR: AOSP_ARCH is not valid. Does the NDK support the architecture? Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Android SYSROOT. It will be used on the command line with --sysroot
|
||||
# http://android.googlesource.com/platform/ndk/+/ics-mr0/docs/STANDALONE-TOOLCHAIN.html
|
||||
export AOSP_SYSROOT="$ANDROID_NDK_ROOT/platforms/$AOSP_API/$AOSP_ARCH"
|
||||
|
||||
#####################################################################
|
||||
|
||||
# Android STL. We support GNU, LLVM and STLport out of the box.
|
||||
|
||||
if [ "$#" -lt 2 ]; then
|
||||
THE_STL=gnu-shared
|
||||
else
|
||||
THE_STL=$(tr [A-Z] [a-z] <<< "$2")
|
||||
fi
|
||||
|
||||
# LLVM include directory may be different depending on NDK version. Default to new location (latest NDK checked: r16beta1).
|
||||
LLVM_INCLUDE_DIR="$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/include"
|
||||
if [ ! -d "$LLVM_INCLUDE_DIR" ]; then
|
||||
LLVM_INCLUDE_DIR="$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/libcxx/include"
|
||||
fi
|
||||
|
||||
case "$THE_STL" in
|
||||
stlport-static)
|
||||
AOSP_STL_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/stlport/stlport/"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/stlport/libs/$AOSP_ABI/libstlport_static.a"
|
||||
;;
|
||||
stlport|stlport-shared)
|
||||
AOSP_STL_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/stlport/stlport/"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/stlport/libs/$AOSP_ABI/libstlport_shared.so"
|
||||
;;
|
||||
gabi++-static|gnu-static)
|
||||
AOSP_STL_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/include"
|
||||
AOSP_BITS_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/libs/$AOSP_ABI/include"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/libs/$AOSP_ABI/libgnustl_static.a"
|
||||
;;
|
||||
gnu|gabi++|gnu-shared|gabi++-shared)
|
||||
AOSP_STL_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/include"
|
||||
AOSP_BITS_INC="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/libs/$AOSP_ABI/include"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$AOSP_TOOLCHAIN_SUFFIX/libs/$AOSP_ABI/libgnustl_shared.so"
|
||||
;;
|
||||
llvm-static)
|
||||
if [ ! -d "$LLVM_INCLUDE_DIR" ]; then
|
||||
echo "ERROR: Unable to locate include LLVM directory at $LLVM_INCLUDE_DIR -- has it moved since NDK r16beta1?"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
AOSP_STL_INC="$LLVM_INCLUDE_DIR"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$AOSP_ABI/libc++_static.a"
|
||||
;;
|
||||
llvm|llvm-shared)
|
||||
if [ ! -d "$LLVM_INCLUDE_DIR" ]; then
|
||||
echo "ERROR: Unable to locate LLVM include directory at $LLVM_INCLUDE_DIR -- has it moved since NDK r16beta1?"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
AOSP_STL_INC="$LLVM_INCLUDE_DIR"
|
||||
AOSP_STL_LIB="$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$AOSP_ABI/libc++_shared.so"
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Unknown STL library $2"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
esac
|
||||
|
||||
# Error checking
|
||||
if [ ! -d "$AOSP_STL_INC" ] || [ ! -e "$AOSP_STL_INC/memory" ]; then
|
||||
echo "ERROR: AOSP_STL_INC is not valid. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
# Error checking
|
||||
if [ ! -e "$AOSP_STL_LIB" ]; then
|
||||
echo "ERROR: AOSP_STL_LIB is not valid. Please edit this script."
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
|
||||
export AOSP_STL_INC
|
||||
export AOSP_STL_LIB
|
||||
|
||||
if [ ! -z "$AOSP_BITS_INC" ]; then
|
||||
export AOSP_BITS_INC
|
||||
fi
|
||||
|
||||
# Now that we are using cpu-features from Android rather than CPU probing, we
|
||||
# need to copy cpu-features.h and cpu-features.c from the NDK into our source
|
||||
# directory and then build it.
|
||||
|
||||
if [[ ! -e "$ANDROID_NDK_ROOT/sources/android/cpufeatures/cpu-features.h" ]]; then
|
||||
echo "ERROR: Unable to locate cpu-features.h"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
cp "$ANDROID_NDK_ROOT/sources/android/cpufeatures/cpu-features.h" .
|
||||
|
||||
if [[ ! -e "$ANDROID_NDK_ROOT/sources/android/cpufeatures/cpu-features.c" ]]; then
|
||||
echo "ERROR: Unable to locate cpu-features.c"
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 1 || return 1
|
||||
fi
|
||||
cp "$ANDROID_NDK_ROOT/sources/android/cpufeatures/cpu-features.c" .
|
||||
|
||||
#####################################################################
|
||||
|
||||
VERBOSE=1
|
||||
if [ ! -z "$VERBOSE" ] && [ "$VERBOSE" != "0" ]; then
|
||||
echo "ANDROID_NDK_ROOT: $ANDROID_NDK_ROOT"
|
||||
echo "AOSP_TOOLCHAIN_PATH: $AOSP_TOOLCHAIN_PATH"
|
||||
echo "AOSP_ABI: $AOSP_ABI"
|
||||
echo "AOSP_API: $AOSP_API"
|
||||
echo "AOSP_SYSROOT: $AOSP_SYSROOT"
|
||||
echo "AOSP_FLAGS: $AOSP_FLAGS"
|
||||
echo "AOSP_STL_INC: $AOSP_STL_INC"
|
||||
echo "AOSP_STL_LIB: $AOSP_STL_LIB"
|
||||
if [ ! -z "$AOSP_BITS_INC" ]; then
|
||||
echo "AOSP_BITS_INC: $AOSP_BITS_INC"
|
||||
fi
|
||||
|
||||
if [ -e "cpu-features.h" ] && [ -e "cpu-features.c" ]; then
|
||||
echo "CPU FEATURES: cpu-features.h and cpu-features.c are present"
|
||||
fi
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
|
||||
COUNT=$(echo -n "$AOSP_STL_LIB" | egrep -i -c 'libstdc\+\+')
|
||||
if [[ ("$COUNT" -ne "0") ]]; then
|
||||
echo
|
||||
echo "*******************************************************************************"
|
||||
echo "You are using GNU's runtime and STL library. Please ensure the resulting"
|
||||
echo "binary meets licensing requirements. If you can't use GNU's runtime"
|
||||
echo "and STL library, then reconfigure with stlport or llvm. Also see"
|
||||
echo "http://code.google.com/p/android/issues/detail?id=216331"
|
||||
echo "*******************************************************************************"
|
||||
fi
|
||||
|
||||
COUNT=$(echo -n "$AOSP_STL_LIB" | grep -i -c 'libstlport')
|
||||
if [[ ("$COUNT" -ne "0") ]]; then
|
||||
echo
|
||||
echo "*******************************************************************************"
|
||||
echo "You are using STLport's runtime and STL library. STLport could cause problems"
|
||||
echo "if the resulting binary is used in other environments, like a QT project."
|
||||
echo "Also see http://code.google.com/p/android/issues/detail?id=216331"
|
||||
echo "*******************************************************************************"
|
||||
fi
|
||||
|
||||
COUNT=$(echo -n "$AOSP_STL_LIB" | egrep -i -c 'libc\+\+')
|
||||
if [[ ("$COUNT" -ne "0") ]]; then
|
||||
echo
|
||||
echo "*******************************************************************************"
|
||||
echo "You are using LLVM's runtime and STL library. LLVM could cause problems"
|
||||
echo "if the resulting binary is used in other environments, like a QT project."
|
||||
echo "Also see http://code.google.com/p/android/issues/detail?id=216331"
|
||||
echo "*******************************************************************************"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "*******************************************************************************"
|
||||
echo "It looks the the environment is set correctly. Your next step is build"
|
||||
echo "the library with 'make -f GNUmakefile-cross'. You can create a versioned"
|
||||
echo "shared object using 'HAS_SOLIB_VERSION=1 make -f GNUmakefile-cross'"
|
||||
echo "*******************************************************************************"
|
||||
echo
|
||||
|
||||
[ "$0" = "$BASH_SOURCE" ] && exit 0 || return 0
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user