public void Init(IDerivationParameters param)
        {
            KdfCounterParameters kdfParams = param as KdfCounterParameters;

            if (kdfParams == null)
            {
                throw new ArgumentException("Wrong type of arguments given");
            }



            // --- init mac based PRF ---

            this.prf.Init(new KeyParameter(kdfParams.Ki));

            // --- set arguments ---

            this.fixedInputDataCtrPrefix = kdfParams.FixedInputDataCounterPrefix;
            this.fixedInputData_afterCtr = kdfParams.FixedInputDataCounterSuffix;

            int r = kdfParams.R;

            this.ios = new byte[r / 8];

            BigInteger maxSize = Two.Pow(r).Multiply(BigInteger.ValueOf(h));

            this.maxSizeExcl = maxSize.CompareTo(IntegerMax) == 1 ?
                               Int32.MaxValue : maxSize.IntValue;

            // --- set operational state ---

            generatedBytes = 0;
        }
Пример #2
0
        public virtual void Init(IDerivationParameters param)
        {
            DHKdfParameters dHKdfParameters = (DHKdfParameters)param;

            algorithm = dHKdfParameters.Algorithm;
            keySize   = dHKdfParameters.KeySize;
            z         = dHKdfParameters.GetZ();
        }
Пример #3
0
        public virtual void Init(IDerivationParameters param)
        {
            DHKdfParameters parameters = (DHKdfParameters)param;

            this.algorithm = parameters.Algorithm;
            this.keySize = parameters.KeySize;
            this.z = parameters.GetZ(); // TODO Clone?
        }
        public void Init(IDerivationParameters param)
        {
            var parameters = (DHKdfParameters)param;

            _algorithm = parameters.Algorithm;
            _keySize = parameters.KeySize;
            _z = parameters.GetZ(); // TODO Clone?
        }
Пример #5
0
        public virtual void Init(IDerivationParameters param)
        {
            DHKdfParameters parameters = (DHKdfParameters)param;

            this.algorithm = parameters.Algorithm;
            this.keySize   = parameters.KeySize;
            this.z         = parameters.GetZ(); // TODO Clone?
        }
Пример #6
0
        public void Init(IDerivationParameters param)
        {
            var parameters = (DHKdfParameters)param;

            _algorithm = parameters.Algorithm;
            _keySize   = parameters.KeySize;
            _z         = parameters.GetZ(); // TODO Clone?
        }
Пример #7
0
        public virtual void Init(IDerivationParameters param)
        {
            DHKdfParameters dHKdfParameters = (DHKdfParameters)param;

            this.algorithm  = dHKdfParameters.Algorithm;
            this.keySize    = dHKdfParameters.KeySize;
            this.z          = dHKdfParameters.GetZ();
            this.partyAInfo = dHKdfParameters.GetExtraInfo();
        }
Пример #8
0
        private byte[] GenerateKdfBytes(IDerivationParameters kParam, int length)
        {
            var buf = new byte[length];

            _kdf.Init(kParam);

            _kdf.GenerateBytes(buf, 0, buf.Length);

            return(buf);
        }
Пример #9
0
		public void Init(
			IDerivationParameters param)
		{
			DHKdfParameters parameters = (DHKdfParameters)param;

			this.algorithm = parameters.Algorithm;
			this.keySize = parameters.KeySize;
			this.z = parameters.GetZ(); // TODO Clone?
			this.partyAInfo = parameters.GetExtraInfo(); // TODO Clone?
		}
    public void Init(IDerivationParameters parameters)
    {
        if (!typeof(MgfParameters).IsInstanceOfType(parameters))
        {
            throw new ArgumentException("MGF parameters required for MGF1Generator");
        }
        MgfParameters mgfParameters = (MgfParameters)parameters;

        seed = mgfParameters.GetSeed();
    }
Пример #11
0
        public void Init(
            IDerivationParameters param)
        {
            DHKdfParameters parameters = (DHKdfParameters)param;

            this.algorithm  = parameters.Algorithm;
            this.keySize    = parameters.KeySize;
            this.z          = parameters.GetZ();         // TODO Clone?
            this.partyAInfo = parameters.GetExtraInfo(); // TODO Clone?
        }
