Browse Source

reorganizing things and beginning to simplify down to only what we need for PRSONA; this change will not compile

tristangurtler 3 years ago
parent
commit
c0a5d8b88c
100 changed files with 4 additions and 207 deletions
  1. 2 0
      .gitignore
  2. 2 1
      README.md
  3. 0 0
      bgn2/doc/bgnfcf.pdf
  4. 0 0
      bgn2/doc/more_doc
  5. 0 0
      bgn2/src/Bipoint.cpp
  6. 0 0
      bgn2/src/Bipoint.hpp
  7. 0 0
      bgn2/src/BitChiffre.cpp
  8. 0 0
      bgn2/src/BitChiffre.hpp
  9. 0 0
      bgn2/src/BitEvalL1.hpp
  10. 0 0
      bgn2/src/BitEvalL1.tpp
  11. 0 0
      bgn2/src/BitEvalL2.cpp
  12. 0 0
      bgn2/src/BitEvalL2.hpp
  13. 0 0
      bgn2/src/Fp.cpp
  14. 0 0
      bgn2/src/Fp.hpp
  15. 0 0
      bgn2/src/Makefile
  16. 0 0
      bgn2/src/PrivateKey.cpp
  17. 0 0
      bgn2/src/PrivateKey.hpp
  18. 0 0
      bgn2/src/PublicKey.cpp
  19. 0 0
      bgn2/src/PublicKey.hpp
  20. 0 0
      bgn2/src/Quadripoint.cpp
  21. 0 0
      bgn2/src/Quadripoint.hpp
  22. 0 0
      bgn2/src/additionL1.cpp
  23. 0 0
      bgn2/src/additionL1.hpp
  24. 0 0
      bgn2/src/additionL2.cpp
  25. 0 0
      bgn2/src/additionL2.hpp
  26. 0 0
      bgn2/src/bgn.cpp
  27. 0 0
      bgn2/src/bgn.hpp
  28. 0 0
      bgn2/src/chiffrement.cpp
  29. 0 0
      bgn2/src/chiffrement.hpp
  30. 0 0
      bgn2/src/circuit_additionL1.cpp
  31. 0 0
      bgn2/src/circuit_additionL1.hpp
  32. 0 0
      bgn2/src/circuit_additionL2.cpp
  33. 0 0
      bgn2/src/circuit_additionL2.hpp
  34. 0 0
      bgn2/src/circuit_chiffrement.cpp
  35. 0 0
      bgn2/src/circuit_chiffrement.hpp
  36. 0 0
      bgn2/src/circuit_demo.cpp
  37. 0 0
      bgn2/src/circuit_demo.hpp
  38. 0 0
      bgn2/src/circuit_ip.cpp
  39. 0 0
      bgn2/src/circuit_ip.hpp
  40. 0 0
      bgn2/src/circuit_minmaj.cpp
  41. 0 0
      bgn2/src/circuit_minmaj.hpp
  42. 0 0
      bgn2/src/circuit_minmaj2.cpp
  43. 0 0
      bgn2/src/circuit_minmaj2.hpp
  44. 0 0
      bgn2/src/circuit_minmaj3.cpp
  45. 0 0
      bgn2/src/circuit_minmaj3.hpp
  46. 0 0
      bgn2/src/circuit_multiplicationL1.cpp
  47. 0 0
      bgn2/src/circuit_multiplicationL1.hpp
  48. 0 0
      bgn2/src/circuit_multiplicationL1L2.cpp
  49. 0 0
      bgn2/src/circuit_multiplicationL1L2.hpp
  50. 0 0
      bgn2/src/circuit_multiplicationL2.cpp
  51. 0 0
      bgn2/src/circuit_multiplicationL2.hpp
  52. 0 0
      bgn2/src/circuit_scalar_product.cpp
  53. 0 0
      bgn2/src/circuit_scalar_product.hpp
  54. 0 0
      bgn2/src/circuit_size.cpp
  55. 0 0
      bgn2/src/circuit_size.hpp
  56. 0 0
      bgn2/src/circuit_time.cpp
  57. 0 0
      bgn2/src/circuit_time.hpp
  58. 0 0
      bgn2/src/circuit_time2.cpp
  59. 0 0
      bgn2/src/circuit_time2.hpp
  60. 0 0
      bgn2/src/dechiffrement.cpp
  61. 0 0
      bgn2/src/dechiffrement.hpp
  62. 0 0
      bgn2/src/dechiffrementL2.cpp
  63. 0 0
      bgn2/src/dechiffrementL2.hpp
  64. 0 0
      bgn2/src/error.h
  65. 0 0
      bgn2/src/fpe2scalar.cpp
  66. 0 0
      bgn2/src/fpe2scalar.hpp
  67. 0 0
      bgn2/src/gengetopt.h
  68. 0 0
      bgn2/src/keygen.cpp
  69. 0 0
      bgn2/src/keygen.hpp
  70. 0 0
      bgn2/src/multiplicationL1.cpp
  71. 0 0
      bgn2/src/multiplicationL1.hpp
  72. 0 0
      bgn2/src/pairing.cpp
  73. 0 0
      bgn2/src/pairing.hpp
  74. 0 0
      bgn2/src/postcomputation.cpp
  75. 0 0
      bgn2/src/postcomputation.hpp
  76. 0 0
      bgn2/src/precomputation.cpp
  77. 0 0
      bgn2/src/precomputation.hpp
  78. 0 0
      bgn2/src/quadruplet.cpp
  79. 0 0
      bgn2/src/quadruplet.hpp
  80. 0 0
      bgn2/src/representation.cpp
  81. 0 0
      bgn2/src/representation.hpp
  82. 0 0
      bgn2/src/scalar1024.cpp
  83. 0 0
      bgn2/src/scalar1024.hpp
  84. 0 0
      bgn2/src/size.hpp
  85. 0 0
      bgn2/src/test_quadruplet.cpp
  86. 0 0
      bgn2/src/typedef.h
  87. 0 0
      bgn2/src/zout.hpp
  88. BIN
      bin/bgn
  89. BIN
      bin/bgn_as
  90. BIN
      bin/bgn_check
  91. 0 43
      include/BitEvalL3.hpp
  92. 0 32
      include/BitEvalL4.hpp
  93. 0 12
      include/additionL3.hpp
  94. 0 12
      include/additionL4.hpp
  95. 0 25
      include/circuit_additionL3.hpp
  96. 0 25
      include/circuit_additionL4.hpp
  97. 0 13
      include/dechiffrementL3.hpp
  98. 0 12
      include/dechiffrementL4.hpp
  99. 0 17
      include/multiplicationL1L2.hpp
  100. 0 15
      include/multiplicationL2.hpp

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+bgn2/bin/
+bgn2/obj/

