gitextract_g4ee05bk/ ├── .dockerignore ├── .github/ │ └── ISSUE_TEMPLATE/ │ └── bug-report.md ├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── LICENSE ├── README.md ├── assets/ │ └── circuits/ │ ├── arithmetic/ │ │ └── StatisticCircuit/ │ │ ├── ArithmeticStatistics1PairsAnd200SamplesFor4Parties.txt │ │ └── inputs400.txt │ └── boolean/ │ ├── ADD32/ │ │ ├── ADDPartyOneInputs.txt │ │ ├── ADDPartyTwoInputs.txt │ │ ├── multiparty/ │ │ │ └── NigelAdd32.txt │ │ └── twoparty/ │ │ └── NigelAdd32.txt │ ├── AES/ │ │ ├── AESPartyOneInputs.txt │ │ ├── AESPartyTwoInputs.txt │ │ ├── multiparty/ │ │ │ └── NigelAes.txt │ │ └── twoparty/ │ │ └── NigelAes.txt │ ├── MULT16/ │ │ ├── MULTPartyOneInputs.txt │ │ ├── MULTPartyTwoInputs.txt │ │ └── twoparty/ │ │ └── Mult16.txt │ ├── SHA1/ │ │ ├── SHA1PartyOneInputs.txt │ │ ├── SHA1PartyTwoInputs.txt │ │ ├── multiparty/ │ │ │ └── NigelSHA1.txt │ │ └── twoparty/ │ │ └── NigelSHA1.txt │ └── SHA256/ │ ├── SHA256PartyOneInputs.txt │ ├── SHA256PartyTwoInputs.txt │ ├── multiparty/ │ │ └── NigelSHA256.txt │ └── twoparty/ │ └── NigelSHA256.txt ├── build_scripts/ │ ├── INSTALL.md │ ├── LICENSE.md │ ├── build.sh │ ├── copyright.sh │ ├── copyright.txt │ ├── do │ ├── docker_clean.sh │ ├── merge_git.sh │ ├── rebuild.sh │ ├── rebuildBase.sh │ ├── rebuildLibs.sh │ ├── rebuildProtocols.sh │ └── rebuild_docker_image.sh ├── dockerfiles/ │ ├── Dockerfile │ ├── DockerfileLibs │ ├── DockerfileProtocols │ └── PrerequisitesDockerfie ├── docs/ │ ├── make.bat │ ├── requirements.txt │ └── source/ │ ├── circuits.rst │ ├── communication.rst │ ├── conf.py │ ├── index.rst │ ├── install.rst │ ├── interactive_layer/ │ │ ├── commitments.rst │ │ ├── ot.rst │ │ ├── sigma_protocols.rst │ │ └── zk.rst │ ├── interactive_layer.rst │ ├── intro.rst │ ├── license.rst │ ├── mid_layer/ │ │ ├── asymmetric_enc.rst │ │ ├── mac.rst │ │ └── symmetric_enc.rst │ ├── mid_layer.rst │ ├── primitives/ │ │ ├── cryptographic_hash.rst │ │ ├── dlog.rst │ │ ├── kdf.rst │ │ ├── pseudorandom_function.rst │ │ ├── pseudorandom_generator.rst │ │ ├── pseudorandom_permutation.rst │ │ └── trapdoor_permutation.rst │ ├── primitives.rst │ ├── quickstart.rst │ └── security_levels.rst ├── examples/ │ ├── CMakeLists.txt │ ├── Comm/ │ │ ├── CommConfig.txt │ │ └── comm_example.cpp │ ├── Commitment/ │ │ ├── CommitmentConfig.txt │ │ ├── CommitmentExample.cpp │ │ └── CommitmentExample.hpp │ ├── OT/ │ │ ├── OTConfig.txt │ │ ├── OTExample.cpp │ │ └── OTExample.h │ ├── OTExtensionBristol/ │ │ └── OTExtensionBristolExample.cpp │ ├── SigmaProtocols/ │ │ ├── SigmaConfig.txt │ │ ├── SigmaProtocolExample.cpp │ │ └── SigmaProtocolExample.hpp │ ├── Simple/ │ │ ├── simple_dlog.cpp │ │ ├── simple_gmac.cpp │ │ └── simple_sha1.cpp │ ├── assets/ │ │ ├── circuits/ │ │ │ ├── ADD/ │ │ │ │ ├── ADDPartyOneInputs.txt │ │ │ │ ├── ADDPartyTwoInputs.txt │ │ │ │ └── NigelAdd32.txt │ │ │ ├── AES/ │ │ │ │ ├── AESPartyOneInputs.txt │ │ │ │ ├── AESPartyTwoInputs.txt │ │ │ │ ├── AES_Final-2.txt │ │ │ │ └── NigelAes.txt │ │ │ ├── AESMULT/ │ │ │ │ ├── AESPartyInputs1.txt │ │ │ │ ├── AESPartyOneInputs.txt │ │ │ │ ├── AESPartyOneInputs96.txt │ │ │ │ ├── AESPartyTwoInputs.txt │ │ │ │ ├── AesExpandedMultPartyOneInputs.txt │ │ │ │ ├── AesExpandedPartyOneInputs.txt │ │ │ │ ├── AesExpandedPartyOneInputs16.txt │ │ │ │ ├── AesExpandedPartyTwoInputs.txt │ │ │ │ ├── NigelAesExpanded.txt │ │ │ │ ├── NigelAesExpandedMultiple.txt │ │ │ │ ├── NigelAesExpandedMultiple96.txt │ │ │ │ ├── NigelAesMultiple.txt │ │ │ │ └── NigelAesMultiple96.txt │ │ │ ├── CheatingRecovery/ │ │ │ │ ├── UnlockP1Input.txt │ │ │ │ ├── UnlockP1InputASha1.txt │ │ │ │ ├── UnlockP1InputAdd.txt │ │ │ │ ├── UnlockP1InputMinCut.txt │ │ │ │ ├── UnlockP1InputSHA256.txt │ │ │ │ └── UnlockP1InputSha1.txt │ │ │ ├── SHA1/ │ │ │ │ ├── NigelSHA1.txt │ │ │ │ ├── SHA1PartyOneInputs.txt │ │ │ │ └── SHA1PartyTwoInputs.txt │ │ │ └── SHA256/ │ │ │ ├── NigelSHA256.txt │ │ │ ├── SHA256PartyOneInputs.txt │ │ │ └── SHA256PartyTwoInputs.txt │ │ ├── conf/ │ │ │ ├── Parties0.properties │ │ │ └── Parties1.properties │ │ └── ssl_keys/ │ │ ├── dh512.pem │ │ ├── server.crt │ │ ├── server.csr │ │ ├── server.key │ │ └── server.key.secure │ ├── examples_main.cpp │ └── examples_main.hpp ├── include/ │ ├── circuits/ │ │ ├── ArithmeticCircuit.hpp │ │ ├── BooleanCircuits.hpp │ │ ├── Compat.h │ │ ├── Config.h │ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.h │ │ ├── FreeXorGarbledBooleanCircuit.h │ │ ├── GarbledBooleanCircuit.h │ │ ├── GarbledBooleanCircuitFixedKey.h │ │ ├── GarbledBooleanCircuitNoFixedKey.h │ │ ├── GarbledBooleanCircuitNoIntrinsics.h │ │ ├── GarbledCircuitFactory.hpp │ │ ├── GarbledGate.h │ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.h │ │ ├── HalfGatesGarbledBooleanCircuit.h │ │ ├── RowReductionGarbledBooleanCircuit.h │ │ ├── StandardGarbledBooleanCircuit.h │ │ ├── TGate.hpp │ │ ├── TedKrovetzAesNiWrapperC.h │ │ └── intrinsic.h │ ├── comm/ │ │ ├── Comm.hpp │ │ ├── CommBF.hpp │ │ ├── CommUDP.hpp │ │ ├── MPCCommunication.hpp │ │ ├── MPCCommunicationBF.hpp │ │ ├── Message.hpp │ │ ├── Network.h │ │ ├── PeerInfo.h │ │ └── utils.h │ ├── configFiles/ │ │ └── NISTEC.txt │ ├── cryptoInfra/ │ │ ├── Key.hpp │ │ ├── PlainText.hpp │ │ ├── Protocol.hpp │ │ └── SecurityLevel.hpp │ ├── infra/ │ │ ├── Common.hpp │ │ ├── ConfigFile.hpp │ │ ├── File.hpp │ │ ├── Log.hpp │ │ ├── MathAlgorithms.hpp │ │ ├── Measurement.hpp │ │ ├── Scanner.hpp │ │ ├── aes_arm.h │ │ ├── json.hpp │ │ └── sse2neon.h │ ├── interactive_mid_protocols/ │ │ ├── CommitmentScheme.hpp │ │ ├── CommitmentSchemeElGamal.hpp │ │ ├── CommitmentSchemeElGamalHash.hpp │ │ ├── CommitmentSchemeEquivocal.hpp │ │ ├── CommitmentSchemePedersen.hpp │ │ ├── CommitmentSchemePedersenHash.hpp │ │ ├── CommitmentSchemePedersenTrapdoor.hpp │ │ ├── CommitmentSchemeSimpleHash.hpp │ │ ├── OT.hpp │ │ ├── OTBatch.hpp │ │ ├── OTExtensionBristol.hpp │ │ ├── OTExtensionEncrypto.hpp │ │ ├── OTFullSimulation.hpp │ │ ├── OTFullSimulationROM.hpp │ │ ├── OTOneSidedSimulation.hpp │ │ ├── OTPrivacyOnly.hpp │ │ ├── OTSemiHonest.hpp │ │ ├── OTUC.hpp │ │ ├── RandomValue.hpp │ │ ├── SigmaProtocol.hpp │ │ ├── SigmaProtocolAnd.hpp │ │ ├── SigmaProtocolCramerShoupEncryptedValue.hpp │ │ ├── SigmaProtocolDH.hpp │ │ ├── SigmaProtocolDHExtended.hpp │ │ ├── SigmaProtocolDamgardJurikEncryptedValue.hpp │ │ ├── SigmaProtocolDamgardJurikEncryptedZero.hpp │ │ ├── SigmaProtocolDamgardJurikProduct.hpp │ │ ├── SigmaProtocolDlog.hpp │ │ ├── SigmaProtocolElGamalCmtKnowledge.hpp │ │ ├── SigmaProtocolElGamalCommittedValue.hpp │ │ ├── SigmaProtocolElGamalEncryptedValue.hpp │ │ ├── SigmaProtocolElGamalPrivateKey.hpp │ │ ├── SigmaProtocolOrMultiple.hpp │ │ ├── SigmaProtocolOrTwo.hpp │ │ ├── SigmaProtocolPedersenCmtKnowledge.hpp │ │ ├── SigmaProtocolPedersenCommittedValue.hpp │ │ └── ZeroKnowledge.hpp │ ├── mid_layer/ │ │ ├── AsymmetricEnc.hpp │ │ ├── BiLinearMaps.hpp │ │ ├── CramerShoupEnc.hpp │ │ ├── DamgardJurikEnc.hpp │ │ ├── ElGamalEnc.hpp │ │ ├── Mac.hpp │ │ ├── OpenSSLMac.h │ │ ├── OpenSSLSymmetricEnc.hpp │ │ └── SymmetricEnc.hpp │ └── primitives/ │ ├── Dlog.hpp │ ├── DlogOpenSSL.hpp │ ├── Hash.hpp │ ├── HashBlake2.hpp │ ├── HashOpenSSL.hpp │ ├── Kdf.hpp │ ├── Matrix.hpp │ ├── Mersenne.hpp │ ├── Prf.hpp │ ├── PrfOpenSSL.hpp │ ├── Prg.hpp │ ├── RandomOracle.hpp │ ├── TrapdoorPermutation.hpp │ └── TrapdoorPermutationOpenSSL.hpp ├── lib/ │ ├── BLAKE2/ │ │ ├── .gitignore │ │ ├── Blake2/ │ │ │ ├── Blake2/ │ │ │ │ ├── Blake2.vcxproj │ │ │ │ ├── Blake2.vcxproj.filters │ │ │ │ └── Blake2.vcxproj.user │ │ │ ├── Blake2.sln │ │ │ └── testBlake2/ │ │ │ ├── test.cpp │ │ │ ├── testBlake2.vcxproj │ │ │ └── testBlake2.vcxproj.filters │ │ ├── COPYING │ │ ├── README.md │ │ └── sse/ │ │ ├── blake2-config.h │ │ ├── blake2-impl.h │ │ ├── blake2.h │ │ ├── blake2b-load-sse2.h │ │ ├── blake2b-load-sse41.h │ │ ├── blake2b-round.h │ │ ├── blake2b.c │ │ ├── blake2bp.c │ │ ├── blake2s-load-sse2.h │ │ ├── blake2s-load-sse41.h │ │ ├── blake2s-load-xop.h │ │ ├── blake2s-round.h │ │ ├── blake2sp.c │ │ ├── genkat-c.c │ │ ├── genkat-json.c │ │ └── makefile │ ├── COTShortKeys/ │ │ ├── COTSK.cpp │ │ ├── COTSK.h │ │ ├── COTSK_Prg.h │ │ ├── COTSK_Receiver_impl.h │ │ ├── COTSK_Sender_impl.h │ │ ├── COTSK_Test │ │ ├── COTSK_Test.cpp │ │ ├── COTSK_impl.h │ │ ├── COTSK_types.h │ │ ├── MPCCommunicationEX.hpp │ │ ├── args.hxx │ │ ├── gf2x_util.h │ │ ├── makefile │ │ └── transpose.h │ ├── KCP/ │ │ ├── ikcp.c │ │ └── ikcp.h │ ├── NTL/ │ │ ├── README │ │ ├── doc/ │ │ │ ├── BasicThreadPool.cpp.html │ │ │ ├── BasicThreadPool.txt │ │ │ ├── GF2.cpp.html │ │ │ ├── GF2.txt │ │ │ ├── GF2E.cpp.html │ │ │ ├── GF2E.txt │ │ │ ├── GF2EX.cpp.html │ │ │ ├── GF2EX.txt │ │ │ ├── GF2EXFactoring.cpp.html │ │ │ ├── GF2EXFactoring.txt │ │ │ ├── GF2X.cpp.html │ │ │ ├── GF2X.txt │ │ │ ├── GF2XFactoring.cpp.html │ │ │ ├── GF2XFactoring.txt │ │ │ ├── GF2XVec.cpp.html │ │ │ ├── GF2XVec.txt │ │ │ ├── HNF.cpp.html │ │ │ ├── HNF.txt │ │ │ ├── LLL.cpp.html │ │ │ ├── LLL.txt │ │ │ ├── Lazy.cpp.html │ │ │ ├── Lazy.txt │ │ │ ├── LazyTable.cpp.html │ │ │ ├── LazyTable.txt │ │ │ ├── RR.cpp.html │ │ │ ├── RR.txt │ │ │ ├── SmartPtr.cpp.html │ │ │ ├── SmartPtr.txt │ │ │ ├── ZZ.cpp.html │ │ │ ├── ZZ.txt │ │ │ ├── ZZVec.cpp.html │ │ │ ├── ZZVec.txt │ │ │ ├── ZZX.cpp.html │ │ │ ├── ZZX.txt │ │ │ ├── ZZXFactoring.cpp.html │ │ │ ├── ZZXFactoring.txt │ │ │ ├── ZZ_limbs.cpp.html │ │ │ ├── ZZ_limbs.txt │ │ │ ├── ZZ_p.cpp.html │ │ │ ├── ZZ_p.txt │ │ │ ├── ZZ_pE.cpp.html │ │ │ ├── ZZ_pE.txt │ │ │ ├── ZZ_pEX.cpp.html │ │ │ ├── ZZ_pEX.txt │ │ │ ├── ZZ_pEXFactoring.cpp.html │ │ │ ├── ZZ_pEXFactoring.txt │ │ │ ├── ZZ_pX.cpp.html │ │ │ ├── ZZ_pX.txt │ │ │ ├── ZZ_pXFactoring.cpp.html │ │ │ ├── ZZ_pXFactoring.txt │ │ │ ├── config.txt │ │ │ ├── conversions.txt │ │ │ ├── copying.txt │ │ │ ├── flags.txt │ │ │ ├── lzz_p.cpp.html │ │ │ ├── lzz_p.txt │ │ │ ├── lzz_pE.cpp.html │ │ │ ├── lzz_pE.txt │ │ │ ├── lzz_pEX.cpp.html │ │ │ ├── lzz_pEX.txt │ │ │ ├── lzz_pEXFactoring.cpp.html │ │ │ ├── lzz_pEXFactoring.txt │ │ │ ├── lzz_pX.cpp.html │ │ │ ├── lzz_pX.txt │ │ │ ├── lzz_pXFactoring.cpp.html │ │ │ ├── lzz_pXFactoring.txt │ │ │ ├── mat_GF2.cpp.html │ │ │ ├── mat_GF2.txt │ │ │ ├── mat_GF2E.cpp.html │ │ │ ├── mat_GF2E.txt │ │ │ ├── mat_RR.cpp.html │ │ │ ├── mat_RR.txt │ │ │ ├── mat_ZZ.cpp.html │ │ │ ├── mat_ZZ.txt │ │ │ ├── mat_ZZ_p.cpp.html │ │ │ ├── mat_ZZ_p.txt │ │ │ ├── mat_ZZ_pE.cpp.html │ │ │ ├── mat_ZZ_pE.txt │ │ │ ├── mat_lzz_p.cpp.html │ │ │ ├── mat_lzz_p.txt │ │ │ ├── mat_lzz_pE.cpp.html │ │ │ ├── mat_lzz_pE.txt │ │ │ ├── mat_poly_ZZ.cpp.html │ │ │ ├── mat_poly_ZZ.txt │ │ │ ├── mat_poly_ZZ_p.cpp.html │ │ │ ├── mat_poly_ZZ_p.txt │ │ │ ├── mat_poly_lzz_p.cpp.html │ │ │ ├── mat_poly_lzz_p.txt │ │ │ ├── matrix.cpp.html │ │ │ ├── matrix.txt │ │ │ ├── names.txt │ │ │ ├── pair.cpp.html │ │ │ ├── pair.txt │ │ │ ├── quad_float.cpp.html │ │ │ ├── quad_float.txt │ │ │ ├── sedscript.txt │ │ │ ├── tools.cpp.html │ │ │ ├── tools.txt │ │ │ ├── tour-ack.html │ │ │ ├── tour-changes.html │ │ │ ├── tour-ex1.html │ │ │ ├── tour-ex2.html │ │ │ ├── tour-ex3.html │ │ │ ├── tour-ex4.html │ │ │ ├── tour-ex5.html │ │ │ ├── tour-ex6.html │ │ │ ├── tour-ex7.html │ │ │ ├── tour-examples.html │ │ │ ├── tour-gf2x.html │ │ │ ├── tour-gmp.html │ │ │ ├── tour-impl.html │ │ │ ├── tour-intro.html │ │ │ ├── tour-modules.html │ │ │ ├── tour-roadmap.html │ │ │ ├── tour-struct.html │ │ │ ├── tour-time.html │ │ │ ├── tour-tips.html │ │ │ ├── tour-unix.html │ │ │ ├── tour-win.html │ │ │ ├── tour.html │ │ │ ├── vec_GF2.cpp.html │ │ │ ├── vec_GF2.txt │ │ │ ├── vec_GF2E.cpp.html │ │ │ ├── vec_GF2E.txt │ │ │ ├── vec_RR.cpp.html │ │ │ ├── vec_RR.txt │ │ │ ├── vec_ZZ.cpp.html │ │ │ ├── vec_ZZ.txt │ │ │ ├── vec_ZZ_p.cpp.html │ │ │ ├── vec_ZZ_p.txt │ │ │ ├── vec_ZZ_pE.cpp.html │ │ │ ├── vec_ZZ_pE.txt │ │ │ ├── vec_lzz_p.cpp.html │ │ │ ├── vec_lzz_p.txt │ │ │ ├── vec_lzz_pE.cpp.html │ │ │ ├── vec_lzz_pE.txt │ │ │ ├── vector.cpp.html │ │ │ ├── vector.txt │ │ │ ├── version.cpp.html │ │ │ ├── version.txt │ │ │ ├── xdouble.cpp.html │ │ │ └── xdouble.txt │ │ ├── include/ │ │ │ └── NTL/ │ │ │ ├── ALL_FEATURES.h │ │ │ ├── BasicThreadPool.h │ │ │ ├── FFT.h │ │ │ ├── FacVec.h │ │ │ ├── GF2.h │ │ │ ├── GF2E.h │ │ │ ├── GF2EX.h │ │ │ ├── GF2EXFactoring.h │ │ │ ├── GF2X.h │ │ │ ├── GF2XFactoring.h │ │ │ ├── GF2XVec.h │ │ │ ├── HAVE_ALIGNED_ARRAY.h │ │ │ ├── HAVE_AVX.h │ │ │ ├── HAVE_AVX2.h │ │ │ ├── HAVE_BUILTIN_CLZL.h │ │ │ ├── HAVE_CHRONO_TIME.h │ │ │ ├── HAVE_COPY_TRAITS1.h │ │ │ ├── HAVE_COPY_TRAITS2.h │ │ │ ├── HAVE_FMA.h │ │ │ ├── HAVE_LL_TYPE.h │ │ │ ├── HAVE_MACOS_TIME.h │ │ │ ├── HAVE_PCLMUL.h │ │ │ ├── HAVE_POSIX_TIME.h │ │ │ ├── HAVE_SSSE3.h │ │ │ ├── HNF.h │ │ │ ├── LLL.h │ │ │ ├── Lazy.h │ │ │ ├── LazyTable.h │ │ │ ├── MatPrime.h │ │ │ ├── PackageInfo.h │ │ │ ├── REPORT_ALL_FEATURES.h │ │ │ ├── RR.h │ │ │ ├── SmartPtr.h │ │ │ ├── WordVector.h │ │ │ ├── ZZ.h │ │ │ ├── ZZVec.h │ │ │ ├── ZZX.h │ │ │ ├── ZZXFactoring.h │ │ │ ├── ZZ_limbs.h │ │ │ ├── ZZ_p.h │ │ │ ├── ZZ_pE.h │ │ │ ├── ZZ_pEX.h │ │ │ ├── ZZ_pEXFactoring.h │ │ │ ├── ZZ_pX.h │ │ │ ├── ZZ_pXFactoring.h │ │ │ ├── config.h │ │ │ ├── ctools.h │ │ │ ├── fileio.h │ │ │ ├── lip.h │ │ │ ├── lzz_p.h │ │ │ ├── lzz_pE.h │ │ │ ├── lzz_pEX.h │ │ │ ├── lzz_pEXFactoring.h │ │ │ ├── lzz_pX.h │ │ │ ├── lzz_pXFactoring.h │ │ │ ├── mat_GF2.h │ │ │ ├── mat_GF2E.h │ │ │ ├── mat_RR.h │ │ │ ├── mat_ZZ.h │ │ │ ├── mat_ZZ_p.h │ │ │ ├── mat_ZZ_pE.h │ │ │ ├── mat_lzz_p.h │ │ │ ├── mat_lzz_pE.h │ │ │ ├── mat_poly_ZZ.h │ │ │ ├── mat_poly_ZZ_p.h │ │ │ ├── mat_poly_lzz_p.h │ │ │ ├── matrix.h │ │ │ ├── new.h │ │ │ ├── pair.h │ │ │ ├── pair_GF2EX_long.h │ │ │ ├── pair_GF2X_long.h │ │ │ ├── pair_ZZX_long.h │ │ │ ├── pair_ZZ_pEX_long.h │ │ │ ├── pair_ZZ_pX_long.h │ │ │ ├── pair_lzz_pEX_long.h │ │ │ ├── pair_lzz_pX_long.h │ │ │ ├── quad_float.h │ │ │ ├── sp_arith.h │ │ │ ├── thread.h │ │ │ ├── tools.h │ │ │ ├── vec_GF2.h │ │ │ ├── vec_GF2E.h │ │ │ ├── vec_GF2XVec.h │ │ │ ├── vec_RR.h │ │ │ ├── vec_ZZ.h │ │ │ ├── vec_ZZVec.h │ │ │ ├── vec_ZZ_p.h │ │ │ ├── vec_ZZ_pE.h │ │ │ ├── vec_double.h │ │ │ ├── vec_long.h │ │ │ ├── vec_lzz_p.h │ │ │ ├── vec_lzz_pE.h │ │ │ ├── vec_quad_float.h │ │ │ ├── vec_ulong.h │ │ │ ├── vec_vec_GF2.h │ │ │ ├── vec_vec_GF2E.h │ │ │ ├── vec_vec_RR.h │ │ │ ├── vec_vec_ZZ.h │ │ │ ├── vec_vec_ZZ_p.h │ │ │ ├── vec_vec_ZZ_pE.h │ │ │ ├── vec_vec_long.h │ │ │ ├── vec_vec_lzz_p.h │ │ │ ├── vec_vec_lzz_pE.h │ │ │ ├── vec_vec_ulong.h │ │ │ ├── vec_xdouble.h │ │ │ ├── vector.h │ │ │ ├── version.h │ │ │ └── xdouble.h │ │ └── src/ │ │ ├── BasicThreadPool.cpp │ │ ├── BerlekampTest.cpp │ │ ├── BerlekampTestIn │ │ ├── BerlekampTestOut │ │ ├── BitMatTest.cpp │ │ ├── CanZassTest.cpp │ │ ├── CanZassTestIn │ │ ├── CanZassTestOut │ │ ├── CharPolyTest.cpp │ │ ├── CharPolyTestIn │ │ ├── CharPolyTestOut │ │ ├── CheckALIGNED_ARRAY.cpp │ │ ├── CheckAVX.cpp │ │ ├── CheckAVX2.cpp │ │ ├── CheckBUILTIN_CLZL.cpp │ │ ├── CheckCHRONO_TIME.cpp │ │ ├── CheckCOPY_TRAITS1.cpp │ │ ├── CheckCOPY_TRAITS2.cpp │ │ ├── CheckCompile.cpp │ │ ├── CheckContract.cpp │ │ ├── CheckContractAux.cpp │ │ ├── CheckFMA.cpp │ │ ├── CheckLL_TYPE.cpp │ │ ├── CheckMACOS_TIME.cpp │ │ ├── CheckPCLMUL.cpp │ │ ├── CheckPOSIX_TIME.cpp │ │ ├── CheckSSSE3.cpp │ │ ├── CheckThreads.cpp │ │ ├── CopyFeatures │ │ ├── DIRNAME │ │ ├── DispSettings.cpp │ │ ├── DoConfig │ │ ├── ExceptionTest.cpp │ │ ├── FFT.cpp │ │ ├── FacVec.cpp │ │ ├── GF2.cpp │ │ ├── GF2E.cpp │ │ ├── GF2EX.cpp │ │ ├── GF2EXFactoring.cpp │ │ ├── GF2EXTest.cpp │ │ ├── GF2X.cpp │ │ ├── GF2X1.cpp │ │ ├── GF2XFactoring.cpp │ │ ├── GF2XTest.cpp │ │ ├── GF2XTimeTest.cpp │ │ ├── GF2XVec.cpp │ │ ├── G_LLL_FP.cpp │ │ ├── G_LLL_QP.cpp │ │ ├── G_LLL_RR.cpp │ │ ├── G_LLL_XD.cpp │ │ ├── GenConfigInfo.cpp │ │ ├── GetPID1.cpp │ │ ├── GetPID2.cpp │ │ ├── GetTime0.cpp │ │ ├── GetTime1.cpp │ │ ├── GetTime2.cpp │ │ ├── GetTime3.cpp │ │ ├── GetTime4.cpp │ │ ├── GetTime5.cpp │ │ ├── HNF.cpp │ │ ├── InitSettings.cpp │ │ ├── LLL.cpp │ │ ├── LLLTest.cpp │ │ ├── LLLTestIn │ │ ├── LLLTestOut │ │ ├── LLL_FP.cpp │ │ ├── LLL_QP.cpp │ │ ├── LLL_RR.cpp │ │ ├── LLL_XD.cpp │ │ ├── MakeCheckFeatures │ │ ├── MakeDesc.cpp │ │ ├── MakeDescAux.cpp │ │ ├── MakeGetPID │ │ ├── MakeGetTime │ │ ├── MatPrime.cpp │ │ ├── MatrixTest.cpp │ │ ├── MatrixTestIn │ │ ├── MatrixTestOut │ │ ├── MoreFacTest.cpp │ │ ├── MoreFacTestIn │ │ ├── NOTES │ │ ├── Poly1TimeTest.cpp │ │ ├── Poly2TimeTest.cpp │ │ ├── Poly3TimeTest.cpp │ │ ├── QuadTest.cpp │ │ ├── QuadTestIn │ │ ├── QuadTestOut │ │ ├── QuickTest.cpp │ │ ├── RR.cpp │ │ ├── RRTest.cpp │ │ ├── RRTestIn │ │ ├── RRTestOut │ │ ├── RemoveProg │ │ ├── ResetFeatures │ │ ├── TestGetPID.cpp │ │ ├── TestGetTime.cpp │ │ ├── TestScript │ │ ├── ThreadTest.cpp │ │ ├── Timing.cpp │ │ ├── VERSION_INFO │ │ ├── WINDIR │ │ ├── Wizard │ │ ├── WizardAux │ │ ├── WordVector.cpp │ │ ├── ZZ.cpp │ │ ├── ZZTest.cpp │ │ ├── ZZVec.cpp │ │ ├── ZZX.cpp │ │ ├── ZZX1.cpp │ │ ├── ZZXCharPoly.cpp │ │ ├── ZZXFacTest.cpp │ │ ├── ZZXFacTestIn │ │ ├── ZZXFacTestOut │ │ ├── ZZXFactoring.cpp │ │ ├── ZZ_p.cpp │ │ ├── ZZ_pE.cpp │ │ ├── ZZ_pEX.cpp │ │ ├── ZZ_pEXFactoring.cpp │ │ ├── ZZ_pEXTest.cpp │ │ ├── ZZ_pX.cpp │ │ ├── ZZ_pX1.cpp │ │ ├── ZZ_pXCharPoly.cpp │ │ ├── ZZ_pXFactoring.cpp │ │ ├── ZZ_pXTest.cpp │ │ ├── cfile │ │ ├── configure │ │ ├── ctools.cpp │ │ ├── dosify │ │ ├── fileio.cpp │ │ ├── gen_gmp_aux.cpp │ │ ├── gf2x_version_1_2_or_later_required.cpp │ │ ├── libtool-origin/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── aclocal.m4 │ │ │ ├── config.guess │ │ │ ├── config.sub │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── install-sh │ │ │ ├── ltmain.sh │ │ │ └── missing │ │ ├── libtool-seed/ │ │ │ ├── Makefile.am │ │ │ └── configure.ac │ │ ├── lip.cpp │ │ ├── lzz_p.cpp │ │ ├── lzz_pE.cpp │ │ ├── lzz_pEX.cpp │ │ ├── lzz_pEXFactoring.cpp │ │ ├── lzz_pEXTest.cpp │ │ ├── lzz_pX.cpp │ │ ├── lzz_pX1.cpp │ │ ├── lzz_pXCharPoly.cpp │ │ ├── lzz_pXFactoring.cpp │ │ ├── lzz_pXTest.cpp │ │ ├── mach_desc.win │ │ ├── mat_GF2.cpp │ │ ├── mat_GF2E.cpp │ │ ├── mat_RR.cpp │ │ ├── mat_ZZ.cpp │ │ ├── mat_ZZ_p.cpp │ │ ├── mat_ZZ_pE.cpp │ │ ├── mat_lzz_p.cpp │ │ ├── mat_lzz_pE.cpp │ │ ├── mat_lzz_pTest.cpp │ │ ├── mat_poly_ZZ.cpp │ │ ├── mat_poly_ZZ_p.cpp │ │ ├── mat_poly_lzz_p.cpp │ │ ├── mfile │ │ ├── newnames.cpp │ │ ├── ppscript │ │ ├── quad_float.cpp │ │ ├── subset.cpp │ │ ├── thread.cpp │ │ ├── tools.cpp │ │ ├── unixify │ │ ├── vec_GF2.cpp │ │ ├── vec_GF2E.cpp │ │ ├── vec_RR.cpp │ │ ├── vec_ZZ.cpp │ │ ├── vec_ZZ_p.cpp │ │ ├── vec_ZZ_pE.cpp │ │ ├── vec_lzz_p.cpp │ │ ├── vec_lzz_pE.cpp │ │ └── xdouble.cpp │ ├── OTExtensionBristol/ │ │ ├── CONFIG │ │ ├── Exceptions/ │ │ │ └── Exceptions.h │ │ ├── LICENSE.txt │ │ ├── Networking/ │ │ │ ├── Player.cpp │ │ │ ├── Player.h │ │ │ ├── data.cpp │ │ │ ├── data.h │ │ │ ├── sockets.cpp │ │ │ └── sockets.h │ │ ├── OT/ │ │ │ ├── BaseOT.cpp │ │ │ ├── BaseOT.h │ │ │ ├── BitMatrix.cpp │ │ │ ├── BitMatrix.h │ │ │ ├── BitVector.cpp │ │ │ ├── BitVector.h │ │ │ ├── OTExtension.cpp │ │ │ ├── OTExtension.h │ │ │ ├── OTExtensionWithMatrix.cpp │ │ │ ├── OTExtensionWithMatrix.h │ │ │ ├── Tools.cpp │ │ │ └── Tools.h │ │ ├── README │ │ ├── SimpleOT/ │ │ │ ├── Keccak-simple-settings.h │ │ │ ├── Keccak-simple.c │ │ │ ├── README.md │ │ │ ├── consts.s │ │ │ ├── consts4x.s │ │ │ ├── cpucycles.c │ │ │ ├── cpucycles.h │ │ │ ├── crypto_hash.h │ │ │ ├── fe25519.h │ │ │ ├── fe25519_add.c │ │ │ ├── fe25519_freeze.s │ │ │ ├── fe25519_getparity.c │ │ │ ├── fe25519_invert.c │ │ │ ├── fe25519_iseq_vartime.c │ │ │ ├── fe25519_mul.s │ │ │ ├── fe25519_neg.c │ │ │ ├── fe25519_nsquare.s │ │ │ ├── fe25519_pack.c │ │ │ ├── fe25519_pow2523.c │ │ │ ├── fe25519_setint.c │ │ │ ├── fe25519_square.s │ │ │ ├── fe25519_sub.c │ │ │ ├── fe25519_unpack.c │ │ │ ├── ge25519.data │ │ │ ├── ge25519.h │ │ │ ├── ge25519_add.c │ │ │ ├── ge25519_add_p1p1.s │ │ │ ├── ge25519_dbl_p1p1.s │ │ │ ├── ge25519_double.c │ │ │ ├── ge25519_lookup.s │ │ │ ├── ge25519_lookup_niels.s │ │ │ ├── ge25519_nielsadd2.s │ │ │ ├── ge25519_p1p1_to_p2.s │ │ │ ├── ge25519_p1p1_to_p3.s │ │ │ ├── ge25519_pack.c │ │ │ ├── ge25519_scalarmult.c │ │ │ ├── ge25519_scalarmult_base.c │ │ │ ├── ge25519_setneutral.c │ │ │ ├── ge25519_unpack.c │ │ │ ├── ge4x.c │ │ │ ├── ge4x.data │ │ │ ├── ge4x.h │ │ │ ├── ge4x_add_p1p1.s │ │ │ ├── ge4x_double_p1p1.s │ │ │ ├── ge4x_lookup.s │ │ │ ├── ge4x_lookup_niels.s │ │ │ ├── ge4x_niels_add_p1p1.s │ │ │ ├── ge4x_pack.c │ │ │ ├── ge4x_unpack_vartime.c │ │ │ ├── gfe4x.c │ │ │ ├── gfe4x.h │ │ │ ├── gfe4x_add.s │ │ │ ├── gfe4x_getparity.c │ │ │ ├── gfe4x_iseq_vartime.c │ │ │ ├── gfe4x_mul.s │ │ │ ├── gfe4x_nsquare.c │ │ │ ├── gfe4x_pow2523.c │ │ │ ├── gfe4x_square.s │ │ │ ├── gfe4x_sub.s │ │ │ ├── network.c │ │ │ ├── network.h │ │ │ ├── ot_config.h │ │ │ ├── ot_receiver.c │ │ │ ├── ot_receiver.h │ │ │ ├── ot_receiver_test.c │ │ │ ├── ot_sender.c │ │ │ ├── ot_sender.h │ │ │ ├── ot_sender_test.c │ │ │ ├── randombytes.c │ │ │ ├── randombytes.h │ │ │ ├── sc25519.h │ │ │ ├── sc25519_from32bytes.c │ │ │ ├── sc25519_random.c │ │ │ ├── sc25519_window4.c │ │ │ └── to_4x.h │ │ ├── Test/ │ │ │ ├── BitMatrixTest.cpp │ │ │ ├── OutputCheck.cpp │ │ │ └── OutputCheck.h │ │ ├── Tools/ │ │ │ ├── CBC-MAC.cpp │ │ │ ├── CBC-MAC.h │ │ │ ├── Commit.cpp │ │ │ ├── Commit.h │ │ │ ├── MMO.cpp │ │ │ ├── MMO.h │ │ │ ├── RO.h │ │ │ ├── aes-ni.cpp │ │ │ ├── aes.h │ │ │ ├── int.h │ │ │ ├── octetStream.cpp │ │ │ ├── octetStream.h │ │ │ ├── random.cpp │ │ │ ├── random.h │ │ │ ├── sha1.cpp │ │ │ ├── sha1.h │ │ │ ├── time-func.cpp │ │ │ └── time-func.h │ │ └── ezOption/ │ │ ├── MIT-LICENSE │ │ └── ezOptionParser.h │ ├── OTExtensionEncrypto/ │ │ ├── .travis.yml │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cmake/ │ │ │ └── OTExtensionConfig.cmake.in │ │ ├── extern/ │ │ │ └── ENCRYPTO_utils/ │ │ │ ├── .travis.yml │ │ │ ├── CMakeLists.txt │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cmake/ │ │ │ │ ├── ENCRYPTO_utilsConfig.cmake.in │ │ │ │ ├── FindGMP.cmake │ │ │ │ └── FindGMPXX.cmake │ │ │ ├── extern/ │ │ │ │ └── googletest/ │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile.am │ │ │ │ ├── README.md │ │ │ │ ├── WORKSPACE │ │ │ │ ├── appveyor.yml │ │ │ │ ├── ci/ │ │ │ │ │ ├── build-linux-autotools.sh │ │ │ │ │ ├── build-linux-bazel.sh │ │ │ │ │ ├── env-linux.sh │ │ │ │ │ ├── env-osx.sh │ │ │ │ │ ├── get-nprocessors.sh │ │ │ │ │ ├── install-linux.sh │ │ │ │ │ ├── install-osx.sh │ │ │ │ │ ├── log-config.sh │ │ │ │ │ └── travis.sh │ │ │ │ ├── configure.ac │ │ │ │ ├── googlemock/ │ │ │ │ │ ├── CHANGES │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── CONTRIBUTORS │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── README.md │ │ │ │ │ ├── cmake/ │ │ │ │ │ │ ├── gmock.pc.in │ │ │ │ │ │ └── gmock_main.pc.in │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── docs/ │ │ │ │ │ │ ├── CheatSheet.md │ │ │ │ │ │ ├── CookBook.md │ │ │ │ │ │ ├── DesignDoc.md │ │ │ │ │ │ ├── Documentation.md │ │ │ │ │ │ ├── ForDummies.md │ │ │ │ │ │ ├── FrequentlyAskedQuestions.md │ │ │ │ │ │ └── KnownIssues.md │ │ │ │ │ ├── include/ │ │ │ │ │ │ └── gmock/ │ │ │ │ │ │ ├── gmock-actions.h │ │ │ │ │ │ ├── gmock-cardinalities.h │ │ │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ │ │ ├── gmock-generated-actions.h.pump │ │ │ │ │ │ ├── gmock-generated-function-mockers.h │ │ │ │ │ │ ├── gmock-generated-function-mockers.h.pump │ │ │ │ │ │ ├── gmock-generated-matchers.h │ │ │ │ │ │ ├── gmock-generated-matchers.h.pump │ │ │ │ │ │ ├── gmock-generated-nice-strict.h │ │ │ │ │ │ ├── gmock-generated-nice-strict.h.pump │ │ │ │ │ │ ├── gmock-matchers.h │ │ │ │ │ │ ├── gmock-more-actions.h │ │ │ │ │ │ ├── gmock-more-matchers.h │ │ │ │ │ │ ├── gmock-spec-builders.h │ │ │ │ │ │ ├── gmock.h │ │ │ │ │ │ └── internal/ │ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ │ │ │ ├── gmock-generated-actions.h.pump │ │ │ │ │ │ │ ├── gmock-matchers.h │ │ │ │ │ │ │ └── gmock-port.h │ │ │ │ │ │ ├── gmock-generated-internal-utils.h │ │ │ │ │ │ ├── gmock-generated-internal-utils.h.pump │ │ │ │ │ │ ├── gmock-internal-utils.h │ │ │ │ │ │ └── gmock-port.h │ │ │ │ │ ├── msvc/ │ │ │ │ │ │ ├── 2005/ │ │ │ │ │ │ │ ├── gmock.sln │ │ │ │ │ │ │ ├── gmock.vcproj │ │ │ │ │ │ │ ├── gmock_config.vsprops │ │ │ │ │ │ │ ├── gmock_main.vcproj │ │ │ │ │ │ │ └── gmock_test.vcproj │ │ │ │ │ │ ├── 2010/ │ │ │ │ │ │ │ ├── gmock.sln │ │ │ │ │ │ │ ├── gmock.vcxproj │ │ │ │ │ │ │ ├── gmock_config.props │ │ │ │ │ │ │ ├── gmock_main.vcxproj │ │ │ │ │ │ │ └── gmock_test.vcxproj │ │ │ │ │ │ └── 2015/ │ │ │ │ │ │ ├── gmock.sln │ │ │ │ │ │ ├── gmock.vcxproj │ │ │ │ │ │ ├── gmock_config.props │ │ │ │ │ │ ├── gmock_main.vcxproj │ │ │ │ │ │ └── gmock_test.vcxproj │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── fuse_gmock_files.py │ │ │ │ │ │ ├── generator/ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README │ │ │ │ │ │ │ ├── README.cppclean │ │ │ │ │ │ │ ├── cpp/ │ │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ │ ├── ast.py │ │ │ │ │ │ │ │ ├── gmock_class.py │ │ │ │ │ │ │ │ ├── gmock_class_test.py │ │ │ │ │ │ │ │ ├── keywords.py │ │ │ │ │ │ │ │ ├── tokenize.py │ │ │ │ │ │ │ │ └── utils.py │ │ │ │ │ │ │ └── gmock_gen.py │ │ │ │ │ │ ├── gmock-config.in │ │ │ │ │ │ ├── gmock_doctor.py │ │ │ │ │ │ ├── upload.py │ │ │ │ │ │ └── upload_gmock.py │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── gmock-all.cc │ │ │ │ │ │ ├── gmock-cardinalities.cc │ │ │ │ │ │ ├── gmock-internal-utils.cc │ │ │ │ │ │ ├── gmock-matchers.cc │ │ │ │ │ │ ├── gmock-spec-builders.cc │ │ │ │ │ │ ├── gmock.cc │ │ │ │ │ │ └── gmock_main.cc │ │ │ │ │ └── test/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── gmock-actions_test.cc │ │ │ │ │ ├── gmock-cardinalities_test.cc │ │ │ │ │ ├── gmock-generated-actions_test.cc │ │ │ │ │ ├── gmock-generated-function-mockers_test.cc │ │ │ │ │ ├── gmock-generated-internal-utils_test.cc │ │ │ │ │ ├── gmock-generated-matchers_test.cc │ │ │ │ │ ├── gmock-internal-utils_test.cc │ │ │ │ │ ├── gmock-matchers_test.cc │ │ │ │ │ ├── gmock-more-actions_test.cc │ │ │ │ │ ├── gmock-nice-strict_test.cc │ │ │ │ │ ├── gmock-port_test.cc │ │ │ │ │ ├── gmock-spec-builders_test.cc │ │ │ │ │ ├── gmock_all_test.cc │ │ │ │ │ ├── gmock_ex_test.cc │ │ │ │ │ ├── gmock_leak_test.py │ │ │ │ │ ├── gmock_leak_test_.cc │ │ │ │ │ ├── gmock_link2_test.cc │ │ │ │ │ ├── gmock_link_test.cc │ │ │ │ │ ├── gmock_link_test.h │ │ │ │ │ ├── gmock_output_test.py │ │ │ │ │ ├── gmock_output_test_.cc │ │ │ │ │ ├── gmock_output_test_golden.txt │ │ │ │ │ ├── gmock_stress_test.cc │ │ │ │ │ ├── gmock_test.cc │ │ │ │ │ └── gmock_test_utils.py │ │ │ │ └── googletest/ │ │ │ │ ├── CHANGES │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CONTRIBUTORS │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile.am │ │ │ │ ├── README.md │ │ │ │ ├── cmake/ │ │ │ │ │ ├── gtest.pc.in │ │ │ │ │ ├── gtest_main.pc.in │ │ │ │ │ └── internal_utils.cmake │ │ │ │ ├── codegear/ │ │ │ │ │ ├── gtest.cbproj │ │ │ │ │ ├── gtest.groupproj │ │ │ │ │ ├── gtest_all.cc │ │ │ │ │ ├── gtest_link.cc │ │ │ │ │ ├── gtest_main.cbproj │ │ │ │ │ └── gtest_unittest.cbproj │ │ │ │ ├── configure.ac │ │ │ │ ├── docs/ │ │ │ │ │ ├── Pkgconfig.md │ │ │ │ │ ├── PumpManual.md │ │ │ │ │ ├── XcodeGuide.md │ │ │ │ │ ├── advanced.md │ │ │ │ │ ├── faq.md │ │ │ │ │ ├── primer.md │ │ │ │ │ └── samples.md │ │ │ │ ├── include/ │ │ │ │ │ └── gtest/ │ │ │ │ │ ├── gtest-death-test.h │ │ │ │ │ ├── gtest-message.h │ │ │ │ │ ├── gtest-param-test.h │ │ │ │ │ ├── gtest-param-test.h.pump │ │ │ │ │ ├── gtest-printers.h │ │ │ │ │ ├── gtest-spi.h │ │ │ │ │ ├── gtest-test-part.h │ │ │ │ │ ├── gtest-typed-test.h │ │ │ │ │ ├── gtest.h │ │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ │ ├── gtest_prod.h │ │ │ │ │ └── internal/ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── gtest-port.h │ │ │ │ │ │ ├── gtest-printers.h │ │ │ │ │ │ └── gtest.h │ │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ │ ├── gtest-filepath.h │ │ │ │ │ ├── gtest-internal.h │ │ │ │ │ ├── gtest-linked_ptr.h │ │ │ │ │ ├── gtest-param-util-generated.h │ │ │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ │ │ ├── gtest-param-util.h │ │ │ │ │ ├── gtest-port-arch.h │ │ │ │ │ ├── gtest-port.h │ │ │ │ │ ├── gtest-string.h │ │ │ │ │ ├── gtest-tuple.h │ │ │ │ │ ├── gtest-tuple.h.pump │ │ │ │ │ ├── gtest-type-util.h │ │ │ │ │ └── gtest-type-util.h.pump │ │ │ │ ├── m4/ │ │ │ │ │ ├── acx_pthread.m4 │ │ │ │ │ └── gtest.m4 │ │ │ │ ├── msvc/ │ │ │ │ │ └── 2010/ │ │ │ │ │ ├── gtest-md.sln │ │ │ │ │ ├── gtest-md.vcxproj │ │ │ │ │ ├── gtest-md.vcxproj.filters │ │ │ │ │ ├── gtest.sln │ │ │ │ │ ├── gtest.vcxproj │ │ │ │ │ ├── gtest.vcxproj.filters │ │ │ │ │ ├── gtest_main-md.vcxproj │ │ │ │ │ ├── gtest_main-md.vcxproj.filters │ │ │ │ │ ├── gtest_main.vcxproj │ │ │ │ │ ├── gtest_main.vcxproj.filters │ │ │ │ │ ├── gtest_prod_test-md.vcxproj │ │ │ │ │ ├── gtest_prod_test-md.vcxproj.filters │ │ │ │ │ ├── gtest_prod_test.vcxproj │ │ │ │ │ ├── gtest_prod_test.vcxproj.filters │ │ │ │ │ ├── gtest_unittest-md.vcxproj │ │ │ │ │ ├── gtest_unittest-md.vcxproj.filters │ │ │ │ │ ├── gtest_unittest.vcxproj │ │ │ │ │ └── gtest_unittest.vcxproj.filters │ │ │ │ ├── samples/ │ │ │ │ │ ├── prime_tables.h │ │ │ │ │ ├── sample1.cc │ │ │ │ │ ├── sample1.h │ │ │ │ │ ├── sample10_unittest.cc │ │ │ │ │ ├── sample1_unittest.cc │ │ │ │ │ ├── sample2.cc │ │ │ │ │ ├── sample2.h │ │ │ │ │ ├── sample2_unittest.cc │ │ │ │ │ ├── sample3-inl.h │ │ │ │ │ ├── sample3_unittest.cc │ │ │ │ │ ├── sample4.cc │ │ │ │ │ ├── sample4.h │ │ │ │ │ ├── sample4_unittest.cc │ │ │ │ │ ├── sample5_unittest.cc │ │ │ │ │ ├── sample6_unittest.cc │ │ │ │ │ ├── sample7_unittest.cc │ │ │ │ │ ├── sample8_unittest.cc │ │ │ │ │ └── sample9_unittest.cc │ │ │ │ ├── scripts/ │ │ │ │ │ ├── common.py │ │ │ │ │ ├── fuse_gtest_files.py │ │ │ │ │ ├── gen_gtest_pred_impl.py │ │ │ │ │ ├── gtest-config.in │ │ │ │ │ ├── pump.py │ │ │ │ │ ├── release_docs.py │ │ │ │ │ ├── upload.py │ │ │ │ │ └── upload_gtest.py │ │ │ │ ├── src/ │ │ │ │ │ ├── gtest-all.cc │ │ │ │ │ ├── gtest-death-test.cc │ │ │ │ │ ├── gtest-filepath.cc │ │ │ │ │ ├── gtest-internal-inl.h │ │ │ │ │ ├── gtest-port.cc │ │ │ │ │ ├── gtest-printers.cc │ │ │ │ │ ├── gtest-test-part.cc │ │ │ │ │ ├── gtest-typed-test.cc │ │ │ │ │ ├── gtest.cc │ │ │ │ │ └── gtest_main.cc │ │ │ │ ├── test/ │ │ │ │ │ ├── BUILD.bazel │ │ │ │ │ ├── googletest-break-on-failure-unittest.py │ │ │ │ │ ├── googletest-break-on-failure-unittest_.cc │ │ │ │ │ ├── googletest-catch-exceptions-test.py │ │ │ │ │ ├── googletest-catch-exceptions-test_.cc │ │ │ │ │ ├── googletest-color-test.py │ │ │ │ │ ├── googletest-color-test_.cc │ │ │ │ │ ├── googletest-death-test-test.cc │ │ │ │ │ ├── googletest-death-test_ex_test.cc │ │ │ │ │ ├── googletest-env-var-test.py │ │ │ │ │ ├── googletest-env-var-test_.cc │ │ │ │ │ ├── googletest-filepath-test.cc │ │ │ │ │ ├── googletest-filter-unittest.py │ │ │ │ │ ├── googletest-filter-unittest_.cc │ │ │ │ │ ├── googletest-json-outfiles-test.py │ │ │ │ │ ├── googletest-json-output-unittest.py │ │ │ │ │ ├── googletest-linked-ptr-test.cc │ │ │ │ │ ├── googletest-list-tests-unittest.py │ │ │ │ │ ├── googletest-list-tests-unittest_.cc │ │ │ │ │ ├── googletest-listener-test.cc │ │ │ │ │ ├── googletest-message-test.cc │ │ │ │ │ ├── googletest-options-test.cc │ │ │ │ │ ├── googletest-output-test-golden-lin.txt │ │ │ │ │ ├── googletest-output-test.py │ │ │ │ │ ├── googletest-output-test_.cc │ │ │ │ │ ├── googletest-param-test-invalid-name1-test.py │ │ │ │ │ ├── googletest-param-test-invalid-name1-test_.cc │ │ │ │ │ ├── googletest-param-test-invalid-name2-test.py │ │ │ │ │ ├── googletest-param-test-invalid-name2-test_.cc │ │ │ │ │ ├── googletest-param-test-test.cc │ │ │ │ │ ├── googletest-param-test-test.h │ │ │ │ │ ├── googletest-param-test2-test.cc │ │ │ │ │ ├── googletest-port-test.cc │ │ │ │ │ ├── googletest-printers-test.cc │ │ │ │ │ ├── googletest-shuffle-test.py │ │ │ │ │ ├── googletest-shuffle-test_.cc │ │ │ │ │ ├── googletest-test-part-test.cc │ │ │ │ │ ├── googletest-test2_test.cc │ │ │ │ │ ├── googletest-throw-on-failure-test.py │ │ │ │ │ ├── googletest-throw-on-failure-test_.cc │ │ │ │ │ ├── googletest-tuple-test.cc │ │ │ │ │ ├── googletest-uninitialized-test.py │ │ │ │ │ ├── googletest-uninitialized-test_.cc │ │ │ │ │ ├── gtest-typed-test2_test.cc │ │ │ │ │ ├── gtest-typed-test_test.cc │ │ │ │ │ ├── gtest-typed-test_test.h │ │ │ │ │ ├── gtest-unittest-api_test.cc │ │ │ │ │ ├── gtest_all_test.cc │ │ │ │ │ ├── gtest_assert_by_exception_test.cc │ │ │ │ │ ├── gtest_environment_test.cc │ │ │ │ │ ├── gtest_help_test.py │ │ │ │ │ ├── gtest_help_test_.cc │ │ │ │ │ ├── gtest_json_test_utils.py │ │ │ │ │ ├── gtest_main_unittest.cc │ │ │ │ │ ├── gtest_no_test_unittest.cc │ │ │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ │ │ ├── gtest_premature_exit_test.cc │ │ │ │ │ ├── gtest_prod_test.cc │ │ │ │ │ ├── gtest_repeat_test.cc │ │ │ │ │ ├── gtest_sole_header_test.cc │ │ │ │ │ ├── gtest_stress_test.cc │ │ │ │ │ ├── gtest_test_macro_stack_footprint_test.cc │ │ │ │ │ ├── gtest_test_utils.py │ │ │ │ │ ├── gtest_testbridge_test.py │ │ │ │ │ ├── gtest_testbridge_test_.cc │ │ │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ │ │ ├── gtest_unittest.cc │ │ │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ │ │ ├── gtest_xml_output_unittest.py │ │ │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ │ │ ├── gtest_xml_test_utils.py │ │ │ │ │ ├── production.cc │ │ │ │ │ └── production.h │ │ │ │ └── xcode/ │ │ │ │ ├── Config/ │ │ │ │ │ ├── DebugProject.xcconfig │ │ │ │ │ ├── FrameworkTarget.xcconfig │ │ │ │ │ ├── General.xcconfig │ │ │ │ │ ├── ReleaseProject.xcconfig │ │ │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ │ │ └── TestTarget.xcconfig │ │ │ │ ├── Resources/ │ │ │ │ │ └── Info.plist │ │ │ │ ├── Samples/ │ │ │ │ │ └── FrameworkSample/ │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── WidgetFramework.xcodeproj/ │ │ │ │ │ │ └── project.pbxproj │ │ │ │ │ ├── runtests.sh │ │ │ │ │ ├── widget.cc │ │ │ │ │ ├── widget.h │ │ │ │ │ └── widget_test.cc │ │ │ │ ├── Scripts/ │ │ │ │ │ ├── runtests.sh │ │ │ │ │ └── versiongenerate.py │ │ │ │ └── gtest.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── src/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── ENCRYPTO_utils/ │ │ │ │ ├── cbitvector.cpp │ │ │ │ ├── cbitvector.h │ │ │ │ ├── channel.cpp │ │ │ │ ├── channel.h │ │ │ │ ├── circular_queue.cpp │ │ │ │ ├── circular_queue.h │ │ │ │ ├── codewords.cpp │ │ │ │ ├── codewords.h │ │ │ │ ├── connection.cpp │ │ │ │ ├── connection.h │ │ │ │ ├── constants.h │ │ │ │ ├── crypto/ │ │ │ │ │ ├── Config.h │ │ │ │ │ ├── TedKrovetzAesNiWrapperC.cpp │ │ │ │ │ ├── TedKrovetzAesNiWrapperC.h │ │ │ │ │ ├── crypto.cpp │ │ │ │ │ ├── crypto.h │ │ │ │ │ ├── dgk.cpp │ │ │ │ │ ├── dgk.h │ │ │ │ │ ├── djn.cpp │ │ │ │ │ ├── djn.h │ │ │ │ │ ├── ecc-pk-crypto.cpp │ │ │ │ │ ├── ecc-pk-crypto.h │ │ │ │ │ ├── gmp-pk-crypto.cpp │ │ │ │ │ ├── gmp-pk-crypto.h │ │ │ │ │ ├── intrin_sequential_enc8.cpp │ │ │ │ │ ├── intrin_sequential_enc8.h │ │ │ │ │ └── pk-crypto.h │ │ │ │ ├── parse_options.cpp │ │ │ │ ├── parse_options.h │ │ │ │ ├── powmod.cpp │ │ │ │ ├── powmod.h │ │ │ │ ├── rcvthread.cpp │ │ │ │ ├── rcvthread.h │ │ │ │ ├── sndthread.cpp │ │ │ │ ├── sndthread.h │ │ │ │ ├── socket.cpp │ │ │ │ ├── socket.h │ │ │ │ ├── thread.cpp │ │ │ │ ├── thread.h │ │ │ │ ├── timer.cpp │ │ │ │ ├── timer.h │ │ │ │ ├── typedefs.h │ │ │ │ ├── utils.cpp │ │ │ │ └── utils.h │ │ │ └── test/ │ │ │ ├── CMakeLists.txt │ │ │ ├── test_cbitvector.cpp │ │ │ └── test_main.cpp │ │ ├── mains/ │ │ │ ├── CMakeLists.txt │ │ │ ├── otmain.cpp │ │ │ ├── otmain.h │ │ │ ├── test.cpp │ │ │ └── test.h │ │ └── ot/ │ │ ├── OTconstants.h │ │ ├── alsz-ot-ext-rec.cpp │ │ ├── alsz-ot-ext-rec.h │ │ ├── alsz-ot-ext-snd.cpp │ │ ├── alsz-ot-ext-snd.h │ │ ├── asharov-lindell.cpp │ │ ├── asharov-lindell.h │ │ ├── baseOT.h │ │ ├── iknp-ot-ext-rec.cpp │ │ ├── iknp-ot-ext-rec.h │ │ ├── iknp-ot-ext-snd.cpp │ │ ├── iknp-ot-ext-snd.h │ │ ├── kk-ot-ext-rec.cpp │ │ ├── kk-ot-ext-rec.h │ │ ├── kk-ot-ext-snd.cpp │ │ ├── kk-ot-ext-snd.h │ │ ├── kk-ot-ext.h │ │ ├── maskingfunction.h │ │ ├── naor-pinkas.cpp │ │ ├── naor-pinkas.h │ │ ├── naor-pinkas_noro.cpp │ │ ├── naor-pinkas_noro.h │ │ ├── nnob-ot-ext-rec.cpp │ │ ├── nnob-ot-ext-rec.h │ │ ├── nnob-ot-ext-snd.cpp │ │ ├── nnob-ot-ext-snd.h │ │ ├── ot-ext-rec.cpp │ │ ├── ot-ext-rec.h │ │ ├── ot-ext-snd.cpp │ │ ├── ot-ext-snd.h │ │ ├── ot-ext.cpp │ │ ├── ot-ext.h │ │ ├── pvwddh.cpp │ │ ├── pvwddh.h │ │ ├── simpleot.cpp │ │ ├── simpleot.h │ │ └── xormasking.h │ └── libOTe/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── KyberOT/ │ │ ├── CMakeLists.txt │ │ ├── KyberOT.c │ │ ├── KyberOT.h │ │ ├── KyberOT.vcxproj │ │ ├── KyberOT.vcxproj.filters │ │ ├── Makefile_old │ │ ├── PQCgenKAT_kem.c │ │ ├── api.h │ │ ├── cbd.h │ │ ├── cbdeta4.s │ │ ├── cbdref.c │ │ ├── consts.c │ │ ├── cpucycles.c │ │ ├── cpucycles.h │ │ ├── fips202.c │ │ ├── fips202.h │ │ ├── fips202x4.c │ │ ├── fips202x4.h │ │ ├── genmatrix.c │ │ ├── genmatrix.h │ │ ├── indcpa.c │ │ ├── indcpa.h │ │ ├── invntt.s │ │ ├── keccak4x/ │ │ │ ├── KeccakP-1600-times4-SIMD256.c │ │ │ ├── KeccakP-1600-times4-SnP.h │ │ │ ├── KeccakP-1600-unrolling.macros │ │ │ ├── SIMD256-config.h │ │ │ ├── align.h │ │ │ └── brg_endian.h │ │ ├── kem.c │ │ ├── kex.c │ │ ├── kex.h │ │ ├── ntt.h │ │ ├── ntt.s │ │ ├── params.h │ │ ├── poly.c │ │ ├── poly.h │ │ ├── polyvec.c │ │ ├── polyvec.h │ │ ├── polyvec_pointwise_acc.s │ │ ├── precomp.c │ │ ├── randombytes.c │ │ ├── randombytes.h │ │ ├── reduce.c │ │ ├── reduce.h │ │ ├── rng.c │ │ ├── rng.h │ │ ├── speed.c │ │ ├── test_kex.c │ │ ├── test_kyber.c │ │ ├── testvectors.c │ │ ├── verify.c │ │ └── verify.h │ ├── README.md │ ├── SimplestOT/ │ │ ├── CMakeLists.txt │ │ ├── Keccak-simple-settings.h │ │ ├── Keccak-simple.c │ │ ├── LICENSE │ │ ├── SimplestOT.vcxproj │ │ ├── SimplestOT.vcxproj.filters │ │ ├── consts.s │ │ ├── consts4x.s │ │ ├── cpucycles.c │ │ ├── cpucycles.h │ │ ├── crypto_hash.h │ │ ├── fe25519.h │ │ ├── fe25519_add.c │ │ ├── fe25519_freeze.s │ │ ├── fe25519_getparity.c │ │ ├── fe25519_invert.c │ │ ├── fe25519_iseq_vartime.c │ │ ├── fe25519_mul.s │ │ ├── fe25519_neg.c │ │ ├── fe25519_nsquare.s │ │ ├── fe25519_pack.c │ │ ├── fe25519_pow2523.c │ │ ├── fe25519_setint.c │ │ ├── fe25519_square.s │ │ ├── fe25519_sub.c │ │ ├── fe25519_unpack.c │ │ ├── ge25519.data │ │ ├── ge25519.h │ │ ├── ge25519_add.c │ │ ├── ge25519_add_p1p1.s │ │ ├── ge25519_dbl_p1p1.s │ │ ├── ge25519_double.c │ │ ├── ge25519_lookup.s │ │ ├── ge25519_lookup_niels.s │ │ ├── ge25519_nielsadd2.s │ │ ├── ge25519_p1p1_to_p2.s │ │ ├── ge25519_p1p1_to_p3.s │ │ ├── ge25519_pack.c │ │ ├── ge25519_scalarmult.c │ │ ├── ge25519_scalarmult_base.c │ │ ├── ge25519_setneutral.c │ │ ├── ge25519_unpack.c │ │ ├── ge4x.c │ │ ├── ge4x.data │ │ ├── ge4x.h │ │ ├── ge4x_add_p1p1.s │ │ ├── ge4x_double_p1p1.s │ │ ├── ge4x_lookup.s │ │ ├── ge4x_lookup_niels.s │ │ ├── ge4x_niels_add_p1p1.s │ │ ├── ge4x_pack.c │ │ ├── ge4x_unpack_vartime.c │ │ ├── gfe4x.c │ │ ├── gfe4x.h │ │ ├── gfe4x_add.s │ │ ├── gfe4x_getparity.c │ │ ├── gfe4x_iseq_vartime.c │ │ ├── gfe4x_mul.s │ │ ├── gfe4x_nsquare.c │ │ ├── gfe4x_pow2523.c │ │ ├── gfe4x_square.s │ │ ├── gfe4x_sub.s │ │ ├── network.c │ │ ├── network.h │ │ ├── ot_config.h │ │ ├── ot_receiver.c │ │ ├── ot_receiver.h │ │ ├── ot_receiver_test.c │ │ ├── ot_sender.c │ │ ├── ot_sender.h │ │ ├── ot_sender_test.c │ │ ├── randombytes.c │ │ ├── randombytes.h │ │ ├── sc25519.h │ │ ├── sc25519_from32bytes.c │ │ ├── sc25519_random.c │ │ ├── sc25519_window4.c │ │ └── to_4x.h │ ├── frontend/ │ │ ├── CMakeLists.txt │ │ ├── frontend.vcxproj │ │ ├── frontend.vcxproj.filters │ │ ├── main.cpp │ │ ├── util.cpp │ │ └── util.h │ ├── libOTe/ │ │ ├── Base/ │ │ │ ├── BaseOT.h │ │ │ ├── MasnyRindal.cpp │ │ │ ├── MasnyRindal.h │ │ │ ├── MasnyRindalKyber.cpp │ │ │ ├── MasnyRindalKyber.h │ │ │ ├── SimplestOT.cpp │ │ │ ├── SimplestOT.h │ │ │ ├── naor-pinkas.cpp │ │ │ └── naor-pinkas.h │ │ ├── CMakeLists.txt │ │ ├── DPF/ │ │ │ └── BgicksPprf.h │ │ ├── NChooseK/ │ │ │ ├── AknOtReceiver.cpp │ │ │ ├── AknOtReceiver.h │ │ │ ├── AknOtSender.cpp │ │ │ └── AknOtSender.h │ │ ├── NChooseOne/ │ │ │ ├── Kkrt/ │ │ │ │ ├── KkrtDefines.h │ │ │ │ ├── KkrtNcoOtReceiver.cpp │ │ │ │ ├── KkrtNcoOtReceiver.h │ │ │ │ ├── KkrtNcoOtSender.cpp │ │ │ │ └── KkrtNcoOtSender.h │ │ │ ├── NcoOtExt.cpp │ │ │ ├── NcoOtExt.h │ │ │ ├── Oos/ │ │ │ │ ├── OosDefines.h │ │ │ │ ├── OosNcoOtReceiver.cpp │ │ │ │ ├── OosNcoOtReceiver.h │ │ │ │ ├── OosNcoOtSender.cpp │ │ │ │ └── OosNcoOtSender.h │ │ │ └── RR17/ │ │ │ ├── Rr17NcoOtReceiver.cpp │ │ │ ├── Rr17NcoOtReceiver.h │ │ │ ├── Rr17NcoOtSender.cpp │ │ │ └── Rr17NcoOtSender.h │ │ ├── Tools/ │ │ │ ├── LinearCode.cpp │ │ │ ├── LinearCode.h │ │ │ ├── SilentPprf.cpp │ │ │ ├── SilentPprf.h │ │ │ ├── Tools.cpp │ │ │ ├── Tools.h │ │ │ ├── bch511.h │ │ │ ├── bch511.txt │ │ │ ├── bitpolymul/ │ │ │ │ ├── bc.cpp │ │ │ │ ├── bc.h │ │ │ │ ├── bc_to_gen_code.h │ │ │ │ ├── bc_to_lch_gen_code.cpp │ │ │ │ ├── bc_to_mono_gen_code.cpp │ │ │ │ ├── bitmat_prod.h │ │ │ │ ├── bpmDefines.h │ │ │ │ ├── btfy.cpp │ │ │ │ ├── btfy.h │ │ │ │ ├── encode.cpp │ │ │ │ ├── encode.h │ │ │ │ ├── gf2128_cantor_iso.h │ │ │ │ ├── gf264_cantor_iso.h │ │ │ │ ├── gfext_aesni.h │ │ │ │ ├── ska.h │ │ │ │ ├── transpose.h │ │ │ │ ├── transpose_bit.h │ │ │ │ ├── trunc_btfy_tab.h │ │ │ │ └── trunc_btfy_tab_64.h │ │ │ ├── bitpolymul.cpp │ │ │ └── bitpolymul.h │ │ ├── TwoChooseOne/ │ │ │ ├── IknpDotExtReceiver.cpp │ │ │ ├── IknpDotExtReceiver.h │ │ │ ├── IknpDotExtSender.cpp │ │ │ ├── IknpDotExtSender.h │ │ │ ├── IknpOtExtReceiver.cpp │ │ │ ├── IknpOtExtReceiver.h │ │ │ ├── IknpOtExtSender.cpp │ │ │ ├── IknpOtExtSender.h │ │ │ ├── KosDotExtReceiver.cpp │ │ │ ├── KosDotExtReceiver.h │ │ │ ├── KosDotExtSender.cpp │ │ │ ├── KosDotExtSender.h │ │ │ ├── KosOtExtReceiver.cpp │ │ │ ├── KosOtExtReceiver.h │ │ │ ├── KosOtExtSender.cpp │ │ │ ├── KosOtExtSender.h │ │ │ ├── OTExtInterface.cpp │ │ │ ├── OTExtInterface.h │ │ │ ├── SilentOtExtReceiver.cpp │ │ │ ├── SilentOtExtReceiver.h │ │ │ ├── SilentOtExtSender.cpp │ │ │ ├── SilentOtExtSender.h │ │ │ └── TcoOtDefines.h │ │ ├── config.h │ │ ├── config.h.in │ │ ├── libOTe.vcxproj.filters │ │ └── libOTe.vcxproj.vcxproj │ ├── libOTe_Tests/ │ │ ├── AknOt_Tests.cpp │ │ ├── AknOt_Tests.h │ │ ├── BaseOT_Tests.cpp │ │ ├── BaseOT_Tests.h │ │ ├── BgciksOT_Tests.h │ │ ├── CMakeLists.txt │ │ ├── Common.cpp │ │ ├── Common.h │ │ ├── NcoOT_Tests.cpp │ │ ├── NcoOT_Tests.h │ │ ├── OT_Tests.cpp │ │ ├── OT_Tests.h │ │ ├── SilentOT_Tests.cpp │ │ ├── SilentOT_Tests.h │ │ ├── UnitTests.cpp │ │ ├── UnitTests.h │ │ ├── bitpolymul_Tests.cpp │ │ ├── bitpolymul_Tests.h │ │ ├── libOTe_Tests.vcxproj.filters │ │ ├── libOTe_Tests.vcxproj.vcxproj │ │ └── testData/ │ │ ├── code1280_BCH511.h │ │ ├── code1280_BCH511.txt │ │ ├── code128_BCH511.h │ │ ├── code128_BCH511.txt │ │ ├── code256_BCH511.h │ │ ├── code256_BCH511.txt │ │ ├── code384_BCH511.h │ │ ├── code384_BCH511.txt │ │ ├── code640_BCH511.h │ │ └── code640_BCH511.txt │ └── libOTe_TestsVS/ │ ├── OT_TestsVS.cpp │ └── libOTe_TestsVS.vcxproj ├── makefile ├── makefile_libs ├── src/ │ ├── circuits/ │ │ ├── ArithmeticCircuit.cpp │ │ ├── BooleanCircuits.cpp │ │ ├── FourToTwoGarbledBoleanCircuitNoAssumptions.cpp │ │ ├── FreeXorGarbledBooleanCircuit.cpp │ │ ├── GarbledBooleanCircuit.cpp │ │ ├── GarbledBooleanCircuitFixedKey.cpp │ │ ├── GarbledBooleanCircuitNoFixedKey.cpp │ │ ├── GarbledBooleanCircuitNoIntrinsics.cpp │ │ ├── GarbledCircuitFactory.cpp │ │ ├── HalfGatesGarbledBoleanCircuitNoFixedKey.cpp │ │ ├── HalfGatesGarbledBooleanCircuit.cpp │ │ ├── RowReductionGarbledBooleanCircuit.cpp │ │ ├── StandardGarbledBooleanCircuit.cpp │ │ └── TedKrovetzAesNiWrapperC.cpp │ ├── circuits_c/ │ │ ├── intrin_sequential_ks1_enc1.c │ │ ├── intrin_sequential_ks2_enc2.c │ │ ├── intrin_sequential_ks4_enc4.c │ │ └── intrin_sequential_ks4_enc8.c │ ├── comm/ │ │ ├── Comm.cpp │ │ ├── CommBF.cpp │ │ ├── CommUDP.cpp │ │ ├── MPCCommunication.cpp │ │ ├── MPCCommunicationBF.cpp │ │ ├── Network.cpp │ │ ├── PeerInfo.cpp │ │ └── utils.cpp │ ├── cryptoInfra/ │ │ └── Protocol.cpp │ ├── infra/ │ │ ├── Common.cpp │ │ ├── ConfigFile.cpp │ │ ├── MathAlgorithms.cpp │ │ ├── Measurement.cpp │ │ ├── Scanner.cpp │ │ └── aes_arm.cpp │ ├── interactive_mid_protocols/ │ │ ├── CommitmentSchemeElGamal.cpp │ │ ├── CommitmentSchemeElGamalHash.cpp │ │ ├── CommitmentSchemePedersen.cpp │ │ ├── CommitmentSchemePedersenHash.cpp │ │ ├── CommitmentSchemeSimpleHash.cpp │ │ ├── OT.cpp │ │ ├── OTExtensionBristol.cpp │ │ ├── OTExtensionEncrypto.cpp │ │ ├── OTFullSimulation.cpp │ │ ├── OTFullSimulationROM.cpp │ │ ├── OTOneSidedSimulation.cpp │ │ ├── OTPrivacyOnly.cpp │ │ ├── OTSemiHonest.cpp │ │ ├── OTUC.cpp │ │ ├── SigmaProtocol.cpp │ │ ├── SigmaProtocolAnd.cpp │ │ ├── SigmaProtocolCramerShoupEncryptedValue.cpp │ │ ├── SigmaProtocolDH.cpp │ │ ├── SigmaProtocolDHExtended.cpp │ │ ├── SigmaProtocolDamgardJurikEncryptedValue.cpp │ │ ├── SigmaProtocolDamgardJurikEncryptedZero.cpp │ │ ├── SigmaProtocolDamgardJurikProduct.cpp │ │ ├── SigmaProtocolDlog.cpp │ │ ├── SigmaProtocolElGamalCmtKnowledge.cpp │ │ ├── SigmaProtocolElGamalCommittedValue.cpp │ │ ├── SigmaProtocolElGamalEncryptedValue.cpp │ │ ├── SigmaProtocolElGamalPrivateKey.cpp │ │ ├── SigmaProtocolOrMultiple.cpp │ │ ├── SigmaProtocolOrTwo.cpp │ │ ├── SigmaProtocolPedersenCmtKnowledge.cpp │ │ ├── SigmaProtocolPedersenCommittedValue.cpp │ │ └── ZeroKnowledge.cpp │ ├── mid_layer/ │ │ ├── CramerShoupEnc.cpp │ │ ├── DamgardJurikEnc.cpp │ │ ├── ElGamalEnc.cpp │ │ ├── OpenSSLMac.cpp │ │ └── OpenSSLSymmetricEnc.cpp │ └── primitives/ │ ├── Dlog.cpp │ ├── DlogCryptopp.cpp │ ├── DlogOpenSSL.cpp │ ├── HashOpenSSL.cpp │ ├── Kdf.cpp │ ├── Mersenne.cpp │ ├── PrfOpenSSL.cpp │ ├── Prg.cpp │ ├── RandomOracle.cpp │ ├── TrapdoorPermutation.cpp │ ├── TrapdoorPermutationOpenSSL.cpp │ └── prf.cpp ├── tests/ │ ├── CMakeLists.txt │ ├── NigelAes.txt │ ├── NigelAesOutput.txt │ ├── catch.hpp │ ├── interactiveMidProtocolsTests.cpp │ ├── testCircuit.txt │ ├── testCircuitOutput.txt │ └── tests.cpp ├── tools/ │ └── circuits/ │ ├── README.md │ ├── javaSynteticCircuitGenerator/ │ │ ├── GenerateArithmeticCircuitForDepthAndGates.java │ │ ├── GenerateArithmeticCircuitForStatistics.java │ │ ├── README.md │ │ ├── synteticDepthAndGatesCircuitGenerator.jar │ │ └── synteticStatisticsCircuitGenerator.jar │ ├── scapiBristolConverter/ │ │ ├── CircuitConverter.cpp │ │ ├── CircuitConverter.hpp │ │ ├── README.md │ │ ├── ScapiBristolConverter.cpp │ │ ├── makefile │ │ └── scapiBristolConverter │ └── scapiNecConverter/ │ ├── Circuit.cpp │ ├── Circuit.h │ ├── CircuitConverter.cpp │ ├── CircuitConverter.h │ ├── README.md │ ├── ScapiNecConverter.cpp │ ├── makefile │ └── scapiNecConverter └── tutorials/ └── spdz2.md