OTExtension icon indicating copy to clipboard operation
OTExtension copied to clipboard

ALSZ assert

Open MartKro opened this issue 4 years ago • 1 comments

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?

MartKro avatar Aug 20 '19 10:08 MartKro

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

dd23 avatar Aug 20 '19 11:08 dd23