Skip to content

Commit

Permalink
getting it to compile
Browse files Browse the repository at this point in the history
  • Loading branch information
sga001 committed Jan 3, 2023
1 parent c23c144 commit c6c50cf
Show file tree
Hide file tree
Showing 234 changed files with 87,506 additions and 9 deletions.
13 changes: 7 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
[package]
name = "sealpir"
version = "0.1.0"
authors = ["Sebastian Angel <sebs@cs.utexas.edu>"]
version = "0.1.1"
authors = ["Sebastian Angel <sga001@cis.upenn.edu>"]
edition = "2021"

[build-dependencies]
gcc = "0.3.54"
cmake = "0.1.33"
cc = "1.0"
cmake = "0.1.49"

[dependencies]
libc = "0.2.42"
rand = "0.5.4"
libc = "0.2.139"
rand = "0.8.5"
serde = "1.0.70"
serde_derive = "1.0.70"

Expand Down
6 changes: 3 additions & 3 deletions build.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
extern crate gcc;
extern crate cmake;
use cc;
use cmake;

fn main() {
gcc::Build::new()
cc::Build::new()
.file("sealpir/pir.cpp")
.file("sealpir/pir_server.cpp")
.file("sealpir/pir_client.cpp")
Expand Down
29 changes: 29 additions & 0 deletions deps/SEAL_2.3.1/INSTALL.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
C++ projects:
- SEAL (main library)
- SEALExamples (extensively documented examples of using SEAL)
- SEALTest (MSVC unit tests for SEAL)

.NET Framework projects (Windows only):
- SEALNET (.NET Framework wrappers for SEAL)
- SEALNETExamples (extensively documented examples of using SEALNET)
- SEALNETTest (MSVC unit tests for SEALNET)


Building and installation:

Windows: Use Microsoft Visual Studio to build all projects in the solution SEAL.sln.

Linux/OS X:
- Make sure cmake is installed.
- For system-wide install of SEAL do:
cd SEAL
cmake .
make
sudo make install
cd ..
- To build SEALExamples do:
cd SEALExamples
cmake .
make
- The sealexamples executable can be found in bin/.
- See SEALExamples/CMakeLists.txt for an example of how to import SEAL using cmake.
24 changes: 24 additions & 0 deletions deps/SEAL_2.3.1/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Microsoft Research License Agreement for Simple Encrypted Arithmetic Library

This Microsoft Research License Agreement, including all exhibits ("Agreement") is a legal agreement between you and Microsoft Corporation (or based on where you live, one of its affiliates). Please read them. They apply to the Microsoft Research software named above, which may include source code and any associated materials, text or speech files, associated media and "online" or electronic documentation and any updates we provide in our discretion (together, the "Software"). The terms also apply to any Microsoft (i) updates, (ii) supplements, (iii) internet-based services, and (iv) support services for this Software, unless other terms accompany those items. If so, those terms apply.
By agreeing to this Agreement and/or by using the Software, you accept these terms. If you do not accept them, do not use the Software. If you comply with these license terms, you have the rights below.
1. SCOPE OF RIGHTS.
a. License Grant. You may use, copy, modify, create derivative works, and distribute the Software for non-commercial purposes, subject to the restrictions in this Agreement. Examples of non-commercial uses are teaching, academic research, public demonstrations and personal experimentation.
b. Publication. You may publish (or present papers or articles) on your results from using the Software.
2. DISTRIBUTION REQUIREMENTS:
a. If you distribute the Software or any derivative works of the Software, you will distribute them under the same terms and conditions as in this license, and you will not grant other rights to the Software or derivative works that are different from those provided by this Agreement.
b. If you have created derivative works of the Software, and distribute such derivative works, you will cause the modified files to carry prominent notices so that recipients know that they are not receiving the original software. Such notices must state: (i) that you have changed the software; and (ii) the date of any changes.
3. LICENSE TO MICROSOFT. In the event you contribute code or other materials to the Simple Encrypted Arithmetic Library project, Microsoft is granted back, without any restrictions or limitations, a non-exclusive, perpetual, irrevocable, royalty-free, assignable and sub-licensable license, to reproduce, publicly perform or display, install, use, modify, post, distribute, make and have made, sell and transfer such contributions, and any other modifications to and/or derivative works of the Software source code or data, for any purpose.
4. SCOPE OF LICENSE. The Software is licensed, not sold. This Agreement only gives you some rights to use the Software. Microsoft reserves all other rights. The patent rights, if any, granted to you in this Agreement only apply to the Software, not to any derivative works you make. In using the Software, you must comply with any technical limitations in the Software that may only allow you to use it in certain ways. You may not:
a. Publish the Software for others to copy;
b. Rent, lease or lend the Software; or
c. Transfer the Software or this Agreement to any third party.
5. FEEDBACK. Any feedback about the Software provided by you to us is voluntarily given, and Microsoft shall be free to use the feedback as it sees fit without obligation or restriction of any kind, even if the feedback is designated by you as confidential.
6. TERM; TERMINATION. The term of this Agreement will commence upon your acceptance of these license terms and will continue unless terminated earlier as provided herein. If you breach this Agreement or if you sue Microsoft or any other party over patents that you think may apply to or read on the Software or anyone's use of the Software, this Agreement (and your license and rights obtained herein) terminate automatically. If this Agreement is terminated, you must cease using and distributing any derivative works or modifications of the Software. Any sections that are intended to survive termination of this Agreement shall survive.
7. EXPORT RESTRICTIONS. The Software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the Software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting.
8. ENTIRE AGREEMENT. This Agreement, any exhibits, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the Software and support services.
9. SEVERABILITY. If any court of competent jurisdiction determines that any provision of this Agreement is illegal, invalid or unenforceable, the remaining provisions will remain in full force and effect.
10. GOVERNING LAW AND VENUE. This Agreement is governed by and construed in accordance with the laws of the state of Washington, without reference to its choice of law principles to the contrary. Each party hereby consents to the jurisdiction and venue of the state and federal courts located in King County, Washington, with regard to any suit or claim arising under or by reason of this Agreement.
11. LEGAL EFFECT. This Agreement describes certain legal rights. You may have other rights under the laws of your country. This Agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.
12. NO ASSIGNMENT. You may not assign this Agreement or any rights or obligations hereunder, except with Microsoft's express written consent. Any attempted assignment in violation of this section will be void.
13. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED "AS-IS." YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
33 changes: 33 additions & 0 deletions deps/SEAL_2.3.1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Introduction
SEAL (Simple Encrypted Arithmetic Library) is an easy-to-use homomorphic encryption
library, developed by researchers in the Cryptography Research group at Microsoft
Research. SEAL is written in standard C++17 and contains .NET Framework wrappers
for the public API. SEAL is licensed under the Microsoft Research License Agreement
and is free for research use (see LICENSE.txt).

# System requirements
Since SEAL has no external dependencies and is written in standard C++17 it is
easy to build on any 64-bit system. For building in Windows, SEAL contains a Visual
Studio 2017 solution file. For building in Linux and Mac OS X, SEAL requires either
g++-6 or newer, or clang++-5 or newer. Please see INSTALL.txt for installation
instructions using CMake.

# Documentation
The code-base contains examples written both in C++ and in C#. These examples are
heavily commented, serving as a self-contained short introduction to using SEAL.
In addition, the .h files both in the C++ library and in the .NET wrapper library
contain detailed comments for the public API.

To learn to use SEAL, we recommend looking at the example projects, as they
contain several detailed and thoroughly commented examples demonstrating most of
the basic features.

# Acknowledgements
We would like to thank John Wernsing, Michael Naehrig, Nathan Dowlin, Rachel
Player, Gizem Cetin, Susan Xia, Peter Rindal, Kyoohyung Han, Zhicong Huang, and
Amir Jalali for their contributions to the SEAL project. We would also like to
thank everyone who has sent us helpful comments, suggestions, and bug reports.

# Contact Us
If you have any questions, suggestions, comments, or bug reports, please contact
us by emailing [sealcrypto@microsoft.com](mailto:sealcrypto@microsoft.com).
67 changes: 67 additions & 0 deletions deps/SEAL_2.3.1/SEAL.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SEAL", "SEAL\SEAL.vcxproj", "{7EA96C25-FC0D-485A-BB71-32B6DA55652A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SEALTest", "SEALTest\SEALTest.vcxproj", "{0345DC4D-EFE3-460E-AB7E-AA6E05BB8DFF}"
ProjectSection(ProjectDependencies) = postProject
{7EA96C25-FC0D-485A-BB71-32B6DA55652A} = {7EA96C25-FC0D-485A-BB71-32B6DA55652A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SEALExamples", "SEALExamples\SEALExamples.vcxproj", "{2B57D847-26DC-45FF-B9AF-EE33910B5093}"
ProjectSection(ProjectDependencies) = postProject
{7EA96C25-FC0D-485A-BB71-32B6DA55652A} = {7EA96C25-FC0D-485A-BB71-32B6DA55652A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SEALNET", "SEALNET\SEALNET.vcxproj", "{6E40CF27-0C74-44D8-91FF-A30D622840CE}"
ProjectSection(ProjectDependencies) = postProject
{7EA96C25-FC0D-485A-BB71-32B6DA55652A} = {7EA96C25-FC0D-485A-BB71-32B6DA55652A}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SEALNETTest", "SEALNETTest\SEALNETTest.csproj", "{7C002BFC-F1A8-4B76-8E40-387AF37CDB9B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SEALNETExamples", "SEALNETExamples\SEALNETExamples.csproj", "{1DBB4B63-4A07-4227-B845-07940A6E314D}"
EndProject
Global
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7EA96C25-FC0D-485A-BB71-32B6DA55652A}.Debug|x64.ActiveCfg = Debug|x64
{7EA96C25-FC0D-485A-BB71-32B6DA55652A}.Debug|x64.Build.0 = Debug|x64
{7EA96C25-FC0D-485A-BB71-32B6DA55652A}.Release|x64.ActiveCfg = Release|x64
{7EA96C25-FC0D-485A-BB71-32B6DA55652A}.Release|x64.Build.0 = Release|x64
{0345DC4D-EFE3-460E-AB7E-AA6E05BB8DFF}.Debug|x64.ActiveCfg = Debug|x64
{0345DC4D-EFE3-460E-AB7E-AA6E05BB8DFF}.Debug|x64.Build.0 = Debug|x64
{0345DC4D-EFE3-460E-AB7E-AA6E05BB8DFF}.Release|x64.ActiveCfg = Release|x64
{0345DC4D-EFE3-460E-AB7E-AA6E05BB8DFF}.Release|x64.Build.0 = Release|x64
{2B57D847-26DC-45FF-B9AF-EE33910B5093}.Debug|x64.ActiveCfg = Debug|x64
{2B57D847-26DC-45FF-B9AF-EE33910B5093}.Debug|x64.Build.0 = Debug|x64
{2B57D847-26DC-45FF-B9AF-EE33910B5093}.Release|x64.ActiveCfg = Release|x64
{2B57D847-26DC-45FF-B9AF-EE33910B5093}.Release|x64.Build.0 = Release|x64
{6E40CF27-0C74-44D8-91FF-A30D622840CE}.Debug|x64.ActiveCfg = Debug|x64
{6E40CF27-0C74-44D8-91FF-A30D622840CE}.Debug|x64.Build.0 = Debug|x64
{6E40CF27-0C74-44D8-91FF-A30D622840CE}.Release|x64.ActiveCfg = Release|x64
{6E40CF27-0C74-44D8-91FF-A30D622840CE}.Release|x64.Build.0 = Release|x64
{7C002BFC-F1A8-4B76-8E40-387AF37CDB9B}.Debug|x64.ActiveCfg = Debug|x64
{7C002BFC-F1A8-4B76-8E40-387AF37CDB9B}.Debug|x64.Build.0 = Debug|x64
{7C002BFC-F1A8-4B76-8E40-387AF37CDB9B}.Release|x64.ActiveCfg = Release|x64
{7C002BFC-F1A8-4B76-8E40-387AF37CDB9B}.Release|x64.Build.0 = Release|x64
{1DBB4B63-4A07-4227-B845-07940A6E314D}.Debug|x64.ActiveCfg = Debug|x64
{1DBB4B63-4A07-4227-B845-07940A6E314D}.Debug|x64.Build.0 = Debug|x64
{1DBB4B63-4A07-4227-B845-07940A6E314D}.Release|x64.ActiveCfg = Release|x64
{1DBB4B63-4A07-4227-B845-07940A6E314D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal
Loading

0 comments on commit c6c50cf

Please sign in to comment.