Name: SHELib Version: 0.2.git.11.859172e3 Release: 1%{?dist} Summary: Simple Homomorphic Encryption Library License: Apache License URL: https://someurl.org VCS: git+https://github.com/rjrelyea/SHELib.git#859172e35e1f657250dc449d683f34de9f349ae6: Source: SHELib-859172e3.tar.gz BuildRequires: HElib > 2.0.0 BuildRequires: gmp-devel BuildRequires: gcc-c++ BuildRequires: make %if 0%{?rhel} != 9 BuildRequires: pandoc %endif Requires: HELib > 2.0.0 %description Homomorphic Encryption allows you to send encrypted data to a third party and that third party can do computations on the data and return it to you will all the computations happening on the encrypted data itself. This library uses the HElib's binArithmetic library to implement as full a C++ semantic as possible. HElib uses the BGV homomorphic encryption system. This system can do primitive operations of bit level addition and bit level multiplication. Each operation adds some noise to the result, so only a limited number of operations can be done before the noise overwhelms our actual data. Part of BGV is a way to set the noise level to a lower value by decrypting our the encrypted value homophorphically. The details aren't important for the use of SHELib, but this affects the performance of any calculations you do. %prep %setup -T -b 0 -q -n SHELib %build export TARGET_INCLUDE=%{_includedir} export TARGET_LIB=%{_libdir} export TARGET_BIN=%{_bindir} export TARGET_MAN=%{_mandir} export TARGET_DOC=%{_datadir}/doc export VERSION=%{version} %if 0%{?rhel} != 9 make %else make nodoc %endif %install export DESTDIR=$RPM_BUILD_ROOT export TARGET_INCLUDE=%{_includedir} export TARGET_LIB=%{_libdir} export TARGET_BIN=%{_bindir} export TARGET_MAN=%{_mandir} export TARGET_DOC=%{_datadir}/doc export VERSION=%{version} %if 0%{?rhel} != 9 make install %else make install-nodoc %endif %files %{_libdir}/libSHELib.a %{_libdir}/pkgconfig/SHELib.pc %{_bindir}/SHETest %{_bindir}/SHEMathTest %{_bindir}/SHEStringTest %{_bindir}/SHEPerf %{_bindir}/SHEEval %{_includedir}/SHELib %if 0%{?rhel} != 9 %doc %{_mandir}/man3/* %doc %{_datadir}/doc/SHELib %endif %check # do a reasonable test: use float, but skip div, log and trig tests. # use the smallest security level ./SHETest --no-trig --float --no-log --no-div 19 600 %changelog * Tue Nov 09 2021 root 0.2-1 - enable builds without documents for RHEL-9 Stream since powertools aren't available in the RHEL-9 Stream compose yet. * Mon Nov 08 2021 Bob Relyea 0.1-1 - Fix missing 'doc' in %%file section - sigh, spell pkgconfig correctly - Put confg.pc in the correct location. - Fix variable termination problem - Fix missing space - Fix errors in man and doc install in Makefile - Add bootstrap statistics - Add pandoc requirement. - Add documentation and pkg-config files - Add pkgconfig file - Add install-time dependency on HElib - Fix bug in rounding when the value is negative. - Update spec to correctly spell SHETest - 1. make setUnbiasedExp that a signed value (since exp's are signed). - Drop log from the sniff test - Add SHETest to check section of .spec file - 1. Add more math.h functions. - update tan function. - Fix bug in setBit() when setting a bit in an explicitZero SHEInt using - Fix floating point compair bug. - 1. Fix bugs in trunc() and fract(). - More build fixes - Fix install problem - Update install to include headers, - Add build dependencies on gmp-devel - update Makefile for autobuild - Add bootstrap reporting to test scripts - 1. Fix bug in operator%() where it was returning the quotient not the remainder - 1. Fix Makefile issues - Update make system for automake in copr - remove old .spec - Rename spec - Start setting up rpm build - Add float to integer Math functions - 1. move performance defines to SHEConfig.h - 1. Add floating point math libraries. (SHEMath.h SHEMath.cpp) - Make SHETest.cpp pass again. - Add recrypt counters, - SHEInt.h didn't have the config files removed. do so now - Pull all the config defines into a single SHEConfig.h file - Add TODO list - - Add Floating point tests to SHEText.cpp - General cleanups - pick up missing files to the repository. - Initial checkin - Initial commit * Fri Oct 29 2021 Bob Relyea - 0.0.0-0 - initial import #EOF