PreSSCOT.java 936 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package protocols;
  2. import communication.Communication;
  3. import crypto.Crypto;
  4. import crypto.PRF;
  5. import oram.Forest;
  6. import oram.Metadata;
  7. public class PreSSCOT extends Protocol {
  8. public PreSSCOT(Communication con1, Communication con2) {
  9. super(con1, con2);
  10. }
  11. public void runE(PreData predata, int n) {
  12. predata.sscot_k = PRF.generateKey(Crypto.sr);
  13. predata.sscot_kprime = PRF.generateKey(Crypto.sr);
  14. predata.sscot_r = new byte[n][];
  15. for (int i = 0; i < n; i++) {
  16. predata.sscot_r[i] = new byte[Crypto.secParamBytes];
  17. Crypto.sr.nextBytes(predata.sscot_r[i]);
  18. }
  19. con1.write(predata.sscot_k);
  20. con1.write(predata.sscot_kprime);
  21. con1.write(predata.sscot_r);
  22. }
  23. public void runD(PreData predata) {
  24. predata.sscot_k = con1.read();
  25. predata.sscot_kprime = con1.read();
  26. predata.sscot_r = con1.readObject();
  27. }
  28. public void runC() {
  29. }
  30. @Override
  31. public void run(Party party, Metadata md, Forest forest) {
  32. }
  33. }