internal void OnDeserialized(StreamingContext context) { // reuse the serializable class's method to deserialize the group SubgroupGroup sg = this.SubgroupGroupSerializable.ToSubgroupGroup(); this.P = sg.P; this.Q = sg.Q; this.G = sg.G; this.GroupName = sg.GroupName; this.DomainParameterSeed = sg.DomainParameterSeed; }
/// <summary> /// Create a SubgrouGroupSerializable object from a SubgroupGroup. /// </summary> /// <param name="group">The group to serialize.</param> public SubgroupGroupSerializable(SubgroupGroup group) { if (group.P == null || group.Q == null || group.G == null) { throw new UProveSerializationException("P, Q, G cannot be null"); } this.p = group.P.ToBase64String(); this.q = group.Q.ToBase64String(); this.g = group.G.ToBase64String(); }