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");
        }
        internal void OnPPSerializing(StreamingContext context)
        {
            if ((PublicValues == null) || (!ArePublicValuesSerializable))
            {
                _publicValues = null;
            }
            else
            {
                _publicValues = CryptoSerializer.SerializeGroupElementArray(this.PublicValues, "PublicValues");
            }

            if ((Witnesses == null) || (!AreWitnessesSerializable))
            {
                _witnesses = null;
            }
            else
            {
                _witnesses = CryptoSerializer.Serialize(this.Witnesses, false, this.AreWitnessBasesSerializable);
            }
        }
Exemple #4
0
        internal void OnSerializing(StreamingContext context)
        {
            // check lengths of arrays A, B, X, D
            if ((A == null) || (X == null) || (D == null) ||
                (A.Length != X.Length) ||
                (A.Length != D.Length) ||
                ((B != null) && (B.Length != A.Length)))
            {
                throw new SerializationException("Arrays A, B, X, and D must have the same length.");
            }

            // serialize A
            _a = CryptoSerializer.SerializeGroupElementArray(A, "A");
            if (this.B != null)
            {
                _b = CryptoSerializer.SerializeGroupElementArray(B, "B");
            }
            _x = CryptoSerializer.SerializeGroupElementArray(X, 1, X.Length - 1, "X");
            _d = CryptoSerializer.SerializeGroupElementArray(D, 1, D.Length - 1, "D");
        }
        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;
            }
        }
 internal void OnSerializing(StreamingContext context)
 {
     _generators = CryptoSerializer.SerializeGroupElementArray(this.Generators, "Generators");
 }
Exemple #7
0
 internal void OnSerializing(StreamingContext context)
 {
     _AB = CryptoSerializer.SerializeGroupElementArray(new GroupElement[2] {
         this.A, this.B
     }, "AB");
 }