Constructive aspects of code-based cryptography
Marco Baldi Università Politecnica delle Marche Ancona, Italy
m.baldi@univpm.it
DIMACS Workshop on The Mathematics of Post-Quantum Cryptography Rutgers University
January 12 - 16, 2015
code-based cryptography Marco Baldi Universit Politecnica delle - - PowerPoint PPT Presentation
DIMACS Workshop on The Mathematics of Post-Quantum Cryptography Rutgers University January 12 - 16, 2015 Constructive aspects of code-based cryptography Marco Baldi Universit Politecnica delle Marche Ancona, Italy m.baldi@univpm.it
DIMACS Workshop on The Mathematics of Post-Quantum Cryptography Rutgers University
January 12 - 16, 2015
like code
public-key cryptosystems
proposals: Courtois-Finiasz-Sendrier (CFS) and Kabatianskii-Krouk-Smeets (KKS) schemes)
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 2
– G: generator matrix of a t-error correcting (n, k) Goppa code – S: k x k non-singular dense matrix – P: n x n permutation matrix
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 3
The private and public codes are permutation equivalent!
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 4
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 5
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 6
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 7
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 8
January 14, 2015
Marco Baldi - Constructive aspects of code-based cryptography 9
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 10
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 11
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 12
SpringerBriefs in Electrical and Computer Engineering (preprint available on ResearchGate)
codes under Belief Propagation (BP) decoding
codes with similar characteristics
size, but this exposes the system to key recovery attacks
equivalence to the private code must be avoided
[1]
cryptosystem,” in Proc. IEEE ISIT 2000, Sorrento, Italy, Jun. 2000, p. 215. [2]
[3]
SCC 2008, Beijing, China (April 2008)
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 13
– n: code length – k: code dimension – r = n – k: code redundancy – G: k × n generator matrix – H: r × n parity-check matrix – dv: average H column weight – dc: average H row weight
– Low density of ones (dv ≪ r, dc ≪ n) – No more than one overlapping symbol 1 between any two rows/columns – No short cycles in the associated Tanner graph
1
2
1
2
5
6
3
4
1 1 1 1 1 1 1 1 1 1 1 1 1 H
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 14
Sum-Product Algorithm (SPA) with Log- Likelihood Ratios (LLR)
Pr ln Pr 1 U LLR U U
Length-4 cycle!!
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 15
Binary Symmetric Channel with error probability p = t/n
i:
( ) ln 1
i i i i i
P x y y LLR x P x y y 1 ( 0) ln ln
i i
p n t LLR x y p t ( 1) ln ln 1
i i
p t LLR x y p n t
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 16
algorithms known as bit-flipping (BF)
node the binary sum of all its neighboring variable nodes, excluding that node
variable node counts the number of unsatisfied parity-check sums from the other check nodes
and sends it back, otherwise, it sends its initial value unchanged
(as in the McEliece cryptosystem)
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 17
is not easy to estimate
simple closed-form expressions
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 18
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 19
dimension k = k0p and rate (n0 - 1)/n0
(suppose the last)
systematic form) is easily derived:
1 1 c c c n
H H H H
1 1 1 1 1 1 1 2 T c c n T c c n T c c n n
H H H H G I H H completely described by its (k + 1)-th column completely described by its first row
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 20
1 1 c c c n
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 21
0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 H 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 22
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 23
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 24
[4]
codes”, IET Information Security, Vol. 7, No. 3, pp. 212-220, Sep. 2013.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 25
Solution n k t Key size [bytes] Enc. compl. Dec. compl. Goppa based 1632 1269 33 57581 48 7890 QC-LDPC based 24576 18432 38 2304 1206 1790 (BF)
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 26
[5]
Density Parity-Check Codes”, Proc. IEEE ISIT 2013, Istanbul, Turkey, pp 2069–2073.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 27
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 28
regular ones
the code length…
impose some constraints
QC-LDPC code type n0 dv’ t dv n Key size (bytes) regular 4 97 79 13 54616 5121 irregular 4 97 79 13 46448 4355
160-bit security
[6]
cryptosystem through irregular codes”, Proc. IEEE ISCC 2013, Split, Croatia, July 2013.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 29
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 30
[7]
check codes”, IET Communications, Vol. 3, No. 2, pp. 279–292.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 31
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 32
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 33
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 34
[8]
cryptosystem”, Journal of Cryptology, Aug. 2014 (Online First).
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 35
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 36
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 37
the McEliece cryptosystem with increased public key security”, Proc. WCC 2011, Paris, France, 11-15 Apr. 2011.
2011.
public key security for the McEliece cryptosystem”, arXiv:1108.2462v2
based attacks on public-key cryptosystems using Reed–Solomon codes”, Designs, Codes and Cryptography, Vol. 73, No. 2, pp 641-666, Nov. 2014.
public key security for the McEliece cryptosystem”, Journal of Cryptology,
McEliece cryptosystem based on Generalized Reed-Solomon codes”, submitted to MEGA 2015.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 38
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 39
S
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 40
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 41
T S
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 42
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 43
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 44
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 45
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 46
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 47
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 48
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 49
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 50
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 51
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 52
[9]
Achieve Digital Signatures”, Proc. PQCrypto 2013, Limoges, France, June 2013.
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 53
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 54
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 55
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 56
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 57
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 58
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 59
– sufficiently low to avoid forgeries – sufficiently high to avoid support decompositions
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 60
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 61
[10] M. Baldi, M. Bianchi, F. Chiaraluce, J. Rosenthal, D. Schipani, “Proposal and Cryptanalysis of a Digital Signature Scheme Based on Sparse Syndromes”, in preparation.
with n = 221 and r = 210, which gives a key size of 52.5 MiB
key sizes between 1.25 MiB and 20 MiB
achieve 80-bit security (by using QC-LDGM codes)
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 62
January 14, 2015 Marco Baldi - Constructive aspects of code-based cryptography 63