charm-crypto-framework 0.61.1__cp313-cp313-macosx_10_13_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- charm/__init__.py +5 -0
- charm/adapters/__init__.py +0 -0
- charm/adapters/abenc_adapt_hybrid.py +90 -0
- charm/adapters/dabenc_adapt_hybrid.py +145 -0
- charm/adapters/ibenc_adapt_hybrid.py +72 -0
- charm/adapters/ibenc_adapt_identityhash.py +80 -0
- charm/adapters/kpabenc_adapt_hybrid.py +91 -0
- charm/adapters/pkenc_adapt_bchk05.py +121 -0
- charm/adapters/pkenc_adapt_chk04.py +91 -0
- charm/adapters/pkenc_adapt_hybrid.py +98 -0
- charm/adapters/pksig_adapt_naor01.py +89 -0
- charm/config.py +7 -0
- charm/core/__init__.py +0 -0
- charm/core/benchmark/benchmark_util.c +353 -0
- charm/core/benchmark/benchmark_util.h +61 -0
- charm/core/benchmark/benchmarkmodule.c +476 -0
- charm/core/benchmark/benchmarkmodule.h +162 -0
- charm/core/benchmark.cpython-313-darwin.so +0 -0
- charm/core/crypto/AES/AES.c +1464 -0
- charm/core/crypto/AES.cpython-313-darwin.so +0 -0
- charm/core/crypto/DES/DES.c +113 -0
- charm/core/crypto/DES.cpython-313-darwin.so +0 -0
- charm/core/crypto/DES3/DES3.c +26 -0
- charm/core/crypto/DES3.cpython-313-darwin.so +0 -0
- charm/core/crypto/__init__.py +0 -0
- charm/core/crypto/cryptobase/XOR.c +80 -0
- charm/core/crypto/cryptobase/_counter.c +496 -0
- charm/core/crypto/cryptobase/_counter.h +54 -0
- charm/core/crypto/cryptobase/block_template.c +900 -0
- charm/core/crypto/cryptobase/block_template.h +69 -0
- charm/core/crypto/cryptobase/cryptobasemodule.c +220 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt.h +90 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_argchk.h +44 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_cfg.h +186 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_cipher.h +941 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_custom.h +556 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_des.c +1912 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_hash.h +407 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_mac.h +496 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_macros.h +435 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_math.h +534 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_misc.h +103 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_pk.h +653 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_pkcs.h +90 -0
- charm/core/crypto/cryptobase/libtom/tomcrypt_prng.h +199 -0
- charm/core/crypto/cryptobase/stream_template.c +271 -0
- charm/core/crypto/cryptobase/strxor.c +229 -0
- charm/core/crypto/cryptobase.cpython-313-darwin.so +0 -0
- charm/core/engine/__init__.py +5 -0
- charm/core/engine/protocol.py +293 -0
- charm/core/engine/util.py +174 -0
- charm/core/math/__init__.py +0 -0
- charm/core/math/elliptic_curve/ecmodule.c +1986 -0
- charm/core/math/elliptic_curve/ecmodule.h +230 -0
- charm/core/math/elliptic_curve.cpython-313-darwin.so +0 -0
- charm/core/math/elliptic_curve.pyi +63 -0
- charm/core/math/integer/integermodule.c +2539 -0
- charm/core/math/integer/integermodule.h +145 -0
- charm/core/math/integer.cpython-313-darwin.so +0 -0
- charm/core/math/integer.pyi +76 -0
- charm/core/math/pairing/miracl/miracl_config.h +37 -0
- charm/core/math/pairing/miracl/miracl_interface.h +118 -0
- charm/core/math/pairing/miracl/miracl_interface2.h +126 -0
- charm/core/math/pairing/miracl/pairingmodule2.c +2094 -0
- charm/core/math/pairing/miracl/pairingmodule2.h +307 -0
- charm/core/math/pairing/pairingmodule.c +2230 -0
- charm/core/math/pairing/pairingmodule.h +241 -0
- charm/core/math/pairing/relic/pairingmodule3.c +1853 -0
- charm/core/math/pairing/relic/pairingmodule3.h +233 -0
- charm/core/math/pairing/relic/relic_interface.c +1337 -0
- charm/core/math/pairing/relic/relic_interface.h +217 -0
- charm/core/math/pairing/relic/test_relic.c +171 -0
- charm/core/math/pairing.cpython-313-darwin.so +0 -0
- charm/core/math/pairing.pyi +69 -0
- charm/core/utilities/base64.c +248 -0
- charm/core/utilities/base64.h +15 -0
- charm/schemes/__init__.py +0 -0
- charm/schemes/abenc/__init__.py +0 -0
- charm/schemes/abenc/abenc_accountability_jyjxgd20.py +647 -0
- charm/schemes/abenc/abenc_bsw07.py +146 -0
- charm/schemes/abenc/abenc_ca_cpabe_ar17.py +684 -0
- charm/schemes/abenc/abenc_dacmacs_yj14.py +298 -0
- charm/schemes/abenc/abenc_lsw08.py +159 -0
- charm/schemes/abenc/abenc_maabe_rw15.py +236 -0
- charm/schemes/abenc/abenc_maabe_yj14.py +297 -0
- charm/schemes/abenc/abenc_tbpre_lww14.py +309 -0
- charm/schemes/abenc/abenc_unmcpabe_yahk14.py +223 -0
- charm/schemes/abenc/abenc_waters09.py +144 -0
- charm/schemes/abenc/abenc_yct14.py +208 -0
- charm/schemes/abenc/abenc_yllc15.py +178 -0
- charm/schemes/abenc/ac17.py +248 -0
- charm/schemes/abenc/bsw07.py +141 -0
- charm/schemes/abenc/cgw15.py +277 -0
- charm/schemes/abenc/dabe_aw11.py +204 -0
- charm/schemes/abenc/dfa_fe12.py +144 -0
- charm/schemes/abenc/pk_hve08.py +179 -0
- charm/schemes/abenc/waters11.py +143 -0
- charm/schemes/aggrsign_MuSig.py +150 -0
- charm/schemes/aggrsign_bls.py +267 -0
- charm/schemes/blindsig_ps16.py +654 -0
- charm/schemes/chamhash_adm05.py +113 -0
- charm/schemes/chamhash_rsa_hw09.py +100 -0
- charm/schemes/commit/__init__.py +0 -0
- charm/schemes/commit/commit_gs08.py +77 -0
- charm/schemes/commit/commit_pedersen92.py +53 -0
- charm/schemes/encap_bchk05.py +62 -0
- charm/schemes/grpsig/__init__.py +0 -0
- charm/schemes/grpsig/groupsig_bgls04.py +114 -0
- charm/schemes/grpsig/groupsig_bgls04_var.py +115 -0
- charm/schemes/hibenc/__init__.py +0 -0
- charm/schemes/hibenc/hibenc_bb04.py +105 -0
- charm/schemes/hibenc/hibenc_lew11.py +193 -0
- charm/schemes/ibenc/__init__.py +0 -0
- charm/schemes/ibenc/clpkc_rp03.py +119 -0
- charm/schemes/ibenc/ibenc_CW13_z.py +168 -0
- charm/schemes/ibenc/ibenc_bb03.py +94 -0
- charm/schemes/ibenc/ibenc_bf01.py +121 -0
- charm/schemes/ibenc/ibenc_ckrs09.py +120 -0
- charm/schemes/ibenc/ibenc_cllww12_z.py +172 -0
- charm/schemes/ibenc/ibenc_lsw08.py +120 -0
- charm/schemes/ibenc/ibenc_sw05.py +238 -0
- charm/schemes/ibenc/ibenc_waters05.py +144 -0
- charm/schemes/ibenc/ibenc_waters05_z.py +164 -0
- charm/schemes/ibenc/ibenc_waters09.py +107 -0
- charm/schemes/ibenc/ibenc_waters09_z.py +147 -0
- charm/schemes/joye_scheme.py +106 -0
- charm/schemes/lem_scheme.py +207 -0
- charm/schemes/pk_fre_ccv11.py +107 -0
- charm/schemes/pk_vrf.py +127 -0
- charm/schemes/pkenc/__init__.py +0 -0
- charm/schemes/pkenc/pkenc_cs98.py +108 -0
- charm/schemes/pkenc/pkenc_elgamal85.py +122 -0
- charm/schemes/pkenc/pkenc_gm82.py +98 -0
- charm/schemes/pkenc/pkenc_paillier99.py +118 -0
- charm/schemes/pkenc/pkenc_rabin.py +254 -0
- charm/schemes/pkenc/pkenc_rsa.py +186 -0
- charm/schemes/pksig/__init__.py +0 -0
- charm/schemes/pksig/pksig_CW13_z.py +135 -0
- charm/schemes/pksig/pksig_bls04.py +87 -0
- charm/schemes/pksig/pksig_boyen.py +156 -0
- charm/schemes/pksig/pksig_chch.py +97 -0
- charm/schemes/pksig/pksig_chp.py +70 -0
- charm/schemes/pksig/pksig_cl03.py +150 -0
- charm/schemes/pksig/pksig_cl04.py +87 -0
- charm/schemes/pksig/pksig_cllww12_z.py +142 -0
- charm/schemes/pksig/pksig_cyh.py +132 -0
- charm/schemes/pksig/pksig_dsa.py +76 -0
- charm/schemes/pksig/pksig_ecdsa.py +71 -0
- charm/schemes/pksig/pksig_hess.py +104 -0
- charm/schemes/pksig/pksig_hw.py +110 -0
- charm/schemes/pksig/pksig_lamport.py +63 -0
- charm/schemes/pksig/pksig_ps01.py +135 -0
- charm/schemes/pksig/pksig_ps02.py +124 -0
- charm/schemes/pksig/pksig_ps03.py +119 -0
- charm/schemes/pksig/pksig_rsa_hw09.py +206 -0
- charm/schemes/pksig/pksig_schnorr91.py +77 -0
- charm/schemes/pksig/pksig_waters.py +115 -0
- charm/schemes/pksig/pksig_waters05.py +121 -0
- charm/schemes/pksig/pksig_waters09.py +121 -0
- charm/schemes/pre_mg07.py +150 -0
- charm/schemes/prenc/pre_afgh06.py +126 -0
- charm/schemes/prenc/pre_bbs98.py +123 -0
- charm/schemes/prenc/pre_nal16.py +216 -0
- charm/schemes/protocol_a01.py +272 -0
- charm/schemes/protocol_ao00.py +215 -0
- charm/schemes/protocol_cns07.py +274 -0
- charm/schemes/protocol_schnorr91.py +125 -0
- charm/schemes/sigma1.py +64 -0
- charm/schemes/sigma2.py +129 -0
- charm/schemes/sigma3.py +126 -0
- charm/schemes/threshold/__init__.py +59 -0
- charm/schemes/threshold/dkls23_dkg.py +556 -0
- charm/schemes/threshold/dkls23_presign.py +1089 -0
- charm/schemes/threshold/dkls23_sign.py +761 -0
- charm/schemes/threshold/xrpl_wallet.py +967 -0
- charm/test/__init__.py +0 -0
- charm/test/adapters/__init__.py +0 -0
- charm/test/adapters/abenc_adapt_hybrid_test.py +29 -0
- charm/test/adapters/dabenc_adapt_hybrid_test.py +56 -0
- charm/test/adapters/ibenc_adapt_hybrid_test.py +36 -0
- charm/test/adapters/ibenc_adapt_identityhash_test.py +32 -0
- charm/test/adapters/kpabenc_adapt_hybrid_test.py +30 -0
- charm/test/benchmark/abenc_yllc15_bench.py +92 -0
- charm/test/benchmark/benchmark_test.py +148 -0
- charm/test/benchmark_threshold.py +260 -0
- charm/test/conftest.py +38 -0
- charm/test/fuzz/__init__.py +1 -0
- charm/test/fuzz/conftest.py +5 -0
- charm/test/fuzz/fuzz_policy_parser.py +76 -0
- charm/test/fuzz/fuzz_serialization.py +83 -0
- charm/test/schemes/__init__.py +0 -0
- charm/test/schemes/abenc/__init__.py +0 -0
- charm/test/schemes/abenc/abenc_bsw07_test.py +39 -0
- charm/test/schemes/abenc/abenc_dacmacs_yj14_test.py +16 -0
- charm/test/schemes/abenc/abenc_lsw08_test.py +33 -0
- charm/test/schemes/abenc/abenc_maabe_yj14_test.py +16 -0
- charm/test/schemes/abenc/abenc_tbpre_lww14_test.py +16 -0
- charm/test/schemes/abenc/abenc_waters09_test.py +38 -0
- charm/test/schemes/abenc/abenc_yllc15_test.py +74 -0
- charm/test/schemes/chamhash_adm05_test.py +31 -0
- charm/test/schemes/chamhash_rsa_hw09_test.py +29 -0
- charm/test/schemes/commit/__init__.py +0 -0
- charm/test/schemes/commit/commit_gs08_test.py +24 -0
- charm/test/schemes/commit/commit_pedersen92_test.py +26 -0
- charm/test/schemes/dabe_aw11_test.py +45 -0
- charm/test/schemes/encap_bchk05_test.py +21 -0
- charm/test/schemes/grpsig/__init__.py +0 -0
- charm/test/schemes/grpsig/groupsig_bgls04_test.py +35 -0
- charm/test/schemes/grpsig/groupsig_bgls04_var_test.py +39 -0
- charm/test/schemes/hibenc/__init__.py +0 -0
- charm/test/schemes/hibenc/hibenc_bb04_test.py +28 -0
- charm/test/schemes/ibenc/__init__.py +0 -0
- charm/test/schemes/ibenc/ibenc_bb03_test.py +26 -0
- charm/test/schemes/ibenc/ibenc_bf01_test.py +24 -0
- charm/test/schemes/ibenc/ibenc_ckrs09_test.py +25 -0
- charm/test/schemes/ibenc/ibenc_lsw08_test.py +31 -0
- charm/test/schemes/ibenc/ibenc_sw05_test.py +32 -0
- charm/test/schemes/ibenc/ibenc_waters05_test.py +31 -0
- charm/test/schemes/ibenc/ibenc_waters09_test.py +27 -0
- charm/test/schemes/pk_vrf_test.py +29 -0
- charm/test/schemes/pkenc/__init__.py +0 -0
- charm/test/schemes/pkenc_test.py +255 -0
- charm/test/schemes/pksig/__init__.py +0 -0
- charm/test/schemes/pksig_test.py +376 -0
- charm/test/schemes/rsa_alg_test.py +340 -0
- charm/test/schemes/threshold_test.py +1792 -0
- charm/test/serialize/__init__.py +0 -0
- charm/test/serialize/serialize_test.py +40 -0
- charm/test/toolbox/__init__.py +0 -0
- charm/test/toolbox/conversion_test.py +30 -0
- charm/test/toolbox/ecgroup_test.py +53 -0
- charm/test/toolbox/integer_arithmetic_test.py +441 -0
- charm/test/toolbox/paddingschemes_test.py +238 -0
- charm/test/toolbox/policy_parser_stress_test.py +969 -0
- charm/test/toolbox/secretshare_test.py +28 -0
- charm/test/toolbox/symcrypto_test.py +108 -0
- charm/test/toolbox/test_policy_expression.py +16 -0
- charm/test/vectors/__init__.py +1 -0
- charm/test/vectors/test_bls_vectors.py +289 -0
- charm/test/vectors/test_pedersen_vectors.py +315 -0
- charm/test/vectors/test_schnorr_vectors.py +368 -0
- charm/test/zkp_compiler/__init__.py +9 -0
- charm/test/zkp_compiler/benchmark_zkp.py +258 -0
- charm/test/zkp_compiler/test_and_proof.py +240 -0
- charm/test/zkp_compiler/test_batch_verify.py +248 -0
- charm/test/zkp_compiler/test_dleq_proof.py +264 -0
- charm/test/zkp_compiler/test_or_proof.py +231 -0
- charm/test/zkp_compiler/test_proof_serialization.py +121 -0
- charm/test/zkp_compiler/test_range_proof.py +241 -0
- charm/test/zkp_compiler/test_representation_proof.py +325 -0
- charm/test/zkp_compiler/test_schnorr_proof.py +221 -0
- charm/test/zkp_compiler/test_thread_safety.py +169 -0
- charm/test/zkp_compiler/test_zkp_parser.py +139 -0
- charm/toolbox/ABEnc.py +26 -0
- charm/toolbox/ABEncMultiAuth.py +66 -0
- charm/toolbox/ABEnumeric.py +800 -0
- charm/toolbox/Commit.py +24 -0
- charm/toolbox/DFA.py +89 -0
- charm/toolbox/FSA.py +1254 -0
- charm/toolbox/Hash.py +39 -0
- charm/toolbox/IBEnc.py +62 -0
- charm/toolbox/IBSig.py +64 -0
- charm/toolbox/PKEnc.py +66 -0
- charm/toolbox/PKSig.py +56 -0
- charm/toolbox/PREnc.py +32 -0
- charm/toolbox/ZKProof.py +289 -0
- charm/toolbox/__init__.py +0 -0
- charm/toolbox/bitstring.py +49 -0
- charm/toolbox/broadcast.py +220 -0
- charm/toolbox/conversion.py +100 -0
- charm/toolbox/eccurve.py +149 -0
- charm/toolbox/ecgroup.py +143 -0
- charm/toolbox/enum.py +60 -0
- charm/toolbox/hash_module.py +91 -0
- charm/toolbox/integergroup.py +323 -0
- charm/toolbox/iterate.py +22 -0
- charm/toolbox/matrixops.py +76 -0
- charm/toolbox/mpc_utils.py +296 -0
- charm/toolbox/msp.py +175 -0
- charm/toolbox/mta.py +985 -0
- charm/toolbox/node.py +120 -0
- charm/toolbox/ot/__init__.py +22 -0
- charm/toolbox/ot/base_ot.py +374 -0
- charm/toolbox/ot/dpf.py +642 -0
- charm/toolbox/ot/mpfss.py +228 -0
- charm/toolbox/ot/ot_extension.py +589 -0
- charm/toolbox/ot/silent_ot.py +378 -0
- charm/toolbox/paddingschemes.py +423 -0
- charm/toolbox/paddingschemes_test.py +238 -0
- charm/toolbox/pairingcurves.py +85 -0
- charm/toolbox/pairinggroup.py +186 -0
- charm/toolbox/policy_expression_spec.py +70 -0
- charm/toolbox/policytree.py +189 -0
- charm/toolbox/reCompiler.py +346 -0
- charm/toolbox/redundancyschemes.py +65 -0
- charm/toolbox/schemebase.py +188 -0
- charm/toolbox/secretshare.py +104 -0
- charm/toolbox/secretutil.py +174 -0
- charm/toolbox/securerandom.py +73 -0
- charm/toolbox/sigmaprotocol.py +46 -0
- charm/toolbox/specialprimes.py +45 -0
- charm/toolbox/symcrypto.py +279 -0
- charm/toolbox/threshold_sharing.py +553 -0
- charm/toolbox/xmlserialize.py +94 -0
- charm/toolbox/zknode.py +105 -0
- charm/zkp_compiler/__init__.py +89 -0
- charm/zkp_compiler/and_proof.py +460 -0
- charm/zkp_compiler/batch_verify.py +324 -0
- charm/zkp_compiler/dleq_proof.py +423 -0
- charm/zkp_compiler/or_proof.py +305 -0
- charm/zkp_compiler/range_proof.py +417 -0
- charm/zkp_compiler/representation_proof.py +466 -0
- charm/zkp_compiler/schnorr_proof.py +273 -0
- charm/zkp_compiler/thread_safe.py +150 -0
- charm/zkp_compiler/zk_demo.py +489 -0
- charm/zkp_compiler/zkp_factory.py +330 -0
- charm/zkp_compiler/zkp_generator.py +370 -0
- charm/zkp_compiler/zkparser.py +269 -0
- charm_crypto_framework-0.61.1.dist-info/METADATA +337 -0
- charm_crypto_framework-0.61.1.dist-info/RECORD +323 -0
- charm_crypto_framework-0.61.1.dist-info/WHEEL +5 -0
- charm_crypto_framework-0.61.1.dist-info/licenses/LICENSE.txt +165 -0
- charm_crypto_framework-0.61.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
#ifndef TOMCRYPT_CUSTOM_H_
|
|
2
|
+
#define TOMCRYPT_CUSTOM_H_
|
|
3
|
+
|
|
4
|
+
/* macros for various libc functions you can change for embedded targets */
|
|
5
|
+
#ifndef XMALLOC
|
|
6
|
+
#ifdef malloc
|
|
7
|
+
#define LTC_NO_PROTOTYPES
|
|
8
|
+
#endif
|
|
9
|
+
#define XMALLOC malloc
|
|
10
|
+
#endif
|
|
11
|
+
#ifndef XREALLOC
|
|
12
|
+
#ifdef realloc
|
|
13
|
+
#define LTC_NO_PROTOTYPES
|
|
14
|
+
#endif
|
|
15
|
+
#define XREALLOC realloc
|
|
16
|
+
#endif
|
|
17
|
+
#ifndef XCALLOC
|
|
18
|
+
#ifdef calloc
|
|
19
|
+
#define LTC_NO_PROTOTYPES
|
|
20
|
+
#endif
|
|
21
|
+
#define XCALLOC calloc
|
|
22
|
+
#endif
|
|
23
|
+
#ifndef XFREE
|
|
24
|
+
#ifdef free
|
|
25
|
+
#define LTC_NO_PROTOTYPES
|
|
26
|
+
#endif
|
|
27
|
+
#define XFREE free
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#ifndef XMEMSET
|
|
31
|
+
#ifdef memset
|
|
32
|
+
#define LTC_NO_PROTOTYPES
|
|
33
|
+
#endif
|
|
34
|
+
#define XMEMSET memset
|
|
35
|
+
#endif
|
|
36
|
+
#ifndef XMEMCPY
|
|
37
|
+
#ifdef memcpy
|
|
38
|
+
#define LTC_NO_PROTOTYPES
|
|
39
|
+
#endif
|
|
40
|
+
#define XMEMCPY memcpy
|
|
41
|
+
#endif
|
|
42
|
+
#ifndef XMEMCMP
|
|
43
|
+
#ifdef memcmp
|
|
44
|
+
#define LTC_NO_PROTOTYPES
|
|
45
|
+
#endif
|
|
46
|
+
#define XMEMCMP memcmp
|
|
47
|
+
#endif
|
|
48
|
+
#ifndef XMEM_NEQ
|
|
49
|
+
#define XMEM_NEQ mem_neq
|
|
50
|
+
#endif
|
|
51
|
+
#ifndef XSTRCMP
|
|
52
|
+
#ifdef strcmp
|
|
53
|
+
#define LTC_NO_PROTOTYPES
|
|
54
|
+
#endif
|
|
55
|
+
#define XSTRCMP strcmp
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#ifndef XCLOCK
|
|
59
|
+
#define XCLOCK clock
|
|
60
|
+
#endif
|
|
61
|
+
#ifndef XCLOCKS_PER_SEC
|
|
62
|
+
#define XCLOCKS_PER_SEC CLOCKS_PER_SEC
|
|
63
|
+
#endif
|
|
64
|
+
|
|
65
|
+
#ifndef XQSORT
|
|
66
|
+
#ifdef qsort
|
|
67
|
+
#define LTC_NO_PROTOTYPES
|
|
68
|
+
#endif
|
|
69
|
+
#define XQSORT qsort
|
|
70
|
+
#endif
|
|
71
|
+
|
|
72
|
+
/* shortcut to disable automatic inclusion */
|
|
73
|
+
#if defined LTC_NOTHING && !defined LTC_EASY
|
|
74
|
+
#define LTC_NO_MATH
|
|
75
|
+
#define LTC_NO_CIPHERS
|
|
76
|
+
#define LTC_NO_MODES
|
|
77
|
+
#define LTC_NO_HASHES
|
|
78
|
+
#define LTC_NO_MACS
|
|
79
|
+
#define LTC_NO_PRNGS
|
|
80
|
+
#define LTC_NO_PK
|
|
81
|
+
#define LTC_NO_PKCS
|
|
82
|
+
#define LTC_NO_MISC
|
|
83
|
+
#define LTC_NO_FILE
|
|
84
|
+
#endif /* LTC_NOTHING */
|
|
85
|
+
|
|
86
|
+
/* Easy button? */
|
|
87
|
+
#ifdef LTC_EASY
|
|
88
|
+
#define LTC_NO_CIPHERS
|
|
89
|
+
#define LTC_RIJNDAEL
|
|
90
|
+
#define LTC_BLOWFISH
|
|
91
|
+
#define LTC_DES
|
|
92
|
+
#define LTC_CAST5
|
|
93
|
+
|
|
94
|
+
#define LTC_NO_MODES
|
|
95
|
+
#define LTC_ECB_MODE
|
|
96
|
+
#define LTC_CBC_MODE
|
|
97
|
+
#define LTC_CTR_MODE
|
|
98
|
+
|
|
99
|
+
#define LTC_NO_HASHES
|
|
100
|
+
#define LTC_SHA1
|
|
101
|
+
#define LTC_SHA512
|
|
102
|
+
#define LTC_SHA384
|
|
103
|
+
#define LTC_SHA256
|
|
104
|
+
#define LTC_SHA224
|
|
105
|
+
#define LTC_HASH_HELPERS
|
|
106
|
+
|
|
107
|
+
#define LTC_NO_MACS
|
|
108
|
+
#define LTC_HMAC
|
|
109
|
+
#define LTC_OMAC
|
|
110
|
+
#define LTC_CCM_MODE
|
|
111
|
+
|
|
112
|
+
#define LTC_NO_PRNGS
|
|
113
|
+
#define LTC_SPRNG
|
|
114
|
+
#define LTC_YARROW
|
|
115
|
+
#define LTC_DEVRANDOM
|
|
116
|
+
#define LTC_TRY_URANDOM_FIRST
|
|
117
|
+
#define LTC_RNG_GET_BYTES
|
|
118
|
+
#define LTC_RNG_MAKE_PRNG
|
|
119
|
+
|
|
120
|
+
#define LTC_NO_PK
|
|
121
|
+
#define LTC_MRSA
|
|
122
|
+
#define LTC_MECC
|
|
123
|
+
|
|
124
|
+
#define LTC_NO_MISC
|
|
125
|
+
#define LTC_BASE64
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
/* The minimal set of functionality to run the tests */
|
|
129
|
+
#ifdef LTC_MINIMAL
|
|
130
|
+
#define LTC_SHA256
|
|
131
|
+
#define LTC_CTR_MODE
|
|
132
|
+
#define LTC_RNG_MAKE_PRNG
|
|
133
|
+
#define LTC_RNG_GET_BYTES
|
|
134
|
+
#define LTC_YARROW
|
|
135
|
+
#define LTC_DEVRANDOM
|
|
136
|
+
#define LTC_TRY_URANDOM_FIRST
|
|
137
|
+
|
|
138
|
+
#undef LTC_NO_FILE
|
|
139
|
+
#endif
|
|
140
|
+
|
|
141
|
+
/* Enable self-test test vector checking */
|
|
142
|
+
#ifndef LTC_NO_TEST
|
|
143
|
+
#define LTC_TEST
|
|
144
|
+
#endif
|
|
145
|
+
/* Enable extended self-tests */
|
|
146
|
+
/* #define LTC_TEST_EXT */
|
|
147
|
+
|
|
148
|
+
/* Use small code where possible */
|
|
149
|
+
/* #define LTC_SMALL_CODE */
|
|
150
|
+
|
|
151
|
+
/* clean the stack of functions which put private information on stack */
|
|
152
|
+
/* #define LTC_CLEAN_STACK */
|
|
153
|
+
|
|
154
|
+
/* disable all file related functions */
|
|
155
|
+
/* #define LTC_NO_FILE */
|
|
156
|
+
|
|
157
|
+
/* disable all forms of ASM */
|
|
158
|
+
/* #define LTC_NO_ASM */
|
|
159
|
+
|
|
160
|
+
/* disable FAST mode */
|
|
161
|
+
/* #define LTC_NO_FAST */
|
|
162
|
+
|
|
163
|
+
/* disable BSWAP on x86 */
|
|
164
|
+
/* #define LTC_NO_BSWAP */
|
|
165
|
+
|
|
166
|
+
/* ---> math provider? <--- */
|
|
167
|
+
#ifndef LTC_NO_MATH
|
|
168
|
+
|
|
169
|
+
/* LibTomMath */
|
|
170
|
+
/* #define LTM_DESC */
|
|
171
|
+
|
|
172
|
+
/* TomsFastMath */
|
|
173
|
+
/* #define TFM_DESC */
|
|
174
|
+
|
|
175
|
+
#endif /* LTC_NO_MATH */
|
|
176
|
+
|
|
177
|
+
/* GNU Multiple Precision Arithmetic Library */
|
|
178
|
+
/* #define GMP_DESC */
|
|
179
|
+
|
|
180
|
+
/* ---> Symmetric Block Ciphers <--- */
|
|
181
|
+
#ifndef LTC_NO_CIPHERS
|
|
182
|
+
|
|
183
|
+
#define LTC_BLOWFISH
|
|
184
|
+
#define LTC_RC2
|
|
185
|
+
#define LTC_RC5
|
|
186
|
+
#define LTC_RC6
|
|
187
|
+
#define LTC_SAFERP
|
|
188
|
+
#define LTC_RIJNDAEL
|
|
189
|
+
#define LTC_XTEA
|
|
190
|
+
/* _TABLES tells it to use tables during setup, _SMALL means to use the smaller scheduled key format
|
|
191
|
+
* (saves 4KB of ram), _ALL_TABLES enables all tables during setup */
|
|
192
|
+
#define LTC_TWOFISH
|
|
193
|
+
#ifndef LTC_NO_TABLES
|
|
194
|
+
#define LTC_TWOFISH_TABLES
|
|
195
|
+
/* #define LTC_TWOFISH_ALL_TABLES */
|
|
196
|
+
#else
|
|
197
|
+
#define LTC_TWOFISH_SMALL
|
|
198
|
+
#endif
|
|
199
|
+
/* #define LTC_TWOFISH_SMALL */
|
|
200
|
+
/* LTC_DES includes EDE triple-DES */
|
|
201
|
+
#define LTC_DES
|
|
202
|
+
#define LTC_CAST5
|
|
203
|
+
#define LTC_NOEKEON
|
|
204
|
+
#define LTC_SKIPJACK
|
|
205
|
+
#define LTC_SAFER
|
|
206
|
+
#define LTC_KHAZAD
|
|
207
|
+
#define LTC_ANUBIS
|
|
208
|
+
#define LTC_ANUBIS_TWEAK
|
|
209
|
+
#define LTC_KSEED
|
|
210
|
+
#define LTC_KASUMI
|
|
211
|
+
#define LTC_MULTI2
|
|
212
|
+
#define LTC_CAMELLIA
|
|
213
|
+
|
|
214
|
+
#endif /* LTC_NO_CIPHERS */
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
/* ---> Block Cipher Modes of Operation <--- */
|
|
218
|
+
#ifndef LTC_NO_MODES
|
|
219
|
+
|
|
220
|
+
#define LTC_CFB_MODE
|
|
221
|
+
#define LTC_OFB_MODE
|
|
222
|
+
#define LTC_ECB_MODE
|
|
223
|
+
#define LTC_CBC_MODE
|
|
224
|
+
#define LTC_CTR_MODE
|
|
225
|
+
|
|
226
|
+
/* F8 chaining mode */
|
|
227
|
+
#define LTC_F8_MODE
|
|
228
|
+
|
|
229
|
+
/* LRW mode */
|
|
230
|
+
#define LTC_LRW_MODE
|
|
231
|
+
#ifndef LTC_NO_TABLES
|
|
232
|
+
/* like GCM mode this will enable 16 8x128 tables [64KB] that make
|
|
233
|
+
* seeking very fast.
|
|
234
|
+
*/
|
|
235
|
+
#define LTC_LRW_TABLES
|
|
236
|
+
#endif
|
|
237
|
+
|
|
238
|
+
/* XTS mode */
|
|
239
|
+
#define LTC_XTS_MODE
|
|
240
|
+
|
|
241
|
+
#endif /* LTC_NO_MODES */
|
|
242
|
+
|
|
243
|
+
/* ---> One-Way Hash Functions <--- */
|
|
244
|
+
#ifndef LTC_NO_HASHES
|
|
245
|
+
|
|
246
|
+
#define LTC_CHC_HASH
|
|
247
|
+
#define LTC_WHIRLPOOL
|
|
248
|
+
#define LTC_SHA512
|
|
249
|
+
#define LTC_SHA512_256
|
|
250
|
+
#define LTC_SHA512_224
|
|
251
|
+
#define LTC_SHA384
|
|
252
|
+
#define LTC_SHA256
|
|
253
|
+
#define LTC_SHA224
|
|
254
|
+
#define LTC_TIGER
|
|
255
|
+
#define LTC_SHA1
|
|
256
|
+
#define LTC_MD5
|
|
257
|
+
#define LTC_MD4
|
|
258
|
+
#define LTC_MD2
|
|
259
|
+
#define LTC_RIPEMD128
|
|
260
|
+
#define LTC_RIPEMD160
|
|
261
|
+
#define LTC_RIPEMD256
|
|
262
|
+
#define LTC_RIPEMD320
|
|
263
|
+
|
|
264
|
+
#define LTC_HASH_HELPERS
|
|
265
|
+
|
|
266
|
+
#endif /* LTC_NO_HASHES */
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
/* ---> MAC functions <--- */
|
|
270
|
+
#ifndef LTC_NO_MACS
|
|
271
|
+
|
|
272
|
+
#define LTC_HMAC
|
|
273
|
+
#define LTC_OMAC
|
|
274
|
+
#define LTC_PMAC
|
|
275
|
+
#define LTC_XCBC
|
|
276
|
+
#define LTC_F9_MODE
|
|
277
|
+
#define LTC_PELICAN
|
|
278
|
+
|
|
279
|
+
/* ---> Encrypt + Authenticate Modes <--- */
|
|
280
|
+
|
|
281
|
+
#define LTC_EAX_MODE
|
|
282
|
+
|
|
283
|
+
#define LTC_OCB_MODE
|
|
284
|
+
#define LTC_OCB3_MODE
|
|
285
|
+
#define LTC_CCM_MODE
|
|
286
|
+
#define LTC_GCM_MODE
|
|
287
|
+
|
|
288
|
+
/* Use 64KiB tables */
|
|
289
|
+
#ifndef LTC_NO_TABLES
|
|
290
|
+
#define LTC_GCM_TABLES
|
|
291
|
+
#endif
|
|
292
|
+
|
|
293
|
+
/* USE SSE2? requires GCC works on x86_32 and x86_64*/
|
|
294
|
+
#ifdef LTC_GCM_TABLES
|
|
295
|
+
/* #define LTC_GCM_TABLES_SSE2 */
|
|
296
|
+
#endif
|
|
297
|
+
|
|
298
|
+
#endif /* LTC_NO_MACS */
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
/* --> Pseudo Random Number Generators <--- */
|
|
302
|
+
#ifndef LTC_NO_PRNGS
|
|
303
|
+
|
|
304
|
+
/* Yarrow */
|
|
305
|
+
#define LTC_YARROW
|
|
306
|
+
/* which descriptor of AES to use? */
|
|
307
|
+
/* 0 = rijndael_enc 1 = aes_enc, 2 = rijndael [full], 3 = aes [full] */
|
|
308
|
+
#ifdef ENCRYPT_ONLY
|
|
309
|
+
#define LTC_YARROW_AES 0
|
|
310
|
+
#else
|
|
311
|
+
#define LTC_YARROW_AES 2
|
|
312
|
+
#endif
|
|
313
|
+
|
|
314
|
+
/* a PRNG that simply reads from an available system source */
|
|
315
|
+
#define LTC_SPRNG
|
|
316
|
+
|
|
317
|
+
/* The LTC_RC4 stream cipher */
|
|
318
|
+
#define LTC_RC4
|
|
319
|
+
|
|
320
|
+
/* Fortuna PRNG */
|
|
321
|
+
#define LTC_FORTUNA
|
|
322
|
+
|
|
323
|
+
/* Greg's LTC_SOBER128 PRNG ;-0 */
|
|
324
|
+
#define LTC_SOBER128
|
|
325
|
+
|
|
326
|
+
/* the *nix style /dev/random device */
|
|
327
|
+
#define LTC_DEVRANDOM
|
|
328
|
+
/* try /dev/urandom before trying /dev/random
|
|
329
|
+
* are you sure you want to disable this? http://www.2uo.de/myths-about-urandom/ */
|
|
330
|
+
#define LTC_TRY_URANDOM_FIRST
|
|
331
|
+
/* rng_get_bytes() */
|
|
332
|
+
#define LTC_RNG_GET_BYTES
|
|
333
|
+
/* rng_make_prng() */
|
|
334
|
+
#define LTC_RNG_MAKE_PRNG
|
|
335
|
+
|
|
336
|
+
#endif /* LTC_NO_PRNGS */
|
|
337
|
+
|
|
338
|
+
#ifdef LTC_FORTUNA
|
|
339
|
+
|
|
340
|
+
#ifndef LTC_FORTUNA_WD
|
|
341
|
+
/* reseed every N calls to the read function */
|
|
342
|
+
#define LTC_FORTUNA_WD 10
|
|
343
|
+
#endif
|
|
344
|
+
|
|
345
|
+
#ifndef LTC_FORTUNA_POOLS
|
|
346
|
+
/* number of pools (4..32) can save a bit of ram by lowering the count */
|
|
347
|
+
#define LTC_FORTUNA_POOLS 32
|
|
348
|
+
#endif
|
|
349
|
+
|
|
350
|
+
#endif /* LTC_FORTUNA */
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
/* ---> Public Key Crypto <--- */
|
|
354
|
+
#ifndef LTC_NO_PK
|
|
355
|
+
|
|
356
|
+
/* Include RSA support */
|
|
357
|
+
#define LTC_MRSA
|
|
358
|
+
|
|
359
|
+
/* Include Diffie-Hellman support */
|
|
360
|
+
#ifndef GMP_DESC
|
|
361
|
+
/* is_prime fails for GMP */
|
|
362
|
+
#define LTC_MDH
|
|
363
|
+
/* Supported Key Sizes */
|
|
364
|
+
#define LTC_DH768
|
|
365
|
+
#define LTC_DH1024
|
|
366
|
+
#define LTC_DH1280
|
|
367
|
+
#define LTC_DH1536
|
|
368
|
+
#define LTC_DH1792
|
|
369
|
+
#define LTC_DH2048
|
|
370
|
+
|
|
371
|
+
#ifndef TFM_DESC
|
|
372
|
+
/* tfm has a problem in fp_isprime for larger key sizes */
|
|
373
|
+
#define LTC_DH2560
|
|
374
|
+
#define LTC_DH3072
|
|
375
|
+
#define LTC_DH4096
|
|
376
|
+
#endif
|
|
377
|
+
#endif
|
|
378
|
+
|
|
379
|
+
/* Include Katja (a Rabin variant like RSA) */
|
|
380
|
+
/* #define LTC_MKAT */
|
|
381
|
+
|
|
382
|
+
/* Digital Signature Algorithm */
|
|
383
|
+
#define LTC_MDSA
|
|
384
|
+
|
|
385
|
+
/* ECC */
|
|
386
|
+
#define LTC_MECC
|
|
387
|
+
|
|
388
|
+
/* use Shamir's trick for point mul (speeds up signature verification) */
|
|
389
|
+
#define LTC_ECC_SHAMIR
|
|
390
|
+
|
|
391
|
+
#if defined(TFM_DESC) && defined(LTC_MECC)
|
|
392
|
+
#define LTC_MECC_ACCEL
|
|
393
|
+
#endif
|
|
394
|
+
|
|
395
|
+
/* do we want fixed point ECC */
|
|
396
|
+
/* #define LTC_MECC_FP */
|
|
397
|
+
|
|
398
|
+
#endif /* LTC_NO_PK */
|
|
399
|
+
|
|
400
|
+
#if defined(LTC_MRSA) && !defined(LTC_NO_RSA_BLINDING)
|
|
401
|
+
/* Enable RSA blinding when doing private key operations by default */
|
|
402
|
+
#define LTC_RSA_BLINDING
|
|
403
|
+
#endif /* LTC_NO_RSA_BLINDING */
|
|
404
|
+
|
|
405
|
+
#if defined(LTC_MRSA) && !defined(LTC_NO_RSA_CRT_HARDENING)
|
|
406
|
+
/* Enable RSA CRT hardening when doing private key operations by default */
|
|
407
|
+
#define LTC_RSA_CRT_HARDENING
|
|
408
|
+
#endif /* LTC_NO_RSA_CRT_HARDENING */
|
|
409
|
+
|
|
410
|
+
#if defined(LTC_MECC) && !defined(LTC_NO_ECC_TIMING_RESISTANT)
|
|
411
|
+
/* Enable ECC timing resistant version by default */
|
|
412
|
+
#define LTC_ECC_TIMING_RESISTANT
|
|
413
|
+
#endif
|
|
414
|
+
|
|
415
|
+
/* define these PK sizes out of LTC_NO_PK
|
|
416
|
+
* to have them always defined
|
|
417
|
+
*/
|
|
418
|
+
#if defined(LTC_MRSA)
|
|
419
|
+
/* Min and Max RSA key sizes (in bits) */
|
|
420
|
+
#ifndef MIN_RSA_SIZE
|
|
421
|
+
#define MIN_RSA_SIZE 1024
|
|
422
|
+
#endif
|
|
423
|
+
#ifndef MAX_RSA_SIZE
|
|
424
|
+
#define MAX_RSA_SIZE 4096
|
|
425
|
+
#endif
|
|
426
|
+
#endif
|
|
427
|
+
|
|
428
|
+
/* in cases where you want ASN.1/DER functionality, but no
|
|
429
|
+
* RSA, you can define this externally if 1024 is not enough
|
|
430
|
+
*/
|
|
431
|
+
#if defined(LTC_MRSA)
|
|
432
|
+
#define LTC_DER_MAX_PUBKEY_SIZE MAX_RSA_SIZE
|
|
433
|
+
#elif !defined(LTC_DER_MAX_PUBKEY_SIZE)
|
|
434
|
+
/* this includes DSA */
|
|
435
|
+
#define LTC_DER_MAX_PUBKEY_SIZE 1024
|
|
436
|
+
#endif
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
/* PKCS #1 (RSA) and #5 (Password Handling) stuff */
|
|
440
|
+
#ifndef LTC_NO_PKCS
|
|
441
|
+
|
|
442
|
+
#define LTC_PKCS_1
|
|
443
|
+
#define LTC_PKCS_5
|
|
444
|
+
|
|
445
|
+
/* Include ASN.1 DER (required by DSA/RSA) */
|
|
446
|
+
#define LTC_DER
|
|
447
|
+
|
|
448
|
+
#endif /* LTC_NO_PKCS */
|
|
449
|
+
|
|
450
|
+
/* misc stuff */
|
|
451
|
+
#ifndef LTC_NO_MISC
|
|
452
|
+
|
|
453
|
+
/* Various tidbits of modern neatoness */
|
|
454
|
+
#define LTC_BASE64
|
|
455
|
+
/* ... and it's URL safe version */
|
|
456
|
+
#define LTC_BASE64_URL
|
|
457
|
+
|
|
458
|
+
/* Keep LTC_NO_HKDF for compatibility reasons
|
|
459
|
+
* superseeded by LTC_NO_MISC*/
|
|
460
|
+
#ifndef LTC_NO_HKDF
|
|
461
|
+
/* HKDF Key Derivation/Expansion stuff */
|
|
462
|
+
#define LTC_HKDF
|
|
463
|
+
#endif /* LTC_NO_HKDF */
|
|
464
|
+
|
|
465
|
+
#define LTC_ADLER32
|
|
466
|
+
|
|
467
|
+
#define LTC_CRC32
|
|
468
|
+
|
|
469
|
+
#endif /* LTC_NO_MISC */
|
|
470
|
+
|
|
471
|
+
/* cleanup */
|
|
472
|
+
|
|
473
|
+
#ifdef LTC_MECC
|
|
474
|
+
/* Supported ECC Key Sizes */
|
|
475
|
+
#ifndef LTC_NO_CURVES
|
|
476
|
+
#define LTC_ECC112
|
|
477
|
+
#define LTC_ECC128
|
|
478
|
+
#define LTC_ECC160
|
|
479
|
+
#define LTC_ECC192
|
|
480
|
+
#define LTC_ECC224
|
|
481
|
+
#define LTC_ECC256
|
|
482
|
+
#define LTC_ECC384
|
|
483
|
+
#define LTC_ECC521
|
|
484
|
+
#endif
|
|
485
|
+
#endif
|
|
486
|
+
|
|
487
|
+
#if defined(LTC_MECC) || defined(LTC_MRSA) || defined(LTC_MDSA) || defined(LTC_MKAT)
|
|
488
|
+
/* Include the MPI functionality? (required by the PK algorithms) */
|
|
489
|
+
#define LTC_MPI
|
|
490
|
+
#endif
|
|
491
|
+
|
|
492
|
+
#ifdef LTC_MRSA
|
|
493
|
+
#define LTC_PKCS_1
|
|
494
|
+
#endif
|
|
495
|
+
|
|
496
|
+
#if defined(TFM_DESC) && defined(LTC_RSA_BLINDING)
|
|
497
|
+
#warning RSA blinding currently not supported in combination with TFM
|
|
498
|
+
#undef LTC_RSA_BLINDING
|
|
499
|
+
#endif
|
|
500
|
+
|
|
501
|
+
#if defined(LTC_PELICAN) && !defined(LTC_RIJNDAEL)
|
|
502
|
+
#error Pelican-MAC requires LTC_RIJNDAEL
|
|
503
|
+
#endif
|
|
504
|
+
|
|
505
|
+
#if defined(LTC_EAX_MODE) && !(defined(LTC_CTR_MODE) && defined(LTC_OMAC))
|
|
506
|
+
#error LTC_EAX_MODE requires CTR and LTC_OMAC mode
|
|
507
|
+
#endif
|
|
508
|
+
|
|
509
|
+
#if defined(LTC_YARROW) && !defined(LTC_CTR_MODE)
|
|
510
|
+
#error LTC_YARROW requires LTC_CTR_MODE chaining mode to be defined!
|
|
511
|
+
#endif
|
|
512
|
+
|
|
513
|
+
#if defined(LTC_DER) && !defined(LTC_MPI)
|
|
514
|
+
#error ASN.1 DER requires MPI functionality
|
|
515
|
+
#endif
|
|
516
|
+
|
|
517
|
+
#if (defined(LTC_MDSA) || defined(LTC_MRSA) || defined(LTC_MECC) || defined(LTC_MKAT)) && !defined(LTC_DER)
|
|
518
|
+
#error PK requires ASN.1 DER functionality, make sure LTC_DER is enabled
|
|
519
|
+
#endif
|
|
520
|
+
|
|
521
|
+
/* THREAD management */
|
|
522
|
+
#ifdef LTC_PTHREAD
|
|
523
|
+
|
|
524
|
+
#include <pthread.h>
|
|
525
|
+
|
|
526
|
+
#define LTC_MUTEX_GLOBAL(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
|
|
527
|
+
#define LTC_MUTEX_PROTO(x) extern pthread_mutex_t x;
|
|
528
|
+
#define LTC_MUTEX_TYPE(x) pthread_mutex_t x;
|
|
529
|
+
#define LTC_MUTEX_INIT(x) pthread_mutex_init(x, NULL);
|
|
530
|
+
#define LTC_MUTEX_LOCK(x) pthread_mutex_lock(x);
|
|
531
|
+
#define LTC_MUTEX_UNLOCK(x) pthread_mutex_unlock(x);
|
|
532
|
+
|
|
533
|
+
#else
|
|
534
|
+
|
|
535
|
+
/* default no functions */
|
|
536
|
+
#define LTC_MUTEX_GLOBAL(x)
|
|
537
|
+
#define LTC_MUTEX_PROTO(x)
|
|
538
|
+
#define LTC_MUTEX_TYPE(x)
|
|
539
|
+
#define LTC_MUTEX_INIT(x)
|
|
540
|
+
#define LTC_MUTEX_LOCK(x)
|
|
541
|
+
#define LTC_MUTEX_UNLOCK(x)
|
|
542
|
+
|
|
543
|
+
#endif
|
|
544
|
+
|
|
545
|
+
/* Debuggers */
|
|
546
|
+
|
|
547
|
+
/* define this if you use Valgrind, note: it CHANGES the way SOBER-128 and LTC_RC4 work (see the code) */
|
|
548
|
+
/* #define LTC_VALGRIND */
|
|
549
|
+
|
|
550
|
+
#endif
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
/* $Source$ */
|
|
555
|
+
/* $Revision$ */
|
|
556
|
+
/* $Date$ */
|