Skip to content

Commit

Permalink
start working on improved protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
nitrieu committed Feb 4, 2017
1 parent a2cf2da commit 882e0f4
Show file tree
Hide file tree
Showing 12 changed files with 71 additions and 67 deletions.
14 changes: 2 additions & 12 deletions frontend/frontend.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,14 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(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</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(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</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>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)</AdditionalLibraryDirectories>
<AdditionalDependencies>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)</AdditionalDependencies>
<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)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Expand All @@ -83,25 +83,15 @@
<ItemGroup>
<ClCompile Include="bitPosition.cpp" />
<ClCompile Include="CLP.cpp" />
<ClCompile Include="cuckooTest.cpp" />
<ClCompile Include="cuckoo\cuckooTests.cpp" />
<ClCompile Include="cuckoo\SimpleCuckoo.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="miraclTest.cpp" />
<ClCompile Include="OtBinMain.cpp" />
<ClCompile Include="UnitTests.cpp" />
<ClCompile Include="util.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bitPosition.h" />
<ClInclude Include="bloomFilterMain.h" />
<ClInclude Include="CLP.h" />
<ClInclude Include="cuckoo\cuckooTests.h" />
<ClInclude Include="cuckoo\SimpleCuckoo.h" />
<ClInclude Include="dcwMain.h" />
<ClInclude Include="dktMain.h" />
<ClInclude Include="OtBinMain.h" />
<ClInclude Include="UnitTests.h" />
<ClInclude Include="util.h" />
</ItemGroup>
<ItemGroup>
Expand Down
30 changes: 0 additions & 30 deletions frontend/frontend.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UnitTests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="util.cpp">
<Filter>Source Files</Filter>
</ClCompile>
Expand All @@ -30,47 +27,20 @@
<ClCompile Include="OtBinMain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="cuckooTest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="cuckoo\cuckooTests.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="CLP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="cuckoo\SimpleCuckoo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="bitPosition.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="UnitTests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dcwMain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="bloomFilterMain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="util.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="OtBinMain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dktMain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="cuckoo\SimpleCuckoo.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="cuckoo\cuckooTests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="CLP.h">
<Filter>Header Files</Filter>
</ClInclude>
Expand Down
6 changes: 2 additions & 4 deletions frontend/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ using namespace osuCrypto;
#include "OtBinMain.h"
#include "bitPosition.h"

#include "TwoChooseOne/KosOtExtReceiver.h"
#include "TwoChooseOne/KosOtExtSender.h"
#include <numeric>
#include "Common/Log.h"
//int miraclTestMain();
Expand All @@ -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<block> mSet;
u64 setSize = 1 << 20, psiSecParam = 40, bitSize = 128;
u64 nParties=3;
Expand Down
Empty file added frontend/ntime
Empty file.
12 changes: 6 additions & 6 deletions libOPRF/Hashing/CuckooHasher1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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);
}
}
Expand Down
47 changes: 39 additions & 8 deletions libOPRF/Hashing/SimpleHasher1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
{
Expand Down Expand Up @@ -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);

Expand Down
17 changes: 16 additions & 1 deletion libOPRF/Hashing/SimpleHasher1.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand All @@ -35,7 +50,7 @@ namespace osuCrypto
std::unique_ptr<std::mutex[]> mMtx;
std::vector<Bin> mBins;
block mHashSeed;

SimpleParam1 mParams;
void print(u64 idxParty, bool isIdx, bool isOPRF, bool isMap, bool isPos) const;

void init(u64 n);
Expand Down
2 changes: 1 addition & 1 deletion libOPRF/libOPRF.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SOLUTION_DIR=R"**($(SolutionDir))**";_MBCS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
Expand Down
2 changes: 1 addition & 1 deletion libPSI/libPSI.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SOLUTION_DIR=R"**($(SolutionDir))**";_MBCS;%(PreprocessorDefinitions);_WIN32_WINNT=0x0501</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
Expand Down
2 changes: 1 addition & 1 deletion libPSI_Tests/OPPRF_Tests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1704,7 +1704,7 @@ void party3(u64 myIdx, u64 setSize, std::vector<block>& 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);

Expand Down
2 changes: 1 addition & 1 deletion libPSI_Tests/libPSI_Tests.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
Expand Down
4 changes: 2 additions & 2 deletions libPSI_TestsVS/libPSI_TestsVS.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>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</AdditionalIncludeDirectories>
<PreprocessorDefinitions>SOLUTION_DIR=R"**($(SolutionDir))**";_WIN32_WINNT=0x0501;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<UseFullPaths>true</UseFullPaths>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(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/</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(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</AdditionalLibraryDirectories>
<AdditionalDependencies>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)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
Expand Down

0 comments on commit 882e0f4

Please sign in to comment.