Skip to content

Error correction code implementations in CoCoALib

License

Notifications You must be signed in to change notification settings

ThexXTURBOXx/ECC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b51e095 · Jan 31, 2024

History

55 Commits
Jan 31, 2024
Oct 13, 2022
Jul 10, 2023
Jan 29, 2024
Dec 1, 2022
Jul 28, 2023
Jun 22, 2023
Mar 4, 2023
Jul 10, 2023
Jun 23, 2023
Oct 13, 2022
Oct 27, 2023
Mar 17, 2023

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}}