pirk-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PIRK-45) Remove dependency on Java serialization
Date Tue, 11 Oct 2016 15:12:20 GMT

    [ https://issues.apache.org/jira/browse/PIRK-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15565701#comment-15565701
] 

ASF GitHub Bot commented on PIRK-45:
------------------------------------

Github user tellison commented on a diff in the pull request:

    https://github.com/apache/incubator-pirk/pull/107#discussion_r82813992
  
    --- Diff: src/main/java/org/apache/pirk/query/wideskies/Query.java ---
    @@ -26,41 +26,51 @@
     import java.util.concurrent.ConcurrentHashMap;
     import java.util.function.Consumer;
     
    +import com.google.gson.annotations.Expose;
     import org.apache.pirk.encryption.ModPowAbstraction;
     import org.apache.pirk.serialization.Storable;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
     
     /**
      * Class to hold the PIR query vectors
    - *
      */
    +
     public class Query implements Serializable, Storable
     {
    -  private static final long serialVersionUID = 1L;
    +  public static final long querySerialVersionUID = 1L;
    +
    +  // So that we can serialize the version number in gson.
    +  @Expose public final long queryVersion = querySerialVersionUID;
     
       private static final Logger logger = LoggerFactory.getLogger(Query.class);
     
    -  private final QueryInfo queryInfo; // holds all query info
    +  @Expose private final QueryInfo queryInfo; // holds all query info
     
    -  private final SortedMap<Integer,BigInteger> queryElements; // query elements
- ordered on insertion
    +  @Expose private final SortedMap<Integer,BigInteger> queryElements; // query elements
- ordered on insertion
     
       // lookup table for exponentiation of query vectors - based on dataPartitionBitSize
       // element -> <power, element^power mod N^2>
       private Map<BigInteger,Map<Integer,BigInteger>> expTable = new ConcurrentHashMap<>();
     
       // File based lookup table for modular exponentiation
       // element hash -> filename containing it's <power, element^power mod N^2>
modular exponentiations
    -  private Map<Integer,String> expFileBasedLookup = new HashMap<>();
    +  @Expose private Map<Integer,String> expFileBasedLookup = new HashMap<>();
    --- End diff --
    
    Should the hash -> filename map be serialized?
    AFAIK it is only used by the responder to compute the results, so I don't think it needs
serializing.


> Remove dependency on Java serialization
> ---------------------------------------
>
>                 Key: PIRK-45
>                 URL: https://issues.apache.org/jira/browse/PIRK-45
>             Project: PIRK
>          Issue Type: Improvement
>            Reporter: Tim Ellison
>            Assignee: Walter Ray-Dulany
>
> Pirk should not depend upon Java serialization as a persistent object format.
> Maintaining support for a variety of versions of Java serialized form can be difficult,
this includes both the querier and responder sides of a PIR.  Alternative formats such as
XML and JSON are more forgiving/extensible.
> Furthermore, and despite Pirk's trust between querier and responder, there are potential
implications for loading the binary representation of Java's serialized instances as a vector
for security vulnerabilities.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message