aboutsummaryrefslogtreecommitdiff
path: root/security/helib
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2020-01-16 05:49:23 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2020-01-16 05:49:23 +0000
commit78c93ddb42e16fd418f32bbb059728478a721b9d (patch)
tree7b678ba6d2506b0c0562dd640df467b882fe22ed /security/helib
parent27e4046104d10aa179ff245e961c841fd24dbad2 (diff)
downloadports-78c93ddb42e16fd418f32bbb059728478a721b9d.tar.gz
ports-78c93ddb42e16fd418f32bbb059728478a721b9d.zip
New port: security/helib: Implementation of homomorphic encryption
Notes
Notes: svn path=/head/; revision=523202
Diffstat (limited to 'security/helib')
-rw-r--r--security/helib/Makefile25
-rw-r--r--security/helib/distinfo3
-rw-r--r--security/helib/files/patch-src_timing.cpp11
-rw-r--r--security/helib/pkg-descr10
-rw-r--r--security/helib/pkg-plist55
5 files changed, 104 insertions, 0 deletions
diff --git a/security/helib/Makefile b/security/helib/Makefile
new file mode 100644
index 000000000000..270f56f3a375
--- /dev/null
+++ b/security/helib/Makefile
@@ -0,0 +1,25 @@
+# $FreeBSD$
+
+PORTNAME= helib
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.0.0
+CATEGORIES= security
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Implementation of homomorphic encryption
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libgmp.so:math/gmp \
+ libntl.so:math/ntl
+
+USES= cmake compiler:c++14-lang
+USE_GITHUB= yes
+GH_ACCOUNT= homenc
+GH_PROJECT= HElib
+USE_LDCONFIG= yes
+
+CMAKE_ON= BUILD_SHARED
+
+.include <bsd.port.mk>
diff --git a/security/helib/distinfo b/security/helib/distinfo
new file mode 100644
index 000000000000..13173784bf2e
--- /dev/null
+++ b/security/helib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1579152871
+SHA256 (homenc-HElib-v1.0.0_GH0.tar.gz) = 5b917a6ba1555be580db4c102a339abe124c284007f0044d637892ec85877214
+SIZE (homenc-HElib-v1.0.0_GH0.tar.gz) = 1564901
diff --git a/security/helib/files/patch-src_timing.cpp b/security/helib/files/patch-src_timing.cpp
new file mode 100644
index 000000000000..289c71c05166
--- /dev/null
+++ b/security/helib/files/patch-src_timing.cpp
@@ -0,0 +1,11 @@
+--- src/timing.cpp.orig 2020-01-16 05:36:23 UTC
++++ src/timing.cpp
+@@ -23,7 +23,7 @@ unsigned long GetTimerClock()
+ timespec ts;
+
+
+- clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
++ clock_gettime(CLOCK_MONOTONIC, &ts);
+ //clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
+ //clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
+
diff --git a/security/helib/pkg-descr b/security/helib/pkg-descr
new file mode 100644
index 000000000000..a4bee4f90230
--- /dev/null
+++ b/security/helib/pkg-descr
@@ -0,0 +1,10 @@
+HElib is a software library that implements homomorphic encryption (HE).
+Currently available schemes are the implementations of the
+Brakerski-Gentry-Vaikuntanathan (BGV) scheme with bootstrapping and the
+Approximate Number scheme of Cheon-Kim-Kim-Song (CKKS), along with many
+optimizations to make homomorphic evaluation run faster, focusing mostly
+on effective use of the Smart-Vercauteren ciphertext packing techniques
+and the Gentry-Halevi-Smart optimizations. See this report for a
+description of a few of the algorithms using in this library.
+
+WWW: https://github.com/homenc/HElib
diff --git a/security/helib/pkg-plist b/security/helib/pkg-plist
new file mode 100644
index 000000000000..3ed158dfde5d
--- /dev/null
+++ b/security/helib/pkg-plist
@@ -0,0 +1,55 @@
+include/helib/ArgMap.h
+include/helib/CModulus.h
+include/helib/Context.h
+include/helib/CtPtrs.h
+include/helib/Ctxt.h
+include/helib/DoubleCRT.h
+include/helib/EncryptedArray.h
+include/helib/EvalMap.h
+include/helib/FHE.h
+include/helib/IndexMap.h
+include/helib/IndexSet.h
+include/helib/NumbTh.h
+include/helib/PAlgebra.h
+include/helib/PGFFT.h
+include/helib/PolyMod.h
+include/helib/PolyModRing.h
+include/helib/PtrMatrix.h
+include/helib/PtrVector.h
+include/helib/Ptxt.h
+include/helib/assertions.h
+include/helib/binaryArith.h
+include/helib/binaryCompare.h
+include/helib/binio.h
+include/helib/bluestein.h
+include/helib/clonedPtr.h
+include/helib/debugging.h
+include/helib/exceptions.h
+include/helib/fhe_stats.h
+include/helib/helib.h
+include/helib/hypercube.h
+include/helib/intraSlot.h
+include/helib/keySwitching.h
+include/helib/keys.h
+include/helib/matching.h
+include/helib/matmul.h
+include/helib/multicore.h
+include/helib/norms.h
+include/helib/permutations.h
+include/helib/polyEval.h
+include/helib/powerful.h
+include/helib/primeChain.h
+include/helib/randomMatrices.h
+include/helib/range.h
+include/helib/recryption.h
+include/helib/replicate.h
+include/helib/sample.h
+include/helib/tableLookup.h
+include/helib/timing.h
+include/helib/zzX.h
+lib/libhelib.so
+lib/libhelib.so.1.0.0
+share/cmake/helib/helibConfig.cmake
+share/cmake/helib/helibConfigVersion.cmake
+share/cmake/helib/helibTargets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/helib/helibTargets.cmake