+ 2 - 1
README.md

@@ -1,7 +1,8 @@
 # BGN2
 Proof of concept implementation of BGN-F-CF, a provable-secure, low-depth, homomorphic cryptosystem 
 
-Upload date: 28 July, 2017
+Original upload date: 28 July, 2017
+Edited by Stan Gurtler: November 2020
 
 BGN2 is a free software, it is the implementation of scheme described in the article 
 "Design and Implementation of Low Depth Pairing-based Homomorphic Encryption Scheme" 

+ 0 - 0
doc/bgnfcf.pdf → bgn2/doc/bgnfcf.pdf


+ 0 - 0
doc/more_doc → bgn2/doc/more_doc


+ 0 - 0
src/Bipoint.cpp → bgn2/src/Bipoint.cpp


+ 0 - 0
include/Bipoint.hpp → bgn2/src/Bipoint.hpp


+ 0 - 0
src/BitChiffre.cpp → bgn2/src/BitChiffre.cpp


+ 0 - 0
include/BitChiffre.hpp → bgn2/src/BitChiffre.hpp


+ 0 - 0
include/BitEvalL1.hpp → bgn2/src/BitEvalL1.hpp


+ 0 - 0
include/BitEvalL1.tpp → bgn2/src/BitEvalL1.tpp


+ 0 - 0
src/BitEvalL2.cpp → bgn2/src/BitEvalL2.cpp


+ 0 - 0
include/BitEvalL2.hpp → bgn2/src/BitEvalL2.hpp