Пример #12
0
        public void Init(IDerivationParameters parameters)
        {
            //IL_0017: Unknown result type (might be due to invalid IL or missing references)
            if (!typeof(MgfParameters).IsInstanceOfType((object)parameters))
            {
                throw new ArgumentException("MGF parameters required for MGF1Generator");
            }
            MgfParameters mgfParameters = (MgfParameters)parameters;

            seed = mgfParameters.GetSeed();
        }
        public void Init(
            IDerivationParameters    parameters)
        {
            if (!(typeof(MgfParameters).IsInstanceOfType(parameters)))
            {
                throw new ArgumentException("MGF parameters required for MGF1Generator");
            }

            MgfParameters   p = (MgfParameters)parameters;

            seed = p.GetSeed();
        }
Пример #14
0
        public void Init(
            IDerivationParameters parameters)
        {
            if (parameters == null || !(typeof(MgfParameters).GetTypeInfo().IsAssignableFrom(parameters.GetType().GetTypeInfo())))
            {
                throw new ArgumentException("MGF parameters required for MGF1Generator");
            }

            MgfParameters p = (MgfParameters)parameters;

            seed = p.GetSeed();
        }
        public void Init(IDerivationParameters parameters)
        {
            KdfParameters p = parameters as KdfParameters;

            if (p == null)
            {
                throw new ArgumentException("Must be KdfParameters.");
            }

            shared    = p.GetSharedSecret();
            otherInfo = p.GetIV();
        }
Пример #16
0
        public void Init(
            IDerivationParameters parameters)
        {
            if (!(parameters is MgfParameters))
            {
                throw new ArgumentException("MGF parameters required for MGF1Generator");
            }

            MgfParameters p = (MgfParameters)parameters;

            seed = p.GetSeed();
        }
Пример #17
0
        public virtual void Init(IDerivationParameters param)
        {
            if (!(param is KdfParameters))
            {
                throw new ArgumentException("KDF parameters required for ConcatenationKdfGenerator");
            }

            KdfParameters p = (KdfParameters)param;

            mShared    = p.GetSharedSecret();
            mOtherInfo = p.GetIV();
        }
        public override void Init(IDerivationParameters parameters)
        {
            KdfParameters kdfParameters = (KdfParameters)parameters;

            if (kdfParameters != null)
            {
                _shared = kdfParameters.GetSharedSecret();
            }
            else
            {
                throw new ArgumentException("KDF Parameters Required For KDF Generator");
            }
        }
Пример #19
0
        public void Init(
            IDerivationParameters param)
        {
            if (param is KdfParameters)
            {
                KdfParameters p = (KdfParameters)param;

                shared    = p.GetSharedSecret();
                otherInfo = p.GetIV();
            }
            else
            {
                throw new ArgumentException("KDF parameters required for KDF2Generator");
            }
        }
Пример #20
0
		private void CheckMask(
			int						count,
			IDerivationFunction		kdf,
			IDerivationParameters	parameters,
			byte[]					result)
		{
			byte[] data = new byte[result.Length];

			kdf.Init(parameters);

			kdf.GenerateBytes(data, 0, data.Length);

			if (!AreEqual(result, data))
			{
				Fail("ECDHKekGenerator failed generator test " + count);
			}
		}
        private void CheckMask(
            int count,
            IDerivationFunction kdf,
            IDerivationParameters parameters,
            byte[]                                  result)
        {
            byte[] data = new byte[result.Length];

            kdf.Init(parameters);

            kdf.GenerateBytes(data, 0, data.Length);

            if (!AreEqual(result, data))
            {
                Fail("ECDHKekGenerator failed generator test " + count);
            }
        }
Пример #22
0
 public void Init(IDerivationParameters param)
 {
     if (param is KdfParameters kdfParameters)
     {
         _shared = kdfParameters.GetSharedSecret();
         _iv     = kdfParameters.GetIV();
     }
     else if (param is Iso18033KdfParameters iso18033KdfParameters)
     {
         _shared = iso18033KdfParameters.GetSeed();
         _iv     = null;
     }
     else
     {
         throw new ArgumentException("KDF parameters required for KDF2Generator");
     }
 }
