OTExtension
OTExtension copied to clipboard
ALSZ assert
I have seen the following code snippers in the alsz-ot-snd/rcv.cpp implementation:
assert(CheckConsistency(&check_queue, check_chan)); //CheckConsistency(&check_queue, check_chan);
//assert(CheckConsistency(&check_queue, check_chan)); //CheckConsistency(&check_queue, check_chan);
Especially the first definition seems very dangerous (since come compilers like gcc optimize asserts out so that the methods inside assert are not evaluated. What is the purpose of this? What is the intended way to evaluate the asserts?
As far as I know asserts are only omitted, when NDEBUG
is defined or passed as compile flag (-DNDEBUG
), so the code should be fine as long as NDEBUG
isn't defined.
There is also another consistency check without an assert that will always happen, independent of NDEBUG
.
The consistency check is described in the paper on page 8 in step 3: https://eprint.iacr.org/2015/061