+ 0 - 0
src/Fp.cpp → bgn2/src/Fp.cpp


+ 0 - 0
include/Fp.hpp → bgn2/src/Fp.hpp


+ 0 - 0
src/Makefile → bgn2/src/Makefile


+ 0 - 0
src/PrivateKey.cpp → bgn2/src/PrivateKey.cpp


+ 0 - 0
include/PrivateKey.hpp → bgn2/src/PrivateKey.hpp


+ 0 - 0
src/PublicKey.cpp → bgn2/src/PublicKey.cpp


+ 0 - 0
include/PublicKey.hpp → bgn2/src/PublicKey.hpp


+ 0 - 0
src/Quadripoint.cpp → bgn2/src/Quadripoint.cpp


+ 0 - 0
include/Quadripoint.hpp → bgn2/src/Quadripoint.hpp


+ 0 - 0
src/additionL1.cpp → bgn2/src/additionL1.cpp


+ 0 - 0
include/additionL1.hpp → bgn2/src/additionL1.hpp


+ 0 - 0
src/additionL2.cpp → bgn2/src/additionL2.cpp


+ 0 - 0
include/additionL2.hpp → bgn2/src/additionL2.hpp


+ 0 - 0
src/bgn.cpp → bgn2/src/bgn.cpp


+ 0 - 0
include/bgn.hpp → bgn2/src/bgn.hpp


+ 0 - 0
src/chiffrement.cpp → bgn2/src/chiffrement.cpp


+ 0 - 0
include/chiffrement.hpp → bgn2/src/chiffrement.hpp


+ 0 - 0
src/circuit_additionL1.cpp → bgn2/src/circuit_additionL1.cpp


+ 0 - 0
include/circuit_additionL1.hpp → bgn2/src/circuit_additionL1.hpp


+ 0 - 0
src/circuit_additionL2.cpp → bgn2/src/circuit_additionL2.cpp


+ 0 - 0
include/circuit_additionL2.hpp → bgn2/src/circuit_additionL2.hpp


+ 0 - 0
src/circuit_chiffrement.cpp → bgn2/src/circuit_chiffrement.cpp


+ 0 - 0
include/circuit_chiffrement.hpp → bgn2/src/circuit_chiffrement.hpp


+ 0 - 0
src/circuit_demo.cpp → bgn2/src/circuit_demo.cpp


+ 0 - 0
include/circuit_demo.hpp → bgn2/src/circuit_demo.hpp


+ 0 - 0
src/circuit_ip.cpp → bgn2/src/circuit_ip.cpp


+ 0 - 0
include/circuit_ip.hpp → bgn2/src/circuit_ip.hpp


+ 0 - 0
src/circuit_minmaj.cpp → bgn2/src/circuit_minmaj.cpp


+ 0 - 0
include/circuit_minmaj.hpp → bgn2/src/circuit_minmaj.hpp


+ 0 - 0
src/circuit_minmaj2.cpp → bgn2/src/circuit_minmaj2.cpp


+ 0 - 0
include/circuit_minmaj2.hpp → bgn2/src/circuit_minmaj2.hpp


+ 0 - 0
src/circuit_minmaj3.cpp → bgn2/src/circuit_minmaj3.cpp


+ 0 - 0
include/circuit_minmaj3.hpp → bgn2/src/circuit_minmaj3.hpp


+ 0 - 0
src/circuit_multiplicationL1.cpp → bgn2/src/circuit_multiplicationL1.cpp


+ 0 - 0
include/circuit_multiplicationL1.hpp → bgn2/src/circuit_multiplicationL1.hpp


+ 0 - 0
src/circuit_multiplicationL1L2.cpp → bgn2/src/circuit_multiplicationL1L2.cpp


+ 0 - 0
include/circuit_multiplicationL1L2.hpp → bgn2/src/circuit_multiplicationL1L2.hpp


+ 0 - 0
src/circuit_multiplicationL2.cpp → bgn2/src/circuit_multiplicationL2.cpp


+ 0 - 0
include/circuit_multiplicationL2.hpp → bgn2/src/circuit_multiplicationL2.hpp