Пример #23
0
 public virtual void Init(IDerivationParameters parameters)
 {
     if (parameters is KdfParameters)
     {
         KdfParameters kdfParameters = (KdfParameters)parameters;
         this.shared = kdfParameters.GetSharedSecret();
         this.iv     = kdfParameters.GetIV();
         return;
     }
     if (parameters is Iso18033KdfParameters)
     {
         Iso18033KdfParameters iso18033KdfParameters = (Iso18033KdfParameters)parameters;
         this.shared = iso18033KdfParameters.GetSeed();
         this.iv     = null;
         return;
     }
     throw new ArgumentException("KDF parameters required for KDF Generator");
 }
Пример #24
0
 public void Init(IDerivationParameters var1)
 {
     if (!(var1 is KDFCounterParameters))
     {
         throw new Exception("Wrong type of arguments given");
     }
     else
     {
         KDFCounterParameters var2 = (KDFCounterParameters)var1;
         this.prf.Init(new KeyParameter(var2.GetKI()));
         this.fixedInputDataCtrPrefix = var2.GetFixedInputDataCounterPrefix();
         this.fixedInputData_afterCtr = var2.GetFixedInputDataCounterSuffix();
         int var3 = var2.GetR();
         this.ios = new byte[var3 / 8];
         BigInteger var4 = TWO.Pow(var3).Multiply(BigInteger.ValueOf((long)this.h));
         this.maxSizeExcl    = var4.CompareTo(INTEGER_MAX) == 1 ? 2147483647 : var4.IntValue;
         this.generatedBytes = 0;
     }
 }
 public virtual void Init(IDerivationParameters parameters)
 {
     //IL_0050: Unknown result type (might be due to invalid IL or missing references)
     if (parameters is KdfParameters)
     {
         KdfParameters kdfParameters = (KdfParameters)parameters;
         shared = kdfParameters.GetSharedSecret();
         iv     = kdfParameters.GetIV();
         return;
     }
     if (parameters is Iso18033KdfParameters)
     {
         Iso18033KdfParameters iso18033KdfParameters = (Iso18033KdfParameters)parameters;
         shared = iso18033KdfParameters.GetSeed();
         iv     = null;
         return;
     }
     throw new ArgumentException("KDF parameters required for KDF Generator");
 }
        public void Init(IDerivationParameters parameters)
        {
            KdfFeedbackParameters feedbackParams = parameters as KdfFeedbackParameters;

            if (feedbackParams == null)
            {
                throw new ArgumentException("Wrong type of arguments given");
            }


            // --- init mac based PRF ---

            this.prf.Init(new KeyParameter(feedbackParams.Ki));

            // --- set arguments ---

            this.fixedInputData = feedbackParams.FixedInputData;

            int r = feedbackParams.R;

            this.ios = new byte[r / 8];

            if (feedbackParams.UseCounter)
            {
                // this is more conservative than the spec
                BigInteger maxSize = Two.Pow(r).Multiply(BigInteger.ValueOf(h));
                this.maxSizeExcl = maxSize.CompareTo(IntegerMax) == 1 ?
                                   Int32.MaxValue : maxSize.IntValue;
            }
            else
            {
                this.maxSizeExcl = Int32.MaxValue;
            }

            this.iv         = feedbackParams.Iv;
            this.useCounter = feedbackParams.UseCounter;

            // --- set operational state ---

            generatedBytes = 0;
        }
