예제 #1
0
파일: MabiCrypto.cs 프로젝트: tkiapril/aura
		/// <summary>
		/// Initializes a new instance of Crypto with the specified seed
		/// </summary>
		/// <param name="forServer">True if this instance will be responsible for packets
		/// sent by the server</param>
		public MabiCrypto(uint seed, bool forServer)
		{
			this.Seed = seed;
			this.ForServer = forServer;

			var keyGen = new MabiKeystreamGenerator(seed);
			_aesEngine = new MabiAesEngine(forServer, keyGen.AesKey);
			_mabiCipher = new MabiCipherEngine(keyGen);
		}
예제 #2
0
        /// <summary>
        /// Initializes a new instance of Crypto with the specified seed
        /// </summary>
        /// <param name="forServer">True if this instance will be responsible for packets
        /// sent by the server</param>
        public MabiCrypto(uint seed, bool forServer)
        {
            this.Seed      = seed;
            this.ForServer = forServer;

            var keyGen = new MabiKeystreamGenerator(seed);

            _aesEngine  = new MabiAesEngine(forServer, keyGen.AesKey);
            _mabiCipher = new MabiCipherEngine(keyGen);
        }
예제 #3
0
		public MabiCipherEngine(MabiKeystreamGenerator keyGen)
		{
			_keyGen = keyGen;
			_keystream = new byte[128];

			for (var i = 31; i >= 0; i--)
			{
				BitConverter.GetBytes(_keyGen.GetNextKey()).CopyTo(_keystream, i * 4);
			}

			_idx = 31;
		}
예제 #4
0
        public MabiCipherEngine(MabiKeystreamGenerator keyGen)
        {
            _keyGen    = keyGen;
            _keystream = new byte[128];

            for (var i = 31; i >= 0; i--)
            {
                BitConverter.GetBytes(_keyGen.GetNextKey()).CopyTo(_keystream, i * 4);
            }

            _idx = 31;
        }