public void ReferenceData( string nonce, string associatedData, string plainText, string cipherText, string tag) { var aesOcb = new AesOcb(Convert.FromHexString("000102030405060708090A0B0C0D0E0F")); byte[] plainTextBytes = Convert.FromHexString(plainText); byte[] cipherTextBytes = new byte[plainTextBytes.Length]; byte[] tagBytes = new byte[16]; aesOcb.Encrypt( Convert.FromHexString(nonce), plainTextBytes, cipherTextBytes, tagBytes, Convert.FromHexString(associatedData)); Assert.AreEqual(cipherText, Convert.ToHexString(cipherTextBytes)); Assert.AreEqual(tag, Convert.ToHexString(tagBytes)); cipherTextBytes = Convert.FromHexString(cipherText); plainTextBytes = new byte[cipherTextBytes.Length]; aesOcb.Decrypt( Convert.FromHexString(nonce), cipherTextBytes, Convert.FromHexString(tag), plainTextBytes, Convert.FromHexString(associatedData)); Assert.AreEqual(plainText, Convert.ToHexString(plainTextBytes)); }