Org.BouncyCastle.Crypto.Engines.SeedEngine.createWorkingKey C# (CSharp) Метод

createWorkingKey() приватный Метод

private createWorkingKey ( byte inKey ) : int[]
inKey byte
Результат int[]
		private int[] createWorkingKey(
			byte[] inKey)
		{
			int[] key = new int[32];
			long lower = bytesToLong(inKey, 0);
			long upper = bytesToLong(inKey, 8);

			int key0 = extractW0(lower);
			int key1 = extractW1(lower);
			int key2 = extractW0(upper);
			int key3 = extractW1(upper);

			for (int i = 0; i < 16; i++)
			{
				key[2 * i] = G(key0 + key2 - (int)KC[i]);
				key[2 * i + 1] = G(key1 - key3 + (int)KC[i]);

				if (i % 2 == 0)
				{
					lower = rotateRight8(lower);
					key0 = extractW0(lower);
					key1 = extractW1(lower);
				}
				else
				{
					upper = rotateLeft8(upper);
					key2 = extractW0(upper);
					key3 = extractW1(upper);
				}
			}

			return key;
		}