Add ChaCha family of stream ciphers
parent
c82f0a0d6a
commit
53b51331a4
|
|
@ -40,6 +40,8 @@ cbcmac.cpp
|
||||||
cbcmac.h
|
cbcmac.h
|
||||||
ccm.cpp
|
ccm.cpp
|
||||||
ccm.h
|
ccm.h
|
||||||
|
chacha.cpp
|
||||||
|
chacha.h
|
||||||
channels.cpp
|
channels.cpp
|
||||||
channels.h
|
channels.h
|
||||||
cmac.cpp
|
cmac.cpp
|
||||||
|
|
@ -370,6 +372,7 @@ TestVectors/blake2b.txt
|
||||||
TestVectors/blake2s.txt
|
TestVectors/blake2s.txt
|
||||||
TestVectors/camellia.txt
|
TestVectors/camellia.txt
|
||||||
TestVectors/ccm.txt
|
TestVectors/ccm.txt
|
||||||
|
TestVectors/chacha.txt
|
||||||
TestVectors/cmac.txt
|
TestVectors/cmac.txt
|
||||||
TestVectors/dlies.txt
|
TestVectors/dlies.txt
|
||||||
TestVectors/dsa.txt
|
TestVectors/dsa.txt
|
||||||
|
|
|
||||||
|
|
@ -579,7 +579,7 @@
|
||||||
<Files>
|
<Files>
|
||||||
<Filter
|
<Filter
|
||||||
Name="TestVectors"
|
Name="TestVectors"
|
||||||
Filter=".dat"
|
Filter=".txt"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\TestVectors\aes.txt"
|
RelativePath=".\TestVectors\aes.txt"
|
||||||
|
|
@ -609,6 +609,10 @@
|
||||||
RelativePath=".\TestVectors\ccm.txt"
|
RelativePath=".\TestVectors\ccm.txt"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\TestVectors\chacha.txt"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\TestVectors\cmac.txt"
|
RelativePath=".\TestVectors\cmac.txt"
|
||||||
>
|
>
|
||||||
|
|
@ -1499,6 +1503,7 @@
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="TestData"
|
Name="TestData"
|
||||||
|
Filter=".dat"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\TestData\3desval.dat"
|
RelativePath=".\TestData\3desval.dat"
|
||||||
|
|
|
||||||
|
|
@ -262,6 +262,10 @@ SOURCE=.\ccm.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\chacha.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\channels.cpp
|
SOURCE=.\channels.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
@ -761,6 +765,10 @@ SOURCE=.\ccm.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\chacha.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\channels.h
|
SOURCE=.\channels.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,13 @@
|
||||||
\ref SHACAL2 "SHACAL-2", SHARK, SKIPJACK,
|
\ref SHACAL2 "SHACAL-2", SHARK, SKIPJACK,
|
||||||
Square, TEA, \ref ThreeWay "3-Way", Twofish, XTEA
|
Square, TEA, \ref ThreeWay "3-Way", Twofish, XTEA
|
||||||
<dt>Stream Ciphers<dd>
|
<dt>Stream Ciphers<dd>
|
||||||
\ref Panama "Panama-LE", \ref Panama "Panama-BE", Salsa20, \ref SEAL "SEAL-LE", \ref SEAL "SEAL-BE", WAKE, XSalsa20
|
ChaCha8, ChaCha12, ChaCha20, \ref Panama "Panama-LE", \ref Panama "Panama-BE", Salsa20, \ref SEAL "SEAL-LE", \ref SEAL "SEAL-BE", WAKE, XSalsa20
|
||||||
<dt>Hash Functions<dd>
|
<dt>Hash Functions<dd>
|
||||||
SHA1, SHA224, SHA256, SHA384, SHA512, \ref SHA3 "SHA-3", Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak::MD2, Weak::MD4, Weak::MD5
|
BLAKE2, SHA1, SHA224, SHA256, SHA384, SHA512, \ref SHA3 "SHA-3", Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak::MD2, Weak::MD4, Weak::MD5
|
||||||
<dt>Non-Cryptographic Checksums<dd>
|
<dt>Non-Cryptographic Checksums<dd>
|
||||||
CRC32, Adler32
|
CRC32, Adler32
|
||||||
<dt>Message Authentication Codes<dd>
|
<dt>Message Authentication Codes<dd>
|
||||||
VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, \ref GCM "GCM (GMAC)"
|
VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, \ref GCM "GCM (GMAC)", BLAKE2
|
||||||
<dt>Random Number Generators<dd>
|
<dt>Random Number Generators<dd>
|
||||||
NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG,
|
NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG,
|
||||||
\ref MersenneTwister "MersenneTwister (MT19937 and MT19937-AR)", RDRAND, RDSEED
|
\ref MersenneTwister "MersenneTwister (MT19937 and MT19937-AR)", RDRAND, RDSEED
|
||||||
|
|
|
||||||
|
|
@ -1830,6 +1830,10 @@
|
||||||
RelativePath="ccm.cpp"
|
RelativePath="ccm.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="chacha.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="channels.cpp"
|
RelativePath="channels.cpp"
|
||||||
>
|
>
|
||||||
|
|
@ -9252,6 +9256,10 @@
|
||||||
RelativePath="ccm.h"
|
RelativePath="ccm.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="chacha.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="channels.h"
|
RelativePath="channels.h"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -207,6 +207,7 @@
|
||||||
<FILE FILENAME="base64.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="base64" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="base64.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="base64" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="basecode.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="basecode" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="basecode.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="basecode" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="bfinit.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="bfinit" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="bfinit.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="bfinit" FORMNAME="" DESIGNCLASS=""/>
|
||||||
|
<FILE FILENAME="blake2.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blake2" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="blowfish.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blowfish" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="blowfish.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blowfish" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="blumshub.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blumshub" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="blumshub.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blumshub" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="camellia.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="camellia" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="camellia.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="camellia" FORMNAME="" DESIGNCLASS=""/>
|
||||||
|
|
@ -214,6 +215,7 @@
|
||||||
<FILE FILENAME="casts.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="casts" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="casts.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="casts" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="cbcmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cbcmac" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="cbcmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cbcmac" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="ccm.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="ccm" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="ccm.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="ccm" FORMNAME="" DESIGNCLASS=""/>
|
||||||
|
<FILE FILENAME="chacha.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="chacha" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="channels.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="channels" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="channels.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="channels" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="cmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cmac" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="cmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cmac" FORMNAME="" DESIGNCLASS=""/>
|
||||||
<FILE FILENAME="crc.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="crc" FORMNAME="" DESIGNCLASS=""/>
|
<FILE FILENAME="crc.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="crc" FORMNAME="" DESIGNCLASS=""/>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
#include "pssr.h"
|
#include "pssr.h"
|
||||||
#include "aes.h"
|
#include "aes.h"
|
||||||
#include "salsa.h"
|
#include "salsa.h"
|
||||||
|
#include "chacha.h"
|
||||||
#include "vmac.h"
|
#include "vmac.h"
|
||||||
#include "tiger.h"
|
#include "tiger.h"
|
||||||
#include "md5.h"
|
#include "md5.h"
|
||||||
|
|
@ -130,6 +131,9 @@ void RegisterFactories()
|
||||||
RegisterSymmetricCipherDefaultFactories<CTR_Mode<AES> >();
|
RegisterSymmetricCipherDefaultFactories<CTR_Mode<AES> >();
|
||||||
RegisterSymmetricCipherDefaultFactories<Salsa20>();
|
RegisterSymmetricCipherDefaultFactories<Salsa20>();
|
||||||
RegisterSymmetricCipherDefaultFactories<XSalsa20>();
|
RegisterSymmetricCipherDefaultFactories<XSalsa20>();
|
||||||
|
RegisterSymmetricCipherDefaultFactories<ChaCha8>();
|
||||||
|
RegisterSymmetricCipherDefaultFactories<ChaCha12>();
|
||||||
|
RegisterSymmetricCipherDefaultFactories<ChaCha20>();
|
||||||
RegisterSymmetricCipherDefaultFactories<Sosemanuk>();
|
RegisterSymmetricCipherDefaultFactories<Sosemanuk>();
|
||||||
RegisterSymmetricCipherDefaultFactories<Weak::MARC4>();
|
RegisterSymmetricCipherDefaultFactories<Weak::MARC4>();
|
||||||
RegisterSymmetricCipherDefaultFactories<WAKE_OFB<LittleEndian> >();
|
RegisterSymmetricCipherDefaultFactories<WAKE_OFB<LittleEndian> >();
|
||||||
|
|
|
||||||
BIN
vs2010.zip
BIN
vs2010.zip
Binary file not shown.
Loading…
Reference in New Issue