Low-Area Reed Decoding in a Generalized Concatenated Code Construction for PUFs

Physical Unclonable Functions (PUFs) enable secure key storage for integrated circuits and FPGAs. PUF responses are noisy such that error correction is required to generate stable cryptographic keys. One popular approach is to use error-correcting codes. We present an area-optimized VLSI implementation of a recent Generalized Concatenated (GC) code construction using Reed-Muller codes. Reed-Muller codes have the advantage that there exist very efficient decoders. Our new Reed decoding implementation makes extensive use of a circular shift register. The functionality is extended so that it can also handle erasure symbols to improve the error correction capability. The overall GC code decoder occupies less than 110 slices and two block RAMs on an entry-level FPGA, and has a key error probability of 1.5 × 10-9. The slice count is reduced by 50% compared to the reference implementation.

[1]  Ingrid Verbauwhede,et al.  PUFKY: A Fully Functional PUF-Based Cryptographic Key Generator , 2012, CHES.

[2]  Jorge Guajardo,et al.  FPGA Intrinsic PUFs and Their Use for IP Protection , 2007, CHES.

[3]  Matthias Hiller,et al.  Seesaw: An Area-Optimized FPGA Viterbi Decoder for PUFs , 2014, 2014 17th Euromicro Conference on Digital System Design.

[4]  Matthias Hiller,et al.  Complementary IBS: Application specific error correction for PUFs , 2012, 2012 IEEE International Symposium on Hardware-Oriented Security and Trust.

[5]  Martin Bossert,et al.  Error Correction for Physical Unclonable Functions Using Generalized Concatenated Codes , 2014, ArXiv.

[6]  Irving S. Reed,et al.  A class of multiple-error-correcting codes and the decoding scheme , 1954, Trans. IRE Prof. Group Inf. Theory.

[7]  Martin Bossert,et al.  Channel Coding for Telecommunications , 1999 .

[8]  Srinivas Devadas,et al.  Secure and robust error correction for physical unclonable functions , 2010, IEEE Design & Test of Computers.

[9]  Srinivas Devadas,et al.  Physical Unclonable Functions and Applications: A Tutorial , 2014, Proceedings of the IEEE.

[10]  Jason Moore,et al.  FPGA security: From features to capabilities to trusted systems , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[11]  Martin Bossert,et al.  On Error Correction for Physical Unclonable Functions , 2015, ArXiv.

[12]  Ingrid Verbauwhede,et al.  Tiny application-specific programmable processor for BCH decoding , 2012, 2012 International Symposium on System on Chip (SoC).

[13]  Martin Bossert,et al.  Soft-decision decoding of Reed-Muller codes as generalized multiple concatenated codes , 1995, IEEE Trans. Inf. Theory.

[14]  Ahmad-Reza Sadeghi,et al.  Efficient Helper Data Key Extractor on FPGAs , 2008, CHES.

[15]  Jorge Guajardo,et al.  Extended abstract: The butterfly PUF protecting IP on every FPGA , 2008, 2008 IEEE International Workshop on Hardware-Oriented Security and Trust.

[16]  Matthias Hiller,et al.  Increasing the efficiency of syndrome coding for PUFs with helper data compression , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[17]  O. Antoine,et al.  Theory of Error-correcting Codes , 2022 .

[18]  Rafail Ostrovsky,et al.  Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data , 2004, SIAM J. Comput..

[19]  Michael Weiner,et al.  Breaking through fixed PUF block limitations with differential sequence coding and convolutional codes , 2013, TrustED '13.

[20]  G. Edward Suh,et al.  Physical Unclonable Functions for Device Authentication and Secret Key Generation , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[21]  Ingrid Verbauwhede,et al.  Low-Overhead Implementation of a Soft Decision Helper Data Algorithm for SRAM PUFs , 2009, CHES.