Add ChaCha family of stream ciphers

pull/157/head
Jeffrey Walton 2016-04-21 12:05:25 -04:00
parent c82f0a0d6a
commit 53b51331a4
8 changed files with 34 additions and 4 deletions

View File

@ -40,6 +40,8 @@ cbcmac.cpp
cbcmac.h
ccm.cpp
ccm.h
chacha.cpp
chacha.h
channels.cpp
channels.h
cmac.cpp
@ -370,6 +372,7 @@ TestVectors/blake2b.txt
TestVectors/blake2s.txt
TestVectors/camellia.txt
TestVectors/ccm.txt
TestVectors/chacha.txt
TestVectors/cmac.txt
TestVectors/dlies.txt
TestVectors/dsa.txt

View File

@ -579,7 +579,7 @@
<Files>
<Filter
Name="TestVectors"
Filter=".dat"
Filter=".txt"
>
<File
RelativePath=".\TestVectors\aes.txt"
@ -609,6 +609,10 @@
RelativePath=".\TestVectors\ccm.txt"
>
</File>
<File
RelativePath=".\TestVectors\chacha.txt"
>
</File>
<File
RelativePath=".\TestVectors\cmac.txt"
>
@ -1499,6 +1503,7 @@
</Filter>
<Filter
Name="TestData"
Filter=".dat"
>
<File
RelativePath=".\TestData\3desval.dat"

View File

@ -262,6 +262,10 @@ SOURCE=.\ccm.cpp
# End Source File
# Begin Source File
SOURCE=.\chacha.cpp
# End Source File
# Begin Source File
SOURCE=.\channels.cpp
# End Source File
# Begin Source File
@ -761,6 +765,10 @@ SOURCE=.\ccm.h
# End Source File
# Begin Source File
SOURCE=.\chacha.h
# End Source File
# Begin Source File
SOURCE=.\channels.h
# End Source File
# Begin Source File

View File

@ -15,13 +15,13 @@
\ref SHACAL2 "SHACAL-2", SHARK, SKIPJACK,
Square, TEA, \ref ThreeWay "3-Way", Twofish, XTEA
<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>
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>
CRC32, Adler32
<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>
NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG,
\ref MersenneTwister "MersenneTwister (MT19937 and MT19937-AR)", RDRAND, RDSEED

View File

@ -1830,6 +1830,10 @@
RelativePath="ccm.cpp"
>
</File>
<File
RelativePath="chacha.cpp"
>
</File>
<File
RelativePath="channels.cpp"
>
@ -9252,6 +9256,10 @@
RelativePath="ccm.h"
>
</File>
<File
RelativePath="chacha.h"
>
</File>
<File
RelativePath="channels.h"
>

View File

@ -207,6 +207,7 @@
<FILE FILENAME="base64.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="base64" 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="blake2.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="blake2" 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="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="cbcmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cbcmac" 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="cmac.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="cmac" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="crc.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="crc" FORMNAME="" DESIGNCLASS=""/>

View File

@ -23,6 +23,7 @@
#include "pssr.h"
#include "aes.h"
#include "salsa.h"
#include "chacha.h"
#include "vmac.h"
#include "tiger.h"
#include "md5.h"
@ -130,6 +131,9 @@ void RegisterFactories()
RegisterSymmetricCipherDefaultFactories<CTR_Mode<AES> >();
RegisterSymmetricCipherDefaultFactories<Salsa20>();
RegisterSymmetricCipherDefaultFactories<XSalsa20>();
RegisterSymmetricCipherDefaultFactories<ChaCha8>();
RegisterSymmetricCipherDefaultFactories<ChaCha12>();
RegisterSymmetricCipherDefaultFactories<ChaCha20>();
RegisterSymmetricCipherDefaultFactories<Sosemanuk>();
RegisterSymmetricCipherDefaultFactories<Weak::MARC4>();
RegisterSymmetricCipherDefaultFactories<WAKE_OFB<LittleEndian> >();

Binary file not shown.