ABSTRACT

This chapter provides an overview of the classic code-based cryptography including the McElice cryptosystem and Niederrieter Cryptosystem. It discusses the moderate density parity-check (MDPC) codes and quasi-cyclic MDPC (QC-MDPC) McElice cryptosystem. Niederreiter’s cryptosystem, a variant of the McEliece cryptosystem, uses the Goppa codes as the McElice crytosystem but differs from it in public-key structure, encryption mechanism, and decryption mechanism. The security of code-based cryptography is based on two hardness assumptions: the indistinguishability of the code family and generic decoding. MDPC codes lead to a worse error-correction capability, but they ensure an adequate security level in the code-based cryptography. More efficient variants employ QC-MDPC codes, wherein each row of the code matrix is the cyclic rotation of the row before it, except the first row. However, low density parity check code is also vulnerable to attacks, as the low weight codewords can be easily found in polynomial time.