Byte Array Constant Time Compare
Some nitpicking:


/// &lt;summary&gt;
/// Performs a comparison of two identical sized byte arrays. 
/// Performs in constant time to prevent timing/side channel attacks
/// &lt;/summary&gt;



This does not answer arguably the main question one would have: what does it mean for one array to be "larger" than another, when both have equal size? Do you compare sums of the elements? Do you compare first non-equal pair of elements (looks like this one is correct)? Do you use some other even less obvious criteria? You should explain this in above documentation, so it is not necessary to read through obscure boolean logic in order to get the answer.




public int CompareConstantTime(byte[] bytesA, byte[] bytesB)



This method should probably be refactored into static extension method, so it is easier to re-use if needed.

public static int ConstantTimeCompareTo(this byte[] bytes, byte[] otherBytes)





throw new ArgumentOutOfRangeException("byte length must be equal");



There is no range per se at this point. I think base ArgumentException is a better fit.