Skip to content

Error correction code implementations in CoCoALib

License

Notifications You must be signed in to change notification settings

ThexXTURBOXx/ECC

Repository files navigation

ECC

Error correction code implementations in CoCoALib

Purpose of this repository

This is the accompanying code for Nico Mexis' master's thesis "A Comprehensive Comparison of Fuzzy Extractor Schemes Employing Different Error Correction Codes", available here.

Setup (tested using CygWin and Ubuntu)

  1. Download the CoCoALib source code (tested with 0.99818, snapshots available here)
  2. Extract the archive into cocoalib/
  3. Maybe, you need to apply the patch mentioned in Fix LaTeX errors
  4. Install GMP using your favorite package manager or compile it yourself
  5. Install a valid LaTeX distribution like TeXLive or MikTeX
  6. Install the latest version of txt2tags 2.7-dev along with a compatible Python version
  7. Install the CoCoALib library and header files (depending on your setup, you might need to run this as an admin): ./make_cocoalib.sh
  8. Setup CMake using the cmake command and appropriate arguments
  9. If your CoCoALib version does not yet include IsPrimitivePoly (versions <0.99815), you need to uncomment the functions in include/util/utils.C and src/util/utils.C
  10. Build the resulting executables using cmake --build and appropriate arguments

Fix LaTeX errors

Update: CoCoALib >0.99817 should not have this issue anymore!

In my tests, at least on Windows, there may be LaTeX compilation errors in the CoCoALib documentation that look similar to this:

Doing LaTeX-->PDF
[[CoCoALib:LaTeX-->PDF]]  Pass 1 of 3
!!!LaTeX error!!! -- see file tex/CoCoALib.log
make[1]: *** [Makefile:40: CoCoALib.pdf] Error 1

In order to fix those, open the file cocoalib/doc/aux-txt2tags/cocoalib-doc.sty and uncomment the following line:

%\newcommand{\htmladdnormallink}[2]{\href{#2}{#1}}