コード例 #1
0
        public bool CheckParity(int index, int length)
        {
            if (length == 1)
            {
                _messageBus.PublicBits++;
            }
            var payload = new BlockIdentifiaction(index, length);
            var mac     = _initiator.MessageAuthenticator.GetMAC(payload.GetBytes());

            var message       = new CheckParity(mac, payload);
            var response      = _messageBus.SendRequest(_service, message) as Messaging.Parity;
            var parityPayload = response.Payload as ParityPayload;
            var bobParity     = parityPayload.Parity;
            var aliceParity   = Parity(_initiator.DestilationBuffer.GetBits(index, length));

            return(aliceParity == bobParity);
        }
コード例 #2
0
ファイル: App.cs プロジェクト: iwindfree/my.code.snippet
        private void btnCheckPairty_Click(object sender, EventArgs e)
        {
            CheckParity pairty = new CheckParity();

            pairty.Solve();
        }
コード例 #3
0
 public void IsEven_EvenNumberPassed_ReturnsTrue()
 {
     Assert.IsTrue(CheckParity.IsEven(2));
 }
コード例 #4
0
 public void IsOdd_EvendNumberPassed_ReturnsFalse()
 {
     Assert.IsFalse(CheckParity.IsOdd(2));
 }
コード例 #5
0
 public void IsOdd_OddNumberPassed_ReturnsTrue()
 {
     Assert.IsTrue(CheckParity.IsOdd(7));
 }
コード例 #6
0
 public void IsEven_OddNumberPassed_ReturnsFalse()
 {
     Assert.IsFalse(CheckParity.IsEven(7));
 }