OPPRF-PSI
OPPRF-PSI copied to clipboard
make error: KkrtNcoOtSender and KkrtNcoOtReceiver
When building source code as directed in the README, cmake works and make is able to compile all the dependencies, but it fails with:
OPPRF-PSI/psi_analytics_eurocrypt19/ots/ots.cpp: In function ‘std::vector<long unsigned int> ENCRYPTO::ot_receiver(const std::vector<long unsigned int>&, ENCRYPTO::PsiAnalyticsContext&)’:
OPPRF-PSI/psi_analytics_eurocrypt19/ots/ots.cpp:50:14: error: ‘KkrtNcoOtReceiver’ is not a member of ‘osuCrypto’
50 | osuCrypto::KkrtNcoOtReceiver recv;
| ^~~~~~~~~~~~~~~~~
...
OPPRF-PSI/psi_analytics_eurocrypt19/ots/ots.cpp:116:14: error: ‘KkrtNcoOtSender’ is not a member of ‘osuCrypto’
116 | osuCrypto::KkrtNcoOtSender sender;
| ^~~~~~~~~~~~~~~
...
OPPRF-PSI/psi_analytics_eurocrypt19/ots/ots.cpp:135:41: error: variable ‘osuCrypto::BitVector choices’ has initializer but incomplete type
135 | osuCrypto::BitVector choices(baseCount);
There are other errors relating to the variables of type KkrtNcoOtReceiver and KkrtNcoOtSender that also seem to derive from a failure to find those within osuCrypto. So in this code, is the KKRT16 BaRK-OPRF implementation on github at osu-crypto/BaRK-OPRF a necessary dependency that is not automatically installed by make? Or can the necessary modules be found somewhere else?