Пример #27
0
        public virtual void Init(IDerivationParameters parameters)
        {
            if (parameters is KdfParameters)
            {
                KdfParameters   p = (KdfParameters)parameters;

                shared = p.GetSharedSecret();
                iv = p.GetIV();
            }
            else if (parameters is Iso18033KdfParameters)
            {
                Iso18033KdfParameters p = (Iso18033KdfParameters)parameters;

                shared = p.GetSeed();
                iv = null;
            }
            else
            {
                throw new ArgumentException("KDF parameters required for KDF Generator");
            }
        }
        public void Init(IDerivationParameters parameters)
        {
            var kdfParameters = parameters as KdfParameters;

            if (kdfParameters != null)
            {
                _shared = kdfParameters.GetSharedSecret();
                _iv     = kdfParameters.GetIV();
            }
            else if (parameters is Iso18033KdfParameters)
            {
                var p = (Iso18033KdfParameters)parameters;

                _shared = p.GetSeed();
                _iv     = null;
            }
            else
            {
                throw new ArgumentException("KDF parameters required for KDF Generator");
            }
        }
Пример #29
0
        public virtual void Init(IDerivationParameters parameters)
        {
            if (!(parameters is HkdfParameters))
                throw new ArgumentException("HKDF parameters required for HkdfBytesGenerator", "parameters");

            HkdfParameters hkdfParameters = (HkdfParameters)parameters;
            if (hkdfParameters.SkipExtract)
            {
                // use IKM directly as PRK
                hMacHash.Init(new KeyParameter(hkdfParameters.GetIkm()));
            }
            else
            {
                hMacHash.Init(Extract(hkdfParameters.GetSalt(), hkdfParameters.GetIkm()));
            }

            info = hkdfParameters.GetInfo();

            generatedBytes = 0;
            currentT = new byte[hashLen];
        }
        public virtual void Init(IDerivationParameters parameters)
        {
            if (parameters is KdfParameters)
            {
                KdfParameters p = (KdfParameters)parameters;

                shared = p.GetSharedSecret();
                iv     = p.GetIV();
            }
            else if (parameters is Iso18033KdfParameters)
            {
                Iso18033KdfParameters p = (Iso18033KdfParameters)parameters;

                shared = p.GetSeed();
                iv     = null;
            }
            else
            {
                throw new ArgumentException("KDF parameters required for KDF Generator");
            }
        }
        public void Init(IDerivationParameters parameters)
        {
            HkdfParameters p = parameters as HkdfParameters;
            if (p == null)
            {
                throw new ArgumentException("Must be HKDFParameters.");
            }

            if (p.SkipExtract)
            {
                hMacHash.Init(new KeyParameter(p.Ikm));
            }
            else
            {
                hMacHash.Init(Extract(p.Salt, p.Ikm));
            }

            info = p.Info;

            generatedBytes = 0;
            currentT = new byte[hashLength];
        }
Пример #32
0
        /// <inheritdoc/>
        public virtual void Init(IDerivationParameters parameters)
        {
            if (!(parameters is HkdfParameters))
            {
                throw new ArgumentException("HKDF parameters required for HkdfBytesGenerator", "parameters");
            }

            HkdfParameters hkdfParameters = (HkdfParameters)parameters;

            if (hkdfParameters.SkipExtract)
            {
                // use IKM directly as PRK
                _hMacHash.Init(new KeyParameter(hkdfParameters.GetIkm()));
            }
            else
            {
                _hMacHash.Init(Extract(hkdfParameters.GetSalt(), hkdfParameters.GetIkm()));
            }

            _info = hkdfParameters.GetInfo();

            _generatedBytes = 0;
            _currentT       = new byte[_hashLen];
        }
        private byte[] GenerateKdfBytes(IDerivationParameters kParam, int length)
        {
            var buf = new byte[length];

            _kdf.Init(kParam);

            _kdf.GenerateBytes(buf, 0, buf.Length);

            return buf;
        }
        public void Init(IDerivationParameters parameters)
        {
            var kdfParameters = parameters as KdfParameters;
            if (kdfParameters != null)
            {
                _shared = kdfParameters.GetSharedSecret();
                _iv = kdfParameters.GetIV();
            }
            else if (parameters is Iso18033KdfParameters)
            {
                var p = (Iso18033KdfParameters)parameters;

                _shared = p.GetSeed();
                _iv = null;
            }
            else
            {
                throw new ArgumentException("KDF parameters required for KDF Generator");
            }
        }