internal void OnSerializing(StreamingContext context)
 {
     // serialize b, responseEqual, and responseUnequal
     this._b               = CryptoSerializer.SerializeGroupElementArray(b, "b");
     this._responseEqual   = CryptoSerializer.SerializeFieldZqElementArray(responseEqual, "responseEqual");
     this._responseUnequal = CryptoSerializer.SerializeFieldZqElementArray(responseUnequal, "responseUnequal");
 }
        internal void OnSerializing(StreamingContext context)
        {
            // we assume that the arrays a, c, and r have the same length
            int length = a.Length;

            if (length - 1 != c.Length || length != r.Length)
            {
                throw new SerializationException("Arrays a and r must have the same length, while c must be one element shorter.");
            }
            _a = CryptoSerializer.SerializeGroupElementArray(this.a, "a");
            _c = CryptoSerializer.SerializeFieldZqElementArray(this.c, "c");
            _r = CryptoSerializer.SerializeFieldZqElementArray(this.r, "r");
        }
        public void OnSerializing(StreamingContext context)
        {
            this._representationLength = this.RepresentationLength;
            this._value = CryptoSerializer.Serialize(this.Value);

            if (this.AreBasesSerializable)
            {
                this._bases = CryptoSerializer.SerializeGroupElementArray(this.Bases, "Bases");
            }
            else
            {
                this._bases = null;
            }

            if (this.IsWitness)
            {
                this._exponents = CryptoSerializer.SerializeFieldZqElementArray(this.Exponents, "exponents");
            }
            else
            {
                this._exponents = null;
            }
        }
 public void VSMSerializing(StreamingContext context)
 {
     _memberSet = CryptoSerializer.SerializeFieldZqElementArray(MemberSet, "MemberSet");
 }