Browse Source

reorganize folders

Boyoung- 6 years ago
parent
commit
ac6ea65390
73 changed files with 248 additions and 234 deletions
  1. 4 1
      src/protocols/Eviction.java
  2. 4 4
      src/protocols/FlipFlag.java
  3. 10 8
      src/protocols/PIRAccess.java
  4. 7 10
      src/protocols/PIRRetrieve.java
  5. 128 120
      src/protocols/Pipeline.java
  6. 1 1
      src/protocols/Protocol.java
  7. 6 6
      src/protocols/ULiT.java
  8. 2 1
      src/protocols/UpdateRoot.java
  9. 1 1
      src/struct/OutFF.java
  10. 1 1
      src/struct/OutPIRAccess.java
  11. 1 1
      src/struct/OutPIRCOT.java
  12. 1 1
      src/struct/OutULiT.java
  13. 1 1
      src/struct/Party.java
  14. 1 1
      src/struct/TwoOneXor.java
  15. 1 1
      src/struct/TwoThreeXorByte.java
  16. 1 1
      src/struct/TwoThreeXorInt.java
  17. 2 2
      src/subprotocols/InsLbl.java
  18. 3 3
      src/subprotocols/PIRCOT.java
  19. 3 2
      src/subprotocols/PermuteIndex.java
  20. 3 2
      src/subprotocols/PermuteTarget.java
  21. 2 2
      src/subprotocols/SSPIR.java
  22. 3 2
      src/subprotocols/SSXOT.java
  23. 2 2
      src/subprotocols/Shift.java
  24. 2 2
      src/subprotocols/ShiftPIR.java
  25. 2 2
      src/subprotocols/ShiftXorPIR.java
  26. 4 4
      src/subprotocols/ThreeShiftPIR.java
  27. 5 5
      src/subprotocols/ThreeShiftXorPIR.java
  28. 2 2
      src/ui/CLI.java
  29. 1 1
      test/protocols/TestFlipFlag_C.java
  30. 1 1
      test/protocols/TestFlipFlag_D.java
  31. 1 1
      test/protocols/TestFlipFlag_E.java
  32. 1 1
      test/protocols/TestPIRAccess_C.java
  33. 1 1
      test/protocols/TestPIRAccess_D.java
  34. 1 1
      test/protocols/TestPIRAccess_E.java
  35. 1 1
      test/protocols/TestPIRRetrieve_C.java
  36. 1 1
      test/protocols/TestPIRRetrieve_D.java
  37. 1 1
      test/protocols/TestPIRRetrieve_E.java
  38. 1 1
      test/protocols/TestULiT_C.java
  39. 1 1
      test/protocols/TestULiT_D.java
  40. 1 1
      test/protocols/TestULiT_E.java
  41. 1 1
      test/subprotocols/TestInsLbl_C.java
  42. 1 1
      test/subprotocols/TestInsLbl_D.java
  43. 1 1
      test/subprotocols/TestInsLbl_E.java
  44. 1 1
      test/subprotocols/TestPIRCOT_C.java
  45. 1 1
      test/subprotocols/TestPIRCOT_D.java
  46. 1 1
      test/subprotocols/TestPIRCOT_E.java
  47. 1 1
      test/subprotocols/TestPermuteIndex_C.java
  48. 1 1
      test/subprotocols/TestPermuteIndex_D.java
  49. 1 1
      test/subprotocols/TestPermuteIndex_E.java
  50. 1 1
      test/subprotocols/TestPermuteTarget_C.java
  51. 1 1
      test/subprotocols/TestPermuteTarget_D.java
  52. 1 1
      test/subprotocols/TestPermuteTarget_E.java
  53. 1 1
      test/subprotocols/TestSSPIR_C.java
  54. 1 1
      test/subprotocols/TestSSPIR_D.java
  55. 1 1
      test/subprotocols/TestSSPIR_E.java
  56. 1 1
      test/subprotocols/TestSSXOT_C.java
  57. 1 1
      test/subprotocols/TestSSXOT_D.java
  58. 1 1
      test/subprotocols/TestSSXOT_E.java
  59. 1 1
      test/subprotocols/TestShiftPIR_C.java
  60. 1 1
      test/subprotocols/TestShiftPIR_D.java
  61. 1 1
      test/subprotocols/TestShiftPIR_E.java
  62. 1 1
      test/subprotocols/TestShiftXorPIR_C.java
  63. 1 1
      test/subprotocols/TestShiftXorPIR_D.java
  64. 1 1
      test/subprotocols/TestShiftXorPIR_E.java
  65. 1 1
      test/subprotocols/TestShift_C.java
  66. 1 1
      test/subprotocols/TestShift_D.java
  67. 1 1
      test/subprotocols/TestShift_E.java
  68. 1 1
      test/subprotocols/TestThreeShiftPIR_C.java
  69. 1 1
      test/subprotocols/TestThreeShiftPIR_D.java
  70. 1 1
      test/subprotocols/TestThreeShiftPIR_E.java
  71. 1 1
      test/subprotocols/TestThreeShiftXorPIR_C.java
  72. 1 1
      test/subprotocols/TestThreeShiftXorPIR_D.java
  73. 1 1
      test/subprotocols/TestThreeShiftXorPIR_E.java

