Add kvzrtp style interface for the crypto library
This commit is contained in:
parent
9f2969b7c1
commit
5d9cb58f8a
|
@ -1,6 +1,7 @@
|
|||
src/*.o
|
||||
src/formats/*.o
|
||||
src/mzrtp/*.o
|
||||
src/crypto/*.o
|
||||
libkvzrtp.a
|
||||
*main
|
||||
benchmarks/*/main_*
|
||||
|
|
2
Makefile
2
Makefile
|
@ -3,7 +3,7 @@
|
|||
CXX = g++
|
||||
CXXFLAGS = -g -Wall -Wextra -Wuninitialized -O2 -std=c++11 -Isrc -fPIC #-DNDEBUG
|
||||
SOURCES = $(wildcard src/*.cc)
|
||||
MODULES := src/formats src/mzrtp
|
||||
MODULES := src/formats src/mzrtp src/crypto
|
||||
-include $(patsubst %, %/module.mk, $(MODULES))
|
||||
OBJECTS := $(patsubst %.cc, %.o, $(filter %.cc, $(SOURCES)))
|
||||
|
||||
|
|
|
@ -0,0 +1,167 @@
|
|||
#include "crypto/crypto.hh"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
/* ***************** hmac-sha1 ***************** */
|
||||
|
||||
kvz_rtp::crypto::hmac::sha1::sha1(uint8_t *key, size_t key_size):
|
||||
hmac_(key, key_size)
|
||||
{
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::hmac::sha1::~sha1()
|
||||
{
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::hmac::sha1::update(uint8_t *data, size_t len)
|
||||
{
|
||||
hmac_.Update(data, len);
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::hmac::sha1::final(uint8_t *digest)
|
||||
{
|
||||
hmac_.Final(digest);
|
||||
}
|
||||
|
||||
/* ***************** hmac-sha256 ***************** */
|
||||
|
||||
kvz_rtp::crypto::hmac::sha256::sha256(uint8_t *key, size_t key_size):
|
||||
hmac_(key, key_size)
|
||||
{
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::hmac::sha256::~sha256()
|
||||
{
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::hmac::sha256::update(uint8_t *data, size_t len)
|
||||
{
|
||||
hmac_.Update(data, len);
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::hmac::sha256::final(uint8_t *digest)
|
||||
{
|
||||
hmac_.Final(digest);
|
||||
}
|
||||
|
||||
/* ***************** sha256 ***************** */
|
||||
|
||||
kvz_rtp::crypto::sha256::sha256():
|
||||
sha_()
|
||||
{
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::sha256::~sha256()
|
||||
{
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::sha256::update(uint8_t *data, size_t len)
|
||||
{
|
||||
sha_.Update(data, len);
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::sha256::final(uint8_t *digest)
|
||||
{
|
||||
sha_.Final(digest);
|
||||
}
|
||||
|
||||
/* ***************** aes-128 ***************** */
|
||||
|
||||
kvz_rtp::crypto::aes::aes(uint8_t *key, size_t key_size, uint8_t *iv):
|
||||
enc_(key, key_size, iv),
|
||||
dec_(key, key_size, iv)
|
||||
{
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::aes::~aes()
|
||||
{
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::aes::encrypt(uint8_t *input, uint8_t *output, size_t len)
|
||||
{
|
||||
enc_.ProcessData(input, output, len);
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::aes::decrypt(uint8_t *input, uint8_t *output, size_t len)
|
||||
{
|
||||
dec_.ProcessData(input, output, len);
|
||||
}
|
||||
|
||||
/* ***************** diffie-hellman 3072 ***************** */
|
||||
|
||||
kvz_rtp::crypto::dh::dh():
|
||||
prng_(),
|
||||
dh_()
|
||||
{
|
||||
fprintf(stderr, "HERERERERE TOO\n");
|
||||
|
||||
CryptoPP::Integer p(
|
||||
"0xFFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1"
|
||||
"29024E088A67CC74020BBEA63B139B22514A08798E3404DD"
|
||||
"EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245"
|
||||
"E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED"
|
||||
"EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D"
|
||||
"C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F"
|
||||
"83655D23DCA3AD961C62F356208552BB9ED529077096966D"
|
||||
"670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B"
|
||||
"E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9"
|
||||
"DE2BCBF6955817183995497CEA956AE515D2261898FA0510"
|
||||
"15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64"
|
||||
"ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7"
|
||||
"ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B"
|
||||
"F12FFA06D98A0864D87602733EC86A64521F2B18177B200C"
|
||||
"BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31"
|
||||
"43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF"
|
||||
);
|
||||
|
||||
CryptoPP::Integer g("0x02");
|
||||
|
||||
dh_.AccessGroupParameters().Initialize(p, g);
|
||||
|
||||
CryptoPP::SecByteBlock t1(dh_.PrivateKeyLength()), t2(dh_.PublicKeyLength());
|
||||
|
||||
dh_.GenerateKeyPair(prng_, t1, t2);
|
||||
|
||||
CryptoPP::Integer k1(t1, t1.size()), k2(t2, t2.size());
|
||||
|
||||
cout << "Private key:\n";
|
||||
cout << hex << k1 << endl;
|
||||
cout << "Public key:\n";
|
||||
cout << hex << k2 << endl;
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::dh::~dh()
|
||||
{
|
||||
}
|
||||
|
||||
/* ***************** base32 ***************** */
|
||||
kvz_rtp::crypto::b32::b32():
|
||||
enc_()
|
||||
{
|
||||
}
|
||||
|
||||
kvz_rtp::crypto::b32::~b32()
|
||||
{
|
||||
}
|
||||
|
||||
void kvz_rtp::crypto::b32::encode(uint8_t *input, uint8_t *output, size_t len)
|
||||
{
|
||||
enc_.Put(input, len);
|
||||
enc_.MessageEnd();
|
||||
|
||||
CryptoPP::word64 max_ret = enc_.MaxRetrievable();
|
||||
|
||||
if (max_ret) {
|
||||
enc_.Get(output, len);
|
||||
}
|
||||
}
|
||||
|
||||
/* ***************** random ***************** */
|
||||
|
||||
void kvz_rtp::crypto::random::generate_random(uint8_t *out, size_t len)
|
||||
{
|
||||
/* do not block ever */
|
||||
CryptoPP::OS_GenerateRandomBlock(false, out, len);
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
#pragma once
|
||||
|
||||
#include "crypto/3rdparty/cryptopp/aes.h"
|
||||
#include "crypto/3rdparty/cryptopp/base32.h"
|
||||
#include "crypto/3rdparty/cryptopp/cryptlib.h"
|
||||
#include "crypto/3rdparty/cryptopp/dh.h"
|
||||
#include "crypto/3rdparty/cryptopp/hmac.h"
|
||||
#include "crypto/3rdparty/cryptopp/modes.h"
|
||||
#include "crypto/3rdparty/cryptopp/osrng.h"
|
||||
#include "crypto/3rdparty/cryptopp/sha.h"
|
||||
|
||||
namespace kvz_rtp {
|
||||
|
||||
namespace crypto {
|
||||
|
||||
/* hash-based message authentication code */
|
||||
namespace hmac {
|
||||
class sha1 {
|
||||
public:
|
||||
sha1(uint8_t *key, size_t key_size);
|
||||
~sha1();
|
||||
|
||||
void update(uint8_t *data, size_t len);
|
||||
void final(uint8_t *digest);
|
||||
|
||||
private:
|
||||
CryptoPP::HMAC<CryptoPP::SHA1> hmac_;
|
||||
};
|
||||
|
||||
class sha256 {
|
||||
public:
|
||||
sha256(uint8_t *key, size_t key_size);
|
||||
~sha256();
|
||||
|
||||
void update(uint8_t *data, size_t len);
|
||||
void final(uint8_t *digest);
|
||||
|
||||
private:
|
||||
CryptoPP::HMAC<CryptoPP::SHA256> hmac_;
|
||||
};
|
||||
};
|
||||
|
||||
class sha256 {
|
||||
public:
|
||||
sha256();
|
||||
~sha256();
|
||||
|
||||
void update(uint8_t *data, size_t len);
|
||||
void final(uint8_t *digest);
|
||||
|
||||
private:
|
||||
CryptoPP::SHA256 sha_;
|
||||
};
|
||||
|
||||
class aes {
|
||||
public:
|
||||
aes(uint8_t *key, size_t key_size, uint8_t *iv);
|
||||
~aes();
|
||||
|
||||
void encrypt(uint8_t *input, uint8_t *output, size_t len);
|
||||
void decrypt(uint8_t *input, uint8_t *output, size_t len);
|
||||
|
||||
private:
|
||||
CryptoPP::CTR_Mode<CryptoPP::AES>::Encryption enc_;
|
||||
CryptoPP::CTR_Mode<CryptoPP::AES>::Decryption dec_;
|
||||
};
|
||||
|
||||
/* diffie-hellman key derivation */
|
||||
class dh {
|
||||
public:
|
||||
dh();
|
||||
~dh();
|
||||
|
||||
/* TODO: generate keys? */
|
||||
|
||||
private:
|
||||
CryptoPP::AutoSeededRandomPool prng_;
|
||||
CryptoPP::DH dh_;
|
||||
};
|
||||
|
||||
/* base32 */
|
||||
class b32 {
|
||||
public:
|
||||
b32();
|
||||
~b32();
|
||||
|
||||
void encode(uint8_t *input, uint8_t *output, size_t len);
|
||||
|
||||
private:
|
||||
CryptoPP::Base32Encoder enc_;
|
||||
};
|
||||
|
||||
namespace random {
|
||||
void generate_random(uint8_t *out, size_t len);
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,203 @@
|
|||
SOURCES += \
|
||||
src/crypto/crypto.cc
|
||||
# src/crypto/3rdparty/cryptopp/dh.cc \
|
||||
# src/crypto/3rdparty/cryptopp/integer.cc \
|
||||
# src/crypto/3rdparty/cryptopp/3way.cc \
|
||||
# src/crypto/3rdparty/cryptopp/adhoc.cc \
|
||||
# src/crypto/3rdparty/cryptopp/adler32.cc \
|
||||
# src/crypto/3rdparty/cryptopp/algebra.cc \
|
||||
# src/crypto/3rdparty/cryptopp/algparam.cc \
|
||||
# src/crypto/3rdparty/cryptopp/allocate.cc \
|
||||
# src/crypto/3rdparty/cryptopp/arc4.cc \
|
||||
# src/crypto/3rdparty/cryptopp/aria.cc \
|
||||
# src/crypto/3rdparty/cryptopp/aria_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ariatab.cc \
|
||||
# src/crypto/3rdparty/cryptopp/asn.cc \
|
||||
# src/crypto/3rdparty/cryptopp/authenc.cc \
|
||||
# src/crypto/3rdparty/cryptopp/base32.cc \
|
||||
# src/crypto/3rdparty/cryptopp/base64.cc \
|
||||
# src/crypto/3rdparty/cryptopp/basecode.cc \
|
||||
# src/crypto/3rdparty/cryptopp/bench1.cc \
|
||||
# src/crypto/3rdparty/cryptopp/bench2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/bench3.cc \
|
||||
# src/crypto/3rdparty/cryptopp/bfinit.cc \
|
||||
# src/crypto/3rdparty/cryptopp/blake2b_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/blake2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/blake2s_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/blowfish.cc \
|
||||
# src/crypto/3rdparty/cryptopp/blumshub.cc \
|
||||
# src/crypto/3rdparty/cryptopp/camellia.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cast.cc \
|
||||
# src/crypto/3rdparty/cryptopp/casts.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cbcmac.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ccm.cc \
|
||||
# src/crypto/3rdparty/cryptopp/chacha_avx.cc \
|
||||
# src/crypto/3rdparty/cryptopp/chacha.cc \
|
||||
# src/crypto/3rdparty/cryptopp/chachapoly.cc \
|
||||
# src/crypto/3rdparty/cryptopp/chacha_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cham.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cham_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/channels.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cmac.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cpu.cc \
|
||||
# src/crypto/3rdparty/cryptopp/crc.cc \
|
||||
# src/crypto/3rdparty/cryptopp/crc_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/cryptlib.cc \
|
||||
# src/crypto/3rdparty/cryptopp/darn.cc \
|
||||
# src/crypto/3rdparty/cryptopp/datatest.cc \
|
||||
# src/crypto/3rdparty/cryptopp/default.cc \
|
||||
# src/crypto/3rdparty/cryptopp/des.cc \
|
||||
# src/crypto/3rdparty/cryptopp/dessp.cc \
|
||||
# src/crypto/3rdparty/cryptopp/dh2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/dll.cc \
|
||||
# src/crypto/3rdparty/cryptopp/dlltest.cc \
|
||||
# src/crypto/3rdparty/cryptopp/donna_32.cc \
|
||||
# src/crypto/3rdparty/cryptopp/donna_64.cc \
|
||||
# src/crypto/3rdparty/cryptopp/donna_sse.cc \
|
||||
# src/crypto/3rdparty/cryptopp/dsa.cc \
|
||||
# src/crypto/3rdparty/cryptopp/eax.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ec2n.cc \
|
||||
# src/crypto/3rdparty/cryptopp/eccrypto.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ecp.cc \
|
||||
# src/crypto/3rdparty/cryptopp/elgamal.cc \
|
||||
# src/crypto/3rdparty/cryptopp/emsa2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/eprecomp.cc \
|
||||
# src/crypto/3rdparty/cryptopp/esign.cc \
|
||||
# src/crypto/3rdparty/cryptopp/files.cc \
|
||||
# src/crypto/3rdparty/cryptopp/filters.cc \
|
||||
# src/crypto/3rdparty/cryptopp/fips140.cc \
|
||||
# src/crypto/3rdparty/cryptopp/fipsalgt.cc \
|
||||
# src/crypto/3rdparty/cryptopp/fipstest.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gcm.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gcm_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gf2_32.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gf256.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gf2n.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gf2n_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gfpcrypt.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gost.cc \
|
||||
# src/crypto/3rdparty/cryptopp/gzip.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hc128.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hc256.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hex.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hight.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hmac.cc \
|
||||
# src/crypto/3rdparty/cryptopp/hrtimer.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ida.cc \
|
||||
# src/crypto/3rdparty/cryptopp/idea.cc \
|
||||
# src/crypto/3rdparty/cryptopp/integer.cc \
|
||||
# src/crypto/3rdparty/cryptopp/iterhash.cc \
|
||||
# src/crypto/3rdparty/cryptopp/kalyna.cc \
|
||||
# src/crypto/3rdparty/cryptopp/kalynatab.cc \
|
||||
# src/crypto/3rdparty/cryptopp/keccak_core.cc \
|
||||
# src/crypto/3rdparty/cryptopp/keccak.cc \
|
||||
# src/crypto/3rdparty/cryptopp/keccak_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/lea.cc \
|
||||
# src/crypto/3rdparty/cryptopp/lea_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/luc.cc \
|
||||
# src/crypto/3rdparty/cryptopp/mars.cc \
|
||||
# src/crypto/3rdparty/cryptopp/marss.cc \
|
||||
# src/crypto/3rdparty/cryptopp/md2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/md4.cc \
|
||||
# src/crypto/3rdparty/cryptopp/md5.cc \
|
||||
# src/crypto/3rdparty/cryptopp/misc.cc \
|
||||
# src/crypto/3rdparty/cryptopp/modes.cc \
|
||||
# src/crypto/3rdparty/cryptopp/mqueue.cc \
|
||||
# src/crypto/3rdparty/cryptopp/mqv.cc \
|
||||
# src/crypto/3rdparty/cryptopp/nbtheory.cc \
|
||||
# src/crypto/3rdparty/cryptopp/neon_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/oaep.cc \
|
||||
# src/crypto/3rdparty/cryptopp/osrng.cc \
|
||||
# src/crypto/3rdparty/cryptopp/padlkrng.cc \
|
||||
# src/crypto/3rdparty/cryptopp/panama.cc \
|
||||
# src/crypto/3rdparty/cryptopp/pch.cc \
|
||||
# src/crypto/3rdparty/cryptopp/pkcspad.cc \
|
||||
# src/crypto/3rdparty/cryptopp/poly1305.cc \
|
||||
# src/crypto/3rdparty/cryptopp/polynomi.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ppc_power7.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ppc_power8.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ppc_power9.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ppc_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/pssr.cc \
|
||||
# src/crypto/3rdparty/cryptopp/pubkey.cc \
|
||||
# src/crypto/3rdparty/cryptopp/queue.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rabbit.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rabin.cc \
|
||||
# src/crypto/3rdparty/cryptopp/randpool.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rc2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rc5.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rc6.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rdrand.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rdtables.cc \
|
||||
# src/crypto/3rdparty/cryptopp/regtest1.cc \
|
||||
# src/crypto/3rdparty/cryptopp/regtest2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/regtest3.cc \
|
||||
# src/crypto/3rdparty/cryptopp/regtest4.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rijndael.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rijndael_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ripemd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rng.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rsa.cc \
|
||||
# src/crypto/3rdparty/cryptopp/rw.cc \
|
||||
# src/crypto/3rdparty/cryptopp/safer.cc \
|
||||
# src/crypto/3rdparty/cryptopp/salsa.cc \
|
||||
# src/crypto/3rdparty/cryptopp/scrypt.cc \
|
||||
# src/crypto/3rdparty/cryptopp/seal.cc \
|
||||
# src/crypto/3rdparty/cryptopp/seed.cc \
|
||||
# src/crypto/3rdparty/cryptopp/serpent.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sha3.cc \
|
||||
# src/crypto/3rdparty/cryptopp/shacal2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/shacal2_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sha.cc \
|
||||
# src/crypto/3rdparty/cryptopp/shake.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sharkbox.cc \
|
||||
# src/crypto/3rdparty/cryptopp/shark.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sha_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simeck.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simeck_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simon128_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simon64_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simon.cc \
|
||||
# src/crypto/3rdparty/cryptopp/simple.cc \
|
||||
# src/crypto/3rdparty/cryptopp/skipjack.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sm3.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sm4.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sm4_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sosemanuk.cc \
|
||||
# src/crypto/3rdparty/cryptopp/speck128_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/speck64_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/speck.cc \
|
||||
# src/crypto/3rdparty/cryptopp/square.cc \
|
||||
# src/crypto/3rdparty/cryptopp/squaretb.cc \
|
||||
# src/crypto/3rdparty/cryptopp/sse_simd.cc \
|
||||
# src/crypto/3rdparty/cryptopp/strciphr.cc \
|
||||
# src/crypto/3rdparty/cryptopp/tea.cc \
|
||||
# src/crypto/3rdparty/cryptopp/test.cc \
|
||||
# src/crypto/3rdparty/cryptopp/tftables.cc \
|
||||
# src/crypto/3rdparty/cryptopp/threefish.cc \
|
||||
# src/crypto/3rdparty/cryptopp/tiger.cc \
|
||||
# src/crypto/3rdparty/cryptopp/tigertab.cc \
|
||||
# src/crypto/3rdparty/cryptopp/ttmac.cc \
|
||||
# src/crypto/3rdparty/cryptopp/tweetnacl.cc \
|
||||
# src/crypto/3rdparty/cryptopp/twofish.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat0.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat10.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat1.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat2.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat3.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat4.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat5.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat6.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat7.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat8.cc \
|
||||
# src/crypto/3rdparty/cryptopp/validat9.cc \
|
||||
# src/crypto/3rdparty/cryptopp/vmac.cc \
|
||||
# src/crypto/3rdparty/cryptopp/wake.cc \
|
||||
# src/crypto/3rdparty/cryptopp/whrlpool.cc \
|
||||
# src/crypto/3rdparty/cryptopp/xed25519.cc \
|
||||
# src/crypto/3rdparty/cryptopp/xtr.cc \
|
||||
# src/crypto/3rdparty/cryptopp/xtrcrypt.cc \
|
||||
# src/crypto/3rdparty/cryptopp/xts.cc \
|
||||
# src/crypto/3rdparty/cryptopp/zdeflate.cc \
|
||||
# src/crypto/3rdparty/cryptopp/zinflate.cc \
|
||||
# src/crypto/3rdparty/cryptopp/zlib.cpp.cc
|
Loading…
Reference in New Issue