public void XorColumn_ShouldPerformBitwiseXorWithBits() { var state = new SpongeState(new BitString("10101010101010101010101010101010101010101010101010"), 25); var column = state.GetColumn(0, 0); var bits = new[] { true, true, true, true, true }; state.XorColumn(column, bits); Assert.AreEqual("00101010100010101010001010101000101010100010101010", state.ToBinString()); }
public void SetColumn_ShouldSetColumnBits() { var state = new SpongeState(new BitString("10101010101010101010101010101010101010101010101010"), 25); var column = state.GetColumn(0, 0); state.SetColumn(column, new[] { false, false, false, false, false }); for (var y = 0; y < 5; y++) { Assert.IsTrue(column.GetBits().All((b) => !b)); } }
public void GetColumn_ShouldReturnExpectedColumn() { var state = new SpongeState(new BitString("10101010101010101010101010101010101010101010101010"), 25); for (var x = 0; x < 5; x++) { for (var z = 0; z < 2; z++) { var column = state.GetColumn(x, z); foreach (var bit in column.GetBits()) { if ((z & 1) == 0) { Assert.IsTrue(bit); } else { Assert.IsFalse(bit); } } } } }