+ 4 - 1
src/protocols/Eviction.java

@@ -17,7 +17,10 @@ import oram.Forest;
 import oram.Metadata;
 import oram.Tree;
 import oram.Tuple;
-import protocols.struct.Party;
+import struct.Party;
+import subprotocols.PermuteIndex;
+import subprotocols.PermuteTarget;
+import subprotocols.SSXOT;
 import util.M;
 import util.Util;
 

+ 4 - 4
src/pir/FlipFlag.java → src/protocols/FlipFlag.java

@@ -1,13 +1,13 @@
-package pir;
+package protocols;
 
 import communication.Communication;
 import crypto.Crypto;
 import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
-import protocols.Protocol;
-import protocols.struct.OutFF;
-import protocols.struct.Party;
+import struct.OutFF;
+import struct.Party;
+import subprotocols.Shift;
 import util.M;
 import util.Util;
 

+ 10 - 8
src/pir/PIRAccess.java → src/protocols/PIRAccess.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.math.BigInteger;
 
@@ -12,13 +12,15 @@ import oram.Forest;
 import oram.Metadata;
 import oram.Tree;
 import oram.Tuple;
-import protocols.Protocol;
-import protocols.struct.OutPIRAccess;
-import protocols.struct.OutPIRCOT;
-import protocols.struct.Party;
-import protocols.struct.TwoOneXor;
-import protocols.struct.TwoThreeXorByte;
-import protocols.struct.TwoThreeXorInt;
+import struct.OutPIRAccess;
+import struct.OutPIRCOT;
+import struct.Party;
+import struct.TwoOneXor;
+import struct.TwoThreeXorByte;
+import struct.TwoThreeXorInt;
+import subprotocols.PIRCOT;
+import subprotocols.ThreeShiftPIR;
+import subprotocols.ThreeShiftXorPIR;
 import util.M;
 import util.Util;
 

+ 7 - 10
src/pir/PIRRetrieve.java → src/protocols/PIRRetrieve.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.math.BigInteger;
 import java.util.Arrays;
@@ -11,15 +11,12 @@ import oram.Global;
 import oram.Metadata;
 import oram.Tree;
 import oram.Tuple;
-import protocols.Eviction;
-import protocols.Protocol;
-import protocols.UpdateRoot;
-import protocols.struct.OutFF;
-import protocols.struct.OutPIRAccess;
-import protocols.struct.OutULiT;
-import protocols.struct.Party;
-import protocols.struct.TwoThreeXorByte;
-import protocols.struct.TwoThreeXorInt;
+import struct.OutFF;
+import struct.OutPIRAccess;
+import struct.OutULiT;
+import struct.Party;
+import struct.TwoThreeXorByte;
+import struct.TwoThreeXorInt;
 import util.M;
 import util.StopWatch;
 import util.Util;

