annotate NaCl/crypto_verify/16.cs @ 77:b5e27116bd2a

NaCl: fixed MAC/hash verification code
author Ivo Smits <Ivo@UCIS.nl>
date Tue, 11 Feb 2014 17:45:33 +0100
parents c873e3dd73fe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
1 ???using System;
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
2
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
3 namespace UCIS.NaCl.crypto_verify {
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
4 unsafe static class _16 {
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
5 const int BYTES = 16;
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
6 public static int crypto_verify(Byte* x, Byte* y) {
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
7 Int32 differentbits = 0;
77
b5e27116bd2a NaCl: fixed MAC/hash verification code
Ivo Smits <Ivo@UCIS.nl>
parents: 20
diff changeset
8 for (int i = 0; i < 16; i++) differentbits |= x[i] ^ y[i];
20
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
9 return (1 & ((differentbits - 1) >> 8)) - 1;
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
10 }
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
11 }
c873e3dd73fe Added NaCl cryptography code
Ivo Smits <Ivo@UCIS.nl>
parents:
diff changeset
12 }