+ 0 - 0
src/circuit_scalar_product.cpp → bgn2/src/circuit_scalar_product.cpp


+ 0 - 0
include/circuit_scalar_product.hpp → bgn2/src/circuit_scalar_product.hpp


+ 0 - 0
src/circuit_size.cpp → bgn2/src/circuit_size.cpp


+ 0 - 0
include/circuit_size.hpp → bgn2/src/circuit_size.hpp


+ 0 - 0
src/circuit_time.cpp → bgn2/src/circuit_time.cpp


+ 0 - 0
include/circuit_time.hpp → bgn2/src/circuit_time.hpp


+ 0 - 0
src/circuit_time2.cpp → bgn2/src/circuit_time2.cpp


+ 0 - 0
include/circuit_time2.hpp → bgn2/src/circuit_time2.hpp


+ 0 - 0
src/dechiffrement.cpp → bgn2/src/dechiffrement.cpp


+ 0 - 0
include/dechiffrement.hpp → bgn2/src/dechiffrement.hpp


+ 0 - 0
src/dechiffrementL2.cpp → bgn2/src/dechiffrementL2.cpp


+ 0 - 0
include/dechiffrementL2.hpp → bgn2/src/dechiffrementL2.hpp


+ 0 - 0
include/error.h → bgn2/src/error.h


+ 0 - 0
src/fpe2scalar.cpp → bgn2/src/fpe2scalar.cpp


+ 0 - 0
include/fpe2scalar.hpp → bgn2/src/fpe2scalar.hpp


+ 0 - 0
include/gengetopt.h → bgn2/src/gengetopt.h


+ 0 - 0
src/keygen.cpp → bgn2/src/keygen.cpp


+ 0 - 0
include/keygen.hpp → bgn2/src/keygen.hpp


+ 0 - 0
src/multiplicationL1.cpp → bgn2/src/multiplicationL1.cpp


+ 0 - 0
include/multiplicationL1.hpp → bgn2/src/multiplicationL1.hpp


+ 0 - 0
src/pairing.cpp → bgn2/src/pairing.cpp


+ 0 - 0
include/pairing.hpp → bgn2/src/pairing.hpp


+ 0 - 0
src/postcomputation.cpp → bgn2/src/postcomputation.cpp


+ 0 - 0
include/postcomputation.hpp → bgn2/src/postcomputation.hpp


+ 0 - 0
src/precomputation.cpp → bgn2/src/precomputation.cpp


+ 0 - 0
include/precomputation.hpp → bgn2/src/precomputation.hpp


+ 0 - 0
src/quadruplet.cpp → bgn2/src/quadruplet.cpp


+ 0 - 0
include/quadruplet.hpp → bgn2/src/quadruplet.hpp


+ 0 - 0
src/representation.cpp → bgn2/src/representation.cpp


+ 0 - 0
include/representation.hpp → bgn2/src/representation.hpp


+ 0 - 0
src/scalar1024.cpp → bgn2/src/scalar1024.cpp


+ 0 - 0
include/scalar1024.hpp → bgn2/src/scalar1024.hpp


+ 0 - 0
include/size.hpp → bgn2/src/size.hpp


+ 0 - 0
src/test_quadruplet.cpp → bgn2/src/test_quadruplet.cpp


+ 0 - 0
include/typedef.h → bgn2/src/typedef.h


+ 0 - 0
include/zout.hpp → bgn2/src/zout.hpp


BIN
bin/bgn


BIN
bin/bgn_as


BIN
bin/bgn_check


+ 0 - 43
include/BitEvalL3.hpp