+ 128 - 120
src/protocols/Pipeline.java

@@ -8,130 +8,138 @@ import exceptions.NoSuchPartyException;
 import oram.Metadata;
 import oram.Tree;
 import oram.Tuple;
-import protocols.struct.OutAccess;
-import protocols.struct.Party;
-import protocols.struct.PreData;
+import struct.Party;
 import util.Timer;
 import util.Util;
 
 public class Pipeline extends Thread {
 
-	private Communication con1;
-	private Communication con2;
-	private Party party;
-	private PreData[] predata;
-	private Tree OTi;
-	private int h;
-	private Timer timer;
-	private Metadata md;
-	private int treeIndex;
-	private byte[] Li;
-	private OutAccess outaccess;
+	// private Communication con1;
+	// private Communication con2;
+	// private Party party;
+	// private PreData[] predata;
+	// private Tree OTi;
+	// private int h;
+	// private Timer timer;
+	// private Metadata md;
+	// private int treeIndex;
+	// private byte[] Li;
+	// private OutAccess outaccess;
+	//
+	// public Pipeline(Communication con1, Communication con2, Party party,
+	// PreData[] predata, Tree OTi, int h,
+	// Timer timer, Metadata md, int treeIndex, byte[] Li, OutAccess outaccess) {
+	// this.con1 = con1;
+	// this.con2 = con2;
+	// this.party = party;
+	// this.predata = predata;
+	// this.OTi = OTi;
+	// this.h = h;
+	// this.timer = timer;
+	// this.md = md;
+	// this.treeIndex = treeIndex;
+	// this.Li = Li;
+	// this.outaccess = outaccess;
+	// }
+	//
+	// public void runE(PreData[] predata, Tree OTi, int h, Timer timer) {
+	// // 1st eviction
+	// Access access = new Access(con1, con2);
+	// Reshuffle reshuffle = new Reshuffle(con1, con2);
+	// PostProcessT postprocesst = new PostProcessT(con1, con2);
+	// UpdateRoot updateroot = new UpdateRoot(con1, con2);
+	// Eviction eviction = new Eviction(con1, con2);
+	//
+	// Tuple[] path = reshuffle.runE(predata[0], outaccess.E_P, OTi.getTreeIndex()
+	// == 0, timer);
+	// Tuple Ti = postprocesst.runE(predata[0], outaccess.E_Ti, OTi.getTreeIndex()
+	// == h - 1, timer);
+	// Tuple[] root = Arrays.copyOfRange(path, 0, OTi.getStashSize());
+	// root = updateroot.runE(predata[0], OTi.getTreeIndex() == 0, outaccess.Li,
+	// root, Ti, timer);
+	// System.arraycopy(root, 0, path, 0, root.length);
+	// eviction.runE(predata[0], OTi.getTreeIndex() == 0, outaccess.Li,
+	// OTi.getTreeIndex() == 0 ? new Tuple[] { Ti } : path, OTi, timer);
+	//
+	// // 2nd eviction
+	// OutAccess outaccess2 = access.runE2(OTi, timer);
+	// Tuple[] path2 = outaccess2.E_P;
+	// Tuple Ti2 = outaccess2.E_Ti;
+	// Tuple[] root2 = Arrays.copyOfRange(path2, 0, OTi.getStashSize());
+	// root2 = updateroot.runE(predata[1], OTi.getTreeIndex() == 0, outaccess2.Li,
+	// root2, Ti2, timer);
+	// System.arraycopy(root2, 0, path2, 0, root2.length);
+	// eviction.runE(predata[1], OTi.getTreeIndex() == 0, outaccess2.Li,
+	// OTi.getTreeIndex() == 0 ? new Tuple[] { Ti2 } : path2, OTi, timer);
+	// }
+	//
+	// public void runD(PreData predata[], Tree OTi, Timer timer) {
+	// // 1st eviction
+	// Access access = new Access(con1, con2);
+	// Reshuffle reshuffle = new Reshuffle(con1, con2);
+	// PostProcessT postprocesst = new PostProcessT(con1, con2);
+	// UpdateRoot updateroot = new UpdateRoot(con1, con2);
+	// Eviction eviction = new Eviction(con1, con2);
+	//
+	// reshuffle.runD();
+	// postprocesst.runD();
+	// updateroot.runD(predata[0], OTi.getTreeIndex() == 0, Li, OTi.getW(), timer);
+	// eviction.runD(predata[0], OTi.getTreeIndex() == 0, Li, OTi, timer);
+	//
+	// // 2nd eviction
+	// byte[] Li2 = access.runD2(OTi, timer);
+	// updateroot.runD(predata[1], OTi.getTreeIndex() == 0, Li2, OTi.getW(), timer);
+	// eviction.runD(predata[1], OTi.getTreeIndex() == 0, Li2, OTi, timer);
+	// }
+	//
+	// public OutAccess runC(PreData[] predata, Metadata md, int ti, byte[] Li,
+	// Timer timer) {
+	// // 1st eviction
+	// Access access = new Access(con1, con2);
+	// Reshuffle reshuffle = new Reshuffle(con1, con2);
+	// PostProcessT postprocesst = new PostProcessT(con1, con2);
+	// UpdateRoot updateroot = new UpdateRoot(con1, con2);
+	// Eviction eviction = new Eviction(con1, con2);
+	//
+	// Tuple[] path = reshuffle.runC(predata[0], outaccess.C_P, ti == 0, timer);
+	// Tuple Ti = postprocesst.runC(predata[0], outaccess.C_Ti, Li,
+	// outaccess.C_Lip1, outaccess.C_j2,
+	// ti == md.getNumTrees() - 1, timer);
+	// Tuple[] root = Arrays.copyOfRange(path, 0, md.getStashSizeOfTree(ti));
+	// root = updateroot.runC(predata[0], ti == 0, root, Ti, timer);
+	// System.arraycopy(root, 0, path, 0, root.length);
+	// eviction.runC(predata[0], ti == 0, ti == 0 ? new Tuple[] { Ti } : path,
+	// md.getLBitsOfTree(ti) + 1,
+	// md.getStashSizeOfTree(ti), md.getW(), timer);
+	//
+	// // 2nd eviction
+	// byte[] Li2 = Util.nextBytes(md.getLBytesOfTree(ti), Crypto.sr);
+	// OutAccess outaccess2 = access.runC2(md, ti, Li2, timer);
+	// Tuple[] path2 = outaccess2.C_P;
+	// Tuple Ti2 = outaccess2.C_Ti;
+	// Tuple[] root2 = Arrays.copyOfRange(path2, 0, md.getStashSizeOfTree(ti));
+	// root2 = updateroot.runC(predata[1], ti == 0, root2, Ti2, timer);
+	// System.arraycopy(root2, 0, path2, 0, root2.length);
+	// eviction.runC(predata[1], ti == 0, ti == 0 ? new Tuple[] { Ti2 } : path2,
+	// md.getLBitsOfTree(ti) + 1,
+	// md.getStashSizeOfTree(ti), md.getW(), timer);
+	//
+	// return outaccess;
+	// }
+	//
+	// public void run() {
+	// if (party == Party.Eddie) {
+	// runE(predata, OTi, h, timer);
+	//
+	// } else if (party == Party.Debbie) {
+	// runD(predata, OTi, timer);
+	//
+	// } else if (party == Party.Charlie) {
+	// runC(predata, md, treeIndex, Li, timer);
+	//
+	// } else {
+	// throw new NoSuchPartyException(party + "");
+	// }
+	// }
 
-	public Pipeline(Communication con1, Communication con2, Party party, PreData[] predata, Tree OTi, int h,
-			Timer timer, Metadata md, int treeIndex, byte[] Li, OutAccess outaccess) {
-		this.con1 = con1;
-		this.con2 = con2;
-		this.party = party;
-		this.predata = predata;
-		this.OTi = OTi;
-		this.h = h;
-		this.timer = timer;
-		this.md = md;
-		this.treeIndex = treeIndex;
-		this.Li = Li;
-		this.outaccess = outaccess;
-	}
-
-	public void runE(PreData[] predata, Tree OTi, int h, Timer timer) {
-		// 1st eviction
-		Access access = new Access(con1, con2);
-		Reshuffle reshuffle = new Reshuffle(con1, con2);
-		PostProcessT postprocesst = new PostProcessT(con1, con2);
-		UpdateRoot updateroot = new UpdateRoot(con1, con2);
-		Eviction eviction = new Eviction(con1, con2);
-
-		Tuple[] path = reshuffle.runE(predata[0], outaccess.E_P, OTi.getTreeIndex() == 0, timer);
-		Tuple Ti = postprocesst.runE(predata[0], outaccess.E_Ti, OTi.getTreeIndex() == h - 1, timer);
-		Tuple[] root = Arrays.copyOfRange(path, 0, OTi.getStashSize());
-		root = updateroot.runE(predata[0], OTi.getTreeIndex() == 0, outaccess.Li, root, Ti, timer);
-		System.arraycopy(root, 0, path, 0, root.length);
-		eviction.runE(predata[0], OTi.getTreeIndex() == 0, outaccess.Li,
-				OTi.getTreeIndex() == 0 ? new Tuple[] { Ti } : path, OTi, timer);
-
-		// 2nd eviction
-		OutAccess outaccess2 = access.runE2(OTi, timer);
-		Tuple[] path2 = outaccess2.E_P;
-		Tuple Ti2 = outaccess2.E_Ti;
-		Tuple[] root2 = Arrays.copyOfRange(path2, 0, OTi.getStashSize());
-		root2 = updateroot.runE(predata[1], OTi.getTreeIndex() == 0, outaccess2.Li, root2, Ti2, timer);
-		System.arraycopy(root2, 0, path2, 0, root2.length);
-		eviction.runE(predata[1], OTi.getTreeIndex() == 0, outaccess2.Li,
-				OTi.getTreeIndex() == 0 ? new Tuple[] { Ti2 } : path2, OTi, timer);
-	}
-
-	public void runD(PreData predata[], Tree OTi, Timer timer) {
-		// 1st eviction
-		Access access = new Access(con1, con2);
-		Reshuffle reshuffle = new Reshuffle(con1, con2);
-		PostProcessT postprocesst = new PostProcessT(con1, con2);
-		UpdateRoot updateroot = new UpdateRoot(con1, con2);
-		Eviction eviction = new Eviction(con1, con2);
-
-		reshuffle.runD();
-		postprocesst.runD();
-		updateroot.runD(predata[0], OTi.getTreeIndex() == 0, Li, OTi.getW(), timer);
-		eviction.runD(predata[0], OTi.getTreeIndex() == 0, Li, OTi, timer);
-
-		// 2nd eviction
-		byte[] Li2 = access.runD2(OTi, timer);
-		updateroot.runD(predata[1], OTi.getTreeIndex() == 0, Li2, OTi.getW(), timer);
-		eviction.runD(predata[1], OTi.getTreeIndex() == 0, Li2, OTi, timer);
-	}
-
-	public OutAccess runC(PreData[] predata, Metadata md, int ti, byte[] Li, Timer timer) {
-		// 1st eviction
-		Access access = new Access(con1, con2);
-		Reshuffle reshuffle = new Reshuffle(con1, con2);
-		PostProcessT postprocesst = new PostProcessT(con1, con2);
-		UpdateRoot updateroot = new UpdateRoot(con1, con2);
-		Eviction eviction = new Eviction(con1, con2);
-
-		Tuple[] path = reshuffle.runC(predata[0], outaccess.C_P, ti == 0, timer);
-		Tuple Ti = postprocesst.runC(predata[0], outaccess.C_Ti, Li, outaccess.C_Lip1, outaccess.C_j2,
-				ti == md.getNumTrees() - 1, timer);
-		Tuple[] root = Arrays.copyOfRange(path, 0, md.getStashSizeOfTree(ti));
-		root = updateroot.runC(predata[0], ti == 0, root, Ti, timer);
-		System.arraycopy(root, 0, path, 0, root.length);
-		eviction.runC(predata[0], ti == 0, ti == 0 ? new Tuple[] { Ti } : path, md.getLBitsOfTree(ti) + 1,
-				md.getStashSizeOfTree(ti), md.getW(), timer);
-
-		// 2nd eviction
-		byte[] Li2 = Util.nextBytes(md.getLBytesOfTree(ti), Crypto.sr);
-		OutAccess outaccess2 = access.runC2(md, ti, Li2, timer);
-		Tuple[] path2 = outaccess2.C_P;
-		Tuple Ti2 = outaccess2.C_Ti;
-		Tuple[] root2 = Arrays.copyOfRange(path2, 0, md.getStashSizeOfTree(ti));
-		root2 = updateroot.runC(predata[1], ti == 0, root2, Ti2, timer);
-		System.arraycopy(root2, 0, path2, 0, root2.length);
-		eviction.runC(predata[1], ti == 0, ti == 0 ? new Tuple[] { Ti2 } : path2, md.getLBitsOfTree(ti) + 1,
-				md.getStashSizeOfTree(ti), md.getW(), timer);
-
-		return outaccess;
-	}
-
-	public void run() {
-		if (party == Party.Eddie) {
-			runE(predata, OTi, h, timer);
-
-		} else if (party == Party.Debbie) {
-			runD(predata, OTi, timer);
-
-		} else if (party == Party.Charlie) {
-			runC(predata, md, treeIndex, Li, timer);
-
-		} else {
-			throw new NoSuchPartyException(party + "");
-		}
-	}
 }

