diff --git a/frontend/frontend.vcxproj b/frontend/frontend.vcxproj
index 817719e7f8..4c8d3d6a24 100644
--- a/frontend/frontend.vcxproj
+++ b/frontend/frontend.vcxproj
@@ -51,14 +51,14 @@
Level3
Disabled
true
- $(ProjectDir);D:\VisualGDB\allprojects\libPSI\libOTe;$(SolutionDir)/cryptoTools;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libOPRF;$(SolutionDir)/libPSI;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/miracl;D:\libs\boost;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;H:\npsi\cryptoTools;C:\Program Files %28x86%29\Visual Leak Detector\include;$(libOTeDir)/libOTe;D:\libs\miracl
+ $(ProjectDir);$(SolutionDir)/cryptoTools;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libOPRF;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/miracl;D:\libs\boost;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;D:\libs\miracl;$(SolutionDir)/libOTe
MultiThreadedDebug
SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_MBCS;%(PreprocessorDefinitions)
true
D:\libs;$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories);$(SolutionDir)\thirdparty\win\boost\stage\lib;C:/libs/boost\stage\lib;$(OutDir);$(SolutionDir)thirdparty\win\;D:/libs/boost\stage\lib;C:/libs/;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win64;$(libOTeDir)\x64\$(Configuration)
- libOTe.lib;libPSI.lib;libPSI_Tests.lib;cryptoTools.lib;mpir\lib\x64\Debug\mpir.lib;mpir\lib\x64\Debug\mpirxx.lib;Miracl\x64\$(Configuration)\miracl.lib;cryptopp\x64\Output\$(Configuration)\cryptlib.lib;NTL\x64\$(Configuration)\NTL.lib;libOPRF.lib;%(AdditionalDependencies)
+ libOTe.lib;libPSI_Tests.lib;cryptoTools.lib;mpir\lib\x64\Debug\mpir.lib;mpir\lib\x64\Debug\mpirxx.lib;Miracl\x64\$(Configuration)\miracl.lib;cryptopp\x64\Output\$(Configuration)\cryptlib.lib;NTL\x64\$(Configuration)\NTL.lib;libOPRF.lib;%(AdditionalDependencies)
@@ -83,25 +83,15 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/frontend/frontend.vcxproj.filters b/frontend/frontend.vcxproj.filters
index df3c210256..41c10b49de 100644
--- a/frontend/frontend.vcxproj.filters
+++ b/frontend/frontend.vcxproj.filters
@@ -18,9 +18,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -30,47 +27,20 @@
Source Files
-
- Source Files
-
-
- Source Files
-
Source Files
-
- Source Files
-
Source Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
Header Files
Header Files
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
Header Files
diff --git a/frontend/main.cpp b/frontend/main.cpp
index abf0be5074..17f4f302e5 100644
--- a/frontend/main.cpp
+++ b/frontend/main.cpp
@@ -14,8 +14,6 @@ using namespace osuCrypto;
#include "OtBinMain.h"
#include "bitPosition.h"
-#include "TwoChooseOne/KosOtExtReceiver.h"
-#include "TwoChooseOne/KosOtExtSender.h"
#include
#include "Common/Log.h"
//int miraclTestMain();
@@ -35,8 +33,8 @@ int main(int argc, char** argv)
//Bit_Position_Random_Test();
//return 0;
//OPPRF2_EmptrySet_Test_Main();
- //OPPRFn_EmptrySet_Test_Main();
-
+ OPPRFn_EmptrySet_Test_Main();
+ return 0;
std::vector mSet;
u64 setSize = 1 << 20, psiSecParam = 40, bitSize = 128;
u64 nParties=3;
diff --git a/frontend/ntime b/frontend/ntime
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libOPRF/Hashing/CuckooHasher1.cpp b/libOPRF/Hashing/CuckooHasher1.cpp
index f48c895c3d..be594f89ed 100644
--- a/libOPRF/Hashing/CuckooHasher1.cpp
+++ b/libOPRF/Hashing/CuckooHasher1.cpp
@@ -19,19 +19,19 @@ namespace osuCrypto
//u64 mSenderBinStashSize;
CuckooParam1 k2n24s40CuckooParam1
- { {1.2,0.3 },{3,3},{32,32}};
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 } };
CuckooParam1 k2n20s40CuckooParam1
{ { 1.15,0.17 },{ 3,2 },{ 32,64 } };
CuckooParam1 k2n16s40CuckooParam1
- { { 1.2,0.3 },{ 3,3 },{ 32,64 } };
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 } };
CuckooParam1 k2n12s40CuckooParam1
- { { 1.2,0.3 },{ 3,3 },{ 32,64 } };
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 } };
CuckooParam1 k2n08s40CuckooParam1
- { { 1.2,0.3 },{ 3,3 },{ 32,64 } };
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 } };
// not sure if this needs a stash of 40, but should be safe enough.
CuckooParam1 k2n07s40CuckooParam1
- { { 1.2,0.3 },{ 3,3 },{ 32,64 } };
+ { { 1.5,0.17 },{ 3,2 },{ 32,64 } };
CuckooHasher1::CuckooHasher1()
@@ -402,7 +402,7 @@ namespace osuCrypto
if (remaining > 0)
{
- //std::cout << "remaining: " << remaining << std::endl;
+ std::cout << "remaining: " << remaining << std::endl;
throw std::runtime_error("" LOCATION);
}
}
diff --git a/libOPRF/Hashing/SimpleHasher1.cpp b/libOPRF/Hashing/SimpleHasher1.cpp
index 87264a0bd4..fe2528163f 100644
--- a/libOPRF/Hashing/SimpleHasher1.cpp
+++ b/libOPRF/Hashing/SimpleHasher1.cpp
@@ -9,6 +9,21 @@
namespace osuCrypto
{
+ SimpleParam1 k2n24s40SimpleParam1
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 },{5,6} };
+ SimpleParam1 k2n20s40SimpleParam1
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 } ,{ 5,6 } };
+ SimpleParam1 k2n16s40SimpleParam1
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 },{ 5,6 } };
+ SimpleParam1 k2n12s40SimpleParam1
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 },{ 5,6 } };
+ SimpleParam1 k2n08s40SimpleParam1
+ { { 1.15,0.17 },{ 3,2 },{ 32,64 },{ 5,6 } };
+
+ // not sure if this needs a stash of 40, but should be safe enough.
+ SimpleParam1 k2n07s40SimpleParam1
+ { { 1.5,0.17 },{ 3,2 },{ 32,64 },{ 5,6 } };
+
SimpleHasher1::SimpleHasher1()
{
@@ -108,18 +123,34 @@ namespace osuCrypto
void SimpleHasher1::init(u64 n)
{
mN = n;
- mMaxBinSize[0] = 32;
- mMaxBinSize[1] = 64;
- mBinCount[0] = 1.15*n;
- mBinCount[1] = 0.17*n;
+ if (n <= 1 << 7)
+ mParams = k2n07s40SimpleParam1;
+ else if (n <= 1 << 8)
+ mParams = k2n08s40SimpleParam1;
+ else if (n <= 1 << 12)
+ mParams = k2n12s40SimpleParam1;
+ else if (n <= 1 << 16)
+ mParams = k2n16s40SimpleParam1;
+ else if (n <= 1 << 20)
+ mParams = k2n20s40SimpleParam1;
+ else if (n <= 1 << 24)
+ mParams = k2n24s40SimpleParam1;
+ else
+ throw std::runtime_error("not implemented");
+
+ mMaxBinSize[0] = mParams.mMaxBinSize[0];
+ mMaxBinSize[1] = mParams.mMaxBinSize[1];
+
+ mBinCount[0] = mParams.mBinScaler[0]*n;
+ mBinCount[1] = mParams.mBinScaler[1] *n;
mMtx.reset(new std::mutex[mBinCount[0] + mBinCount[1]]);
mBins.resize(mBinCount[1] + mBinCount[0]);
- mNumHashes[0] = 3;
- mNumHashes[1] = 2;
- mNumBits[0] = 5;
- mNumBits[1] = 6;
+ mNumHashes[0] = mParams.mNumHashes[0];
+ mNumHashes[1] = mParams.mNumHashes[1];
+ mNumBits[0] = mParams.mNumBits[0];
+ mNumBits[1] = mParams.mNumBits[1];
// auto log2n = log2ceil(n);
diff --git a/libOPRF/Hashing/SimpleHasher1.h b/libOPRF/Hashing/SimpleHasher1.h
index 75a9168024..7865f4ee13 100644
--- a/libOPRF/Hashing/SimpleHasher1.h
+++ b/libOPRF/Hashing/SimpleHasher1.h
@@ -14,6 +14,21 @@ namespace osuCrypto
// {1<<24, 21}
//};
+
+
+ struct SimpleParam1
+ {
+
+ double mBinScaler[2];
+ u64 mNumHashes[2];
+
+ u64 mMaxBinSize[2];
+ u64 mNumBits[2];
+ /*
+ double mBinStashScaler;
+ u64 mNumStashHashes;
+ u64 mSenderBinStashSize;*/
+ };
class SimpleHasher1
{
@@ -35,7 +50,7 @@ namespace osuCrypto
std::unique_ptr mMtx;
std::vector mBins;
block mHashSeed;
-
+ SimpleParam1 mParams;
void print(u64 idxParty, bool isIdx, bool isOPRF, bool isMap, bool isPos) const;
void init(u64 n);
diff --git a/libOPRF/libOPRF.vcxproj b/libOPRF/libOPRF.vcxproj
index 1494e2bc14..57246f67b3 100644
--- a/libOPRF/libOPRF.vcxproj
+++ b/libOPRF/libOPRF.vcxproj
@@ -51,7 +51,7 @@
Level3
Disabled
true
- D:\libs\miracl;D:\libs\boost;H:\npsi\cryptoTools;$(ProjectDir);$(SolutionDir)/cryptoTools;$(SolutionDir)thirdparty/win/boost;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/;$(SolutionDir)thirdparty/win/miracl;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;D:\VisualGDB\allprojects\libPSI\libOTe;$(libOTeDir)/libOTe
+ D:\libs\miracl;D:\libs\boost;$(ProjectDir);$(SolutionDir)/cryptoTools;$(SolutionDir)thirdparty/win/boost;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/;$(SolutionDir)thirdparty/win/miracl;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)/libOTe
SOLUTION_DIR=R"**($(SolutionDir))**";_MBCS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501
MultiThreadedDebug
diff --git a/libPSI/libPSI.vcxproj b/libPSI/libPSI.vcxproj
index 84b662ffdb..09e6b06d46 100644
--- a/libPSI/libPSI.vcxproj
+++ b/libPSI/libPSI.vcxproj
@@ -51,7 +51,7 @@
Level3
Disabled
true
- D:\libs\NTL;D:\libs\miracl;D:\libs\boost;$(ProjectDir);$(SolutionDir)/cryptoTools;C:/libs/boost;C:/libs/;D:/libs/NTL/include;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;D:\VisualGDB\allprojects\libPSI\libOTe;$(libOTeDir)/libOTe
+ D:\libs\NTL;D:\libs\miracl;D:\libs\boost;$(ProjectDir);$(SolutionDir)/cryptoTools;C:/libs/boost;C:/libs/;D:/libs/NTL/include;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)/libOTe
SOLUTION_DIR=R"**($(SolutionDir))**";_MBCS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501
MultiThreadedDebug
diff --git a/libPSI_Tests/OPPRF_Tests.cpp b/libPSI_Tests/OPPRF_Tests.cpp
index 7b07e002a2..6dc594dd65 100644
--- a/libPSI_Tests/OPPRF_Tests.cpp
+++ b/libPSI_Tests/OPPRF_Tests.cpp
@@ -1704,7 +1704,7 @@ void party3(u64 myIdx, u64 setSize, std::vector& mSet)
//##########################
//### Hashing
//##########################
- bins.hashing2Bins(set, nParties);
+ bins.hashing2Bins(set, 1);
//bins.mSimpleBins.print(myIdx, true, false, false, false);
//bins.mCuckooBins.print(myIdx, true, false, false);
diff --git a/libPSI_Tests/libPSI_Tests.vcxproj b/libPSI_Tests/libPSI_Tests.vcxproj
index 827434e4b5..6c7b210c5b 100644
--- a/libPSI_Tests/libPSI_Tests.vcxproj
+++ b/libPSI_Tests/libPSI_Tests.vcxproj
@@ -49,7 +49,7 @@
Level3
Disabled
true
- H:\npsi\cryptoTools;D:\libs\miracl;D:\libs\boost;D:\libs\NTL\include;D:\npsi\libOPRF;$(SolutionDir)/libOTe;$(SolutionDir)/cryptoTools;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libOPRF;$(SolutionDir)/libPSI;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/miracl;$(SolutionDir)thirdparty/win/NTL/include;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include;$(libOTeDir)/libOTe
+ D:\libs\miracl;D:\libs\boost;D:\libs\NTL\include;$(SolutionDir)/libOTe;$(SolutionDir)/cryptoTools;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libOPRF;$(SolutionDir)/libPSI;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/miracl;$(SolutionDir)thirdparty/win/NTL/include;C:/libs/boost;C:/libs/;C:/libs/NTL/include;C:/libs/miracl;C:\Program Files %28x86%29\Visual Leak Detector\include
MultiThreadedDebug
SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_MBCS;%(PreprocessorDefinitions)
true
diff --git a/libPSI_TestsVS/libPSI_TestsVS.vcxproj b/libPSI_TestsVS/libPSI_TestsVS.vcxproj
index cc371408dd..d1a1893e8d 100644
--- a/libPSI_TestsVS/libPSI_TestsVS.vcxproj
+++ b/libPSI_TestsVS/libPSI_TestsVS.vcxproj
@@ -57,7 +57,7 @@
Use
Level3
Disabled
- D:\libs;D:\libs\boost;D:\libs\miracl;D:\npsi\libOPRF;$(solutionDir)/libOPRF;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libPSI;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/miracl;C:/libs/boost;C:/libs/;D:/libs/NTL/include;C:/libs/NTL/include;C:/libs/miracl;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories);C:\Program Files %28x86%29\Visual Leak Detector\include
+ D:\libs;D:\libs\boost;D:\libs\miracl;$(solutionDir)/libOPRF;$(solutionDir)thirdparty\win\boost\;$(SolutionDir)/libPSI_Tests;$(SolutionDir)/libPSI;$(SolutionDir)thirdparty\win\;$(SolutionDir)thirdparty/win/NTL/include;$(SolutionDir)thirdparty/win/miracl;C:/libs/boost;C:/libs/;D:/libs/NTL/include;C:/libs/NTL/include;C:/libs/miracl;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories);C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)/libOTe
SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_DEBUG;%(PreprocessorDefinitions)
true
MultiThreadedDebug
@@ -65,7 +65,7 @@
Windows
true
- $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories);$(SolutionDir)\thirdparty\win\boost\stage\lib;C:/libs/boost\stage\lib;$(OutDir);$(SolutionDir)thirdparty\win\;C:/libs/;$(libOTeDir)\x64\$(Configuration);D:\libs;D:/libs/boost\stage\lib;D:/libs/
+ $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories);$(SolutionDir)\thirdparty\win\boost\stage\lib;C:/libs/boost\stage\lib;$(OutDir);$(SolutionDir)thirdparty\win\;C:/libs/;D:\libs;D:/libs/boost\stage\lib;D:/libs/;D:\psitest\npsi\libOTe
libOTe.lib;libPSI.lib;libPSI_Tests.lib;cryptoTools.lib;miracl\x64\Debug\miracl.lib;cryptopp\x64\Output\Debug\cryptlib.lib;NTL\x64\Debug\NTL.lib;libOPRF.lib;%(AdditionalDependencies)