@@ -1,43 +0,0 @@
-#ifndef __BITEVALL3_HPP
-
-#define __BITEVALL3_HPP
-
-#include "typedef.h"
-#include "Bipoint.hpp"
-#include "Quadripoint.hpp"
-#include "zout.hpp"
-#include <vector>
-
-// si le circuit utilise des additions de niveau 3, on utilise BitEvalL3 et on utilise pas BitEvalL3
-
-class BitEvalL3
-{
-	public:
-	
-	BitEvalL3() = default; //on remet le constructeur par défaut par défaut qui n'existe plus lorsqu'un constructeur est spécifié
-
-	Quadripoint get_alpha() const;	
-	//Type get_type() const;
-	vector<Bipoint<curvepoint_fp_t>> get_vec_bipoints() const;
-	//Bipoint<twistpoint_fp2_t> get_bipoint_twist() const;
-	vector<Quadripoint> get_vec_quadripoints() const;
-
-	void set_alpha(Quadripoint a);
-	void set_vec_bipoints(vector<Bipoint<curvepoint_fp_t>> b);
-	void set_bipoint_curve(Bipoint<curvepoint_fp_t> b);	
-	//void set_bipoint_twist(Bipoint<twistpoint_fp2_t> c);
-	void set_vec_quadripoints(vector<Quadripoint> d); //utilisé dans additionL3
-	void set_quadripoint(Quadripoint d); //utilisé dans multiplicationL1L2
-	void print() const;
-
-	private:
-	
-	//Type type;	
-	//Bipoint<twistpoint_fp2_t> bipoint_twist;
-	Quadripoint alpha;
-	vector<Bipoint<curvepoint_fp_t>> vec_bipoints;
-	vector<Quadripoint> vec_quadripoints;
-	//int nb_additions;
-};
-
-#endif

+ 0 - 32
include/BitEvalL4.hpp

@@ -1,32 +0,0 @@
-#ifndef __BITEVALL4_HPP
-
-#define __BITEVALL4_HPP
-
-#include "typedef.h"
-#include "Bipoint.hpp"
-#include "Quadripoint.hpp"
-#include "zout.hpp"
-#include <vector>
-
-// si le circuit utilise des additions de niveau 4, on utilise BitEvalL4 et on utilise pas BitEvalL4
-
-class BitEvalL4
-{
-	public:
-	
-	BitEvalL4() = default; //on remet le constructeur par défaut par défaut qui n'existe plus lorsqu'un constructeur est spécifié
-	Quadripoint get_alpha() const;	
-	vector<Quadripoint> get_vec_quadripoints(int n) const;
-
-	void set_alpha(Quadripoint a);
-	void set_vec_quadripoints(vector<Quadripoint> d, int n); //utilisé dans additionL4
-	void set_quadripoint(Quadripoint d, int n); //utilisé dans multiplicationL2
-	
-	private:
-	
-
-	Quadripoint alpha;
-	vector<Quadripoint> vec_quadripoints[2];
-};
-
-#endif

+ 0 - 12
include/additionL3.hpp

@@ -1,12 +0,0 @@
-#ifndef __ADDITIONL3_HPP
-
-#define __ADDITIONL3_HPP
-
-#include "BitEvalL3.hpp"
-#include "keygen.hpp"
-#include "pairing.hpp" 
-
-BitEvalL3 additionL3 (BitEvalL3 a, BitEvalL3 b, PublicKey public_key);
-
-
-#endif /* __ADDITIONL3_HPP */

+ 0 - 12
include/additionL4.hpp

@@ -1,12 +0,0 @@
-#ifndef __ADDITIONL4_HPP
-
-#define __ADDITIONL4_HPP
-
-#include "BitEvalL4.hpp"
-#include "keygen.hpp"
-#include "pairing.hpp" 
-
-BitEvalL4 additionL4 (BitEvalL4 a, BitEvalL4 b, PublicKey public_key);
-
-
-#endif /* __ADDITIONL4_HPP */

+ 0 - 25
include/circuit_additionL3.hpp

@@ -1,25 +0,0 @@
-#ifndef __CIRCUIT_ADDITIONL3_HPP
-
-#define __CIRCUIT_ADDITIONL3_HPP
-
-#include <limits.h>		/* for CHAR_BIT */
-#include "typedef.h"
-#include "BitChiffre.hpp"
-#include "BitEvalL1.hpp"
-#include "BitEvalL2.hpp"
-#include "chiffrement.hpp" 
-#include "keygen.hpp"
-#include "dechiffrement.hpp" 
-#include "dechiffrementL2.hpp" 
-#include "dechiffrementL3.hpp"
-#include "additionL1.hpp"
-#include "multiplicationL1.hpp"
-#include "multiplicationL1L2.hpp"
-#include "additionL2.hpp"
-#include "additionL3.hpp"
-#include "precomputation.hpp"
-#include "postcomputation.hpp"
-
-void circuit_additionL3(PublicKey public_key, PrivateKey private_key);
-
-#endif /* __CIRCUIT_ADDITIONL3_HPP */

+ 0 - 25
include/circuit_additionL4.hpp

@@ -1,25 +0,0 @@
-#ifndef __CIRCUIT_ADDITIONL4_HPP
-
-#define __CIRCUIT_ADDITIONL4_HPP
-
-#include <limits.h>		/* for CHAR_BIT */
-#include "typedef.h"
-#include "BitChiffre.hpp"
-#include "BitEvalL1.hpp"
-#include "BitEvalL2.hpp"
-#include "chiffrement.hpp" 
-#include "keygen.hpp"
-#include "dechiffrement.hpp" 
-#include "dechiffrementL2.hpp" 
-#include "dechiffrementL3.hpp"
-#include "additionL1.hpp"
-#include "multiplicationL1.hpp"
-#include "multiplicationL1L2.hpp"
-#include "additionL2.hpp"
-#include "additionL4.hpp"
-#include "precomputation.hpp"
-#include "postcomputation.hpp"
-
-void circuit_additionL4(PublicKey public_key, PrivateKey private_key);
-
-#endif /* __CIRCUIT_ADDITIONL4_HPP */

+ 0 - 13
include/dechiffrementL3.hpp

@@ -1,13 +0,0 @@
-#ifndef __DECHIFFREMENTL3_HPP
-
-#define __DECHIFFREMENTL3_HPP
-
-#include "BitEvalL3.hpp"
-#include "keygen.hpp"
-#include "dechiffrement.hpp"
-#include "dechiffrementL2.hpp"
-
-void dechiffrementL3(F2& bit_dechiffre, BitEvalL3 bit_chiffre, PrivateKey private_key);
-
-
-#endif /* __DECHIFFREMENTL3_HPP */

+ 0 - 12
include/dechiffrementL4.hpp

@@ -1,12 +0,0 @@
-#ifndef __DECHIFFREMENTL4_HPP
-
-#define __DECHIFFREMENTL4_HPP
-
-#include "BitEvalL4.hpp"
-#include "keygen.hpp"
-#include "dechiffrementL2.hpp"
-
-void dechiffrementL4(F2& bit_dechiffre, BitEvalL4 bit_chiffre, PrivateKey private_key);
-
-
-#endif /* __DECHIFFREMENTL4_HPP */

+ 0 - 17
include/multiplicationL1L2.hpp

@@ -1,17 +0,0 @@
-#ifndef __MULTIPLICATIONL1L2_HPP
-
-#define __MULTIPLICATIONL1L2_HPP
-
-#include "BitChiffre.hpp"
-#include "BitEvalL1.hpp"
-#include "BitEvalL2.hpp"
-#include "keygen.hpp"
-#include "pairing.hpp"
-#include "chiffrement.hpp"
-#include "BitEvalL3.hpp"
-
-BitEvalL3 multiplicationL1L2 (BitEvalL1<curvepoint_fp_t> eval1, BitEvalL2 eval2, PublicKey public_key);
-BitEvalL3 multiplicationL1L2 (BitChiffre eval1, BitEvalL2 eval2, PublicKey public_key);
-
-
-#endif /* __MULTIPLICATIONL1L2_HPP */

+ 0 - 15
include/multiplicationL2.hpp

@@ -1,15 +0,0 @@
-#ifndef __MULTIPLICATIONL2_HPP
-
-#define __MULTIPLICATIONL2_HPP
-
-#include "BitChiffre.hpp"
-#include "BitEvalL2.hpp"
-#include "keygen.hpp"
-#include "pairing.hpp"
-#include "chiffrement.hpp"
-#include "BitEvalL4.hpp"
-
-BitEvalL4 multiplicationL2 (BitEvalL2 eval1, BitEvalL2 eval2, PublicKey public_key);
-
-
-#endif /* __MULTIPLICATIONL2_HPP */

Some files were not shown because too many files changed in this diff