+ 1 - 1
src/protocols/Protocol.java

@@ -6,7 +6,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Global;
 import oram.Metadata;
-import protocols.struct.Party;
+import struct.Party;
 import util.Bandwidth;
 import util.Timer;
 

+ 6 - 6
src/pir/ULiT.java → src/protocols/ULiT.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.security.SecureRandom;
 import java.util.Arrays;
@@ -9,11 +9,11 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import oram.Tuple;
-import protocols.Protocol;
-import protocols.struct.OutULiT;
-import protocols.struct.Party;
-import protocols.struct.TwoThreeXorByte;
-import protocols.struct.TwoThreeXorInt;
+import struct.OutULiT;
+import struct.Party;
+import struct.TwoThreeXorByte;
+import struct.TwoThreeXorInt;
+import subprotocols.InsLbl;
 import util.M;
 import util.Util;
 

+ 2 - 1
src/protocols/UpdateRoot.java

@@ -18,7 +18,8 @@ import gc.GCUtil;
 import oram.Forest;
 import oram.Metadata;
 import oram.Tuple;
-import protocols.struct.Party;
+import struct.Party;
+import subprotocols.SSXOT;
 import util.M;
 import util.Util;
 

+ 1 - 1
src/protocols/struct/OutFF.java → src/struct/OutFF.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public class OutFF {
 	public byte[][] fb_CE;

+ 1 - 1
src/protocols/struct/OutPIRAccess.java → src/struct/OutPIRAccess.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 import oram.Tuple;
 

+ 1 - 1
src/protocols/struct/OutPIRCOT.java → src/struct/OutPIRCOT.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public class OutPIRCOT {
 	public int t_C;

+ 1 - 1
src/protocols/struct/OutULiT.java → src/struct/OutULiT.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 import oram.Tuple;
 

+ 1 - 1
src/protocols/struct/Party.java → src/struct/Party.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public enum Party {
 	Charlie("charlie"), Debbie("debbie"), Eddie("eddie");

+ 1 - 1
src/protocols/struct/TwoOneXor.java → src/struct/TwoOneXor.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public class TwoOneXor {
 	public int t_C;

+ 1 - 1
src/protocols/struct/TwoThreeXorByte.java → src/struct/TwoThreeXorByte.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public class TwoThreeXorByte {
 	public byte[] CE;

+ 1 - 1
src/protocols/struct/TwoThreeXorInt.java → src/struct/TwoThreeXorInt.java

@@ -1,4 +1,4 @@
-package protocols.struct;
+package struct;
 
 public class TwoThreeXorInt {
 	public int CE;

+ 2 - 2
src/pir/InsLbl.java → src/subprotocols/InsLbl.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 import java.util.Arrays;
@@ -9,7 +9,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.Party;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 3 - 3
src/pir/PIRCOT.java → src/subprotocols/PIRCOT.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import communication.Communication;
 import crypto.Crypto;
@@ -8,8 +8,8 @@ import exceptions.PIRCOTException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.OutPIRCOT;
-import protocols.struct.Party;
+import struct.OutPIRCOT;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 3 - 2
src/protocols/PermuteIndex.java → src/subprotocols/PermuteIndex.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.math.BigInteger;
 
@@ -7,7 +7,8 @@ import crypto.Crypto;
 import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
-import protocols.struct.Party;
+import protocols.Protocol;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 3 - 2
src/protocols/PermuteTarget.java → src/subprotocols/PermuteTarget.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.math.BigInteger;
 
@@ -10,7 +10,8 @@ import exceptions.NoSuchPartyException;
 import gc.GCUtil;
 import oram.Forest;
 import oram.Metadata;
-import protocols.struct.Party;
+import protocols.Protocol;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 2 - 2
src/pir/SSPIR.java → src/subprotocols/SSPIR.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 
@@ -8,7 +8,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.Party;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 3 - 2
src/protocols/SSXOT.java → src/subprotocols/SSXOT.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.math.BigInteger;
 
@@ -8,7 +8,8 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import oram.Tuple;
-import protocols.struct.Party;
+import protocols.Protocol;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 2 - 2
src/pir/Shift.java → src/subprotocols/Shift.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import communication.Communication;
 import crypto.Crypto;
@@ -6,7 +6,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.Party;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 2 - 2
src/pir/ShiftPIR.java → src/subprotocols/ShiftPIR.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 
@@ -8,7 +8,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.Party;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 2 - 2
src/pir/ShiftXorPIR.java → src/subprotocols/ShiftXorPIR.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 import java.util.Arrays;
@@ -9,7 +9,7 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.Party;
+import struct.Party;
 import util.M;
 import util.Util;
 

+ 4 - 4
src/pir/ThreeShiftPIR.java → src/subprotocols/ThreeShiftPIR.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 
@@ -8,9 +8,9 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.OutPIRCOT;
-import protocols.struct.Party;
-import protocols.struct.TwoThreeXorByte;
+import struct.OutPIRCOT;
+import struct.Party;
+import struct.TwoThreeXorByte;
 import util.M;
 import util.Util;
 

+ 5 - 5
src/pir/ThreeShiftXorPIR.java → src/subprotocols/ThreeShiftXorPIR.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.security.SecureRandom;
 import java.util.Arrays;
@@ -9,10 +9,10 @@ import exceptions.NoSuchPartyException;
 import oram.Forest;
 import oram.Metadata;
 import protocols.Protocol;
-import protocols.struct.OutPIRCOT;
-import protocols.struct.Party;
-import protocols.struct.TwoOneXor;
-import protocols.struct.TwoThreeXorByte;
+import struct.OutPIRCOT;
+import struct.Party;
+import struct.TwoOneXor;
+import struct.TwoThreeXorByte;
 import util.M;
 import util.Util;
 

+ 2 - 2
src/ui/CLI.java

@@ -15,8 +15,8 @@ import exceptions.NoSuchPartyException;
 import oram.Global;
 import oram.Metadata;
 import protocols.*;
-import pir.*;
-import protocols.struct.Party;
+import struct.Party;
+import subprotocols.*;
 
 public class CLI {
 	public static final int DEFAULT_PORT = 8000;

+ 1 - 1
test/pir/TestFlipFlag_C.java → test/protocols/TestFlipFlag_C.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestFlipFlag_D.java → test/protocols/TestFlipFlag_D.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestFlipFlag_E.java → test/protocols/TestFlipFlag_E.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRAccess_C.java → test/protocols/TestPIRAccess_C.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRAccess_D.java → test/protocols/TestPIRAccess_D.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRAccess_E.java → test/protocols/TestPIRAccess_E.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRRetrieve_C.java → test/protocols/TestPIRRetrieve_C.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRRetrieve_D.java → test/protocols/TestPIRRetrieve_D.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRRetrieve_E.java → test/protocols/TestPIRRetrieve_E.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestULiT_C.java → test/protocols/TestULiT_C.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestULiT_D.java → test/protocols/TestULiT_D.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestULiT_E.java → test/protocols/TestULiT_E.java

@@ -1,4 +1,4 @@
-package pir;
+package protocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestInsLbl_C.java → test/subprotocols/TestInsLbl_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestInsLbl_D.java → test/subprotocols/TestInsLbl_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestInsLbl_E.java → test/subprotocols/TestInsLbl_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRCOT_C.java → test/subprotocols/TestPIRCOT_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRCOT_D.java → test/subprotocols/TestPIRCOT_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestPIRCOT_E.java → test/subprotocols/TestPIRCOT_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteIndex_C.java → test/subprotocols/TestPermuteIndex_C.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteIndex_D.java → test/subprotocols/TestPermuteIndex_D.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteIndex_E.java → test/subprotocols/TestPermuteIndex_E.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteTarget_C.java → test/subprotocols/TestPermuteTarget_C.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteTarget_D.java → test/subprotocols/TestPermuteTarget_D.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestPermuteTarget_E.java → test/subprotocols/TestPermuteTarget_E.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestSSPIR_C.java → test/subprotocols/TestSSPIR_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestSSPIR_D.java → test/subprotocols/TestSSPIR_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestSSPIR_E.java → test/subprotocols/TestSSPIR_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestSSXOT_C.java → test/subprotocols/TestSSXOT_C.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestSSXOT_D.java → test/subprotocols/TestSSXOT_D.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/protocols/TestSSXOT_E.java → test/subprotocols/TestSSXOT_E.java

@@ -1,4 +1,4 @@
-package protocols;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftPIR_C.java → test/subprotocols/TestShiftPIR_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftPIR_D.java → test/subprotocols/TestShiftPIR_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftPIR_E.java → test/subprotocols/TestShiftPIR_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftXorPIR_C.java → test/subprotocols/TestShiftXorPIR_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftXorPIR_D.java → test/subprotocols/TestShiftXorPIR_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShiftXorPIR_E.java → test/subprotocols/TestShiftXorPIR_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShift_C.java → test/subprotocols/TestShift_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShift_D.java → test/subprotocols/TestShift_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestShift_E.java → test/subprotocols/TestShift_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftPIR_C.java → test/subprotocols/TestThreeShiftPIR_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftPIR_D.java → test/subprotocols/TestThreeShiftPIR_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftPIR_E.java → test/subprotocols/TestThreeShiftPIR_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftXorPIR_C.java → test/subprotocols/TestThreeShiftXorPIR_C.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftXorPIR_D.java → test/subprotocols/TestThreeShiftXorPIR_D.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;

+ 1 - 1
test/pir/TestThreeShiftXorPIR_E.java → test/subprotocols/TestThreeShiftXorPIR_E.java

@@ -1,4 +1,4 @@
-package pir;
+package subprotocols;
 
 import java.io.IOException;
 import java.io.InputStream;