Commit 06a2328d authored by Yuriy Polyakov's avatar Yuriy Polyakov

Merge branch 'polyakov-v1.6-changes' into 'master'

Polyakov v1.6 changes

See merge request !7
parents 9929f3fc a04f235a
Pipeline #81462438 failed with stages
in 2 seconds
PALISADE TPOC:
--------------
palisade@njit.edu
Project PI:
-----------
Kurt Rohloff, rohloff@njit.edu
\ No newline at end of file
Contributors
============
Technical POC
-------------
PALISADE Project: palisade@njit.edu
Project Lead, Kurt Rohloff: rohloff@njit.edu
Members of the following organizations are or have been contributors to the PALISADE library:
* [NJIT (New Jersey Institute of Technology)](http://www.njit.edu)
* [MIT (Massachusetts Institute of Technology)](http://www.mit.edu)
* [Raytheon BBN Technologies](http://www.bbn.com)
* [UCSD (University of California San Diego)](https://ucsd.edu/)
* [Applied Communication Sciences (ACS) / Vencore Labs](http://www.appcomsci.com/)
* [LGS Innovations (Lucent Government Systems)](http://www.lgsinnovations.com/)
* [Galois, Inc.](https://galois.com/)
Thanks to Our Sponsors
----------------------
PALISADE is being developed with the generous support of our sponsors on the following projects:
* [DARPA SAFEWARE](http://www.darpa.mil/program/safeware) (2015-present) : Sponsored by the Defense Advanced Research Projects Agency (DARPA) and the Army Research Laboratory (ARL) under Contract Numbers W911NF-15-C-0226 and W911NF-15-C-0233. The views expressed are those of the authors and do not necessarily reflect the official policy or position of the Department of Defense or the U.S. Government.
* [NSA CAE](https://www.nsa.gov/resources/educators/centers-academic-excellence/cyber-defense/) (2015-2016) : Project sponsored by the National Security Agency under Grant H98230-15-1-0274. The United States Government is authorized to reproduce and distribute reprints notwithstanding any copyright notice herein.
* Simons Foundation
* IARPA RAMPARTS (2016-present) : This research is based upon work supported in part by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either express or implied, of ODNI, IARPA, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation therein.
* Sloan Foundation
License Information
-------------------
Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
All rights reserved.
......
......@@ -31,10 +31,6 @@ Further information about PALISADE:
[License Information](License.md)
[Contact Information](Contact.md)
[Library Contributors](Contributors.md)
[Library Wiki with documentation](https://gitlab.com/palisade/palisade-development/wikis/home)
......
/*
* @file PALISADEjni.cpp - PALISADE jni wrapper
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file testmain.cpp ; main for Android version of test
* (because Android does not support stdout)
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* EncryptHelper.h
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* Description:
* This code benchmarks functions of the number theory directory of the PALISADE lattice encryption library.
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......@@ -22,19 +24,6 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/*
Description:
This code benchmarks functions of the number theory directory of the PALISADE lattice encryption library.
License Information:
Copyright (c) 2015, New Jersey Institute of Technology (NJIT)
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#define _USE_MATH_DEFINES
#include "benchmark/benchmark.h"
......
/*
* SHE.cpp
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file lib-benchmark : library benchmark routines for comparison by build
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
// this is some helper code for benchmarking BBVs
/**
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
No preview for this file type
/**
* @file CPABEDemo.cpp - Demo file for ciphertext-policy attribute based encryption
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file CPABETwoPhaseDemo.cpp - Demo file for ciphertext-policy attribute based encryption utilizing two-phase approach in key generation
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file IBEDemo.cpp - Demo file for identity based encryption
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file IBETwoPhaseDemo.cpp - Demo file for identity based encryption utilizing a two-phase approach for key generation
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file abecontext-impl.cpp - Forward declarations for ABEContext
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file abecontext.cpp - Implementation file for ABEContext class
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file abecontext.h - Header file for ABEContext class, which is used for ciphertext-policy attribute-based encryption and identity based encryption
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file abecore-impl.cpp - Forward declaration for ABE Core Functionality Classes
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file abecore.h - Virtual classes for core functionality of ABE related schemes.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file abeparamset.h - Parameter sets for ABE schemes
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file cpabe-impl.cpp - Forward declaration for CPABE Functionality Classes
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file ibe.cpp - Implementation file for IBE scheme operations.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file cpabe.h - Header file for CPABE scheme related classes.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file ibe-impl.cpp - Forward declaration for IBE Functionality Classes
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file ibe.cpp - Implementation file for IBE scheme operations.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file ibe.h - Header file for IBE scheme related classes.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file UnitTEstCPABE.cpp - Unit test file for ciphertext-policy attribute based encryption
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file UnitTestIBE.cpp - Unit test file for identity based encryption
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @file
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/*
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file coefpackedencoding.h Represents and defines packing integers of plaintext objects into polynomial coefficients in Palisade.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file coefpackedencoding.h Represents and defines packing integers of plaintext objects into polynomial coefficients in Palisade.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......
/**
* @file encodingparams.cpp Represents and defines parameters for plaintext encoding.
* @author TPOC: palisade@njit.edu
* @author TPOC: contact@palisade-crypto.org
*
* @copyright Copyright (c) 2017, New Jersey Institute of Technology (NJIT)
* @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
......