PUF Value Reconstruction Using Golay and Hamming Codes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing PUF generation mechanisms produce similar but not identical PUF values, which is undesirable for security applications, and there is a need for efficient methods to correct new PUF values to match the original PUF values generated.
Innovation Solution
A method for reconstructing a first vector from a second vector by storing code information for row and column vectors, correcting row vectors to match the first vector's code, calculating column vector codes, identifying and correcting errors in columns and rows, and using error correction codes to correct components, specifically using the (23, 12, 7) Golay code and (16, 11, 4) extended Hamming code for efficient PUF value reconstruction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction codes are applied to PUF values, then the reliability of PUF reconstruction is improved, but the device complexity increases due to additional correction mechanisms
Solution Approach 1:
The PUF value is divided into multiple segments, with separate error correction codes applied to different segments. This segmentation allows the system to achieve reliable reconstruction without requiring a single complex correction mechanism, as each segment can be corrected independently using simpler code structures.
Solution Approach 2:
The patent employs nested error correction by applying multiple levels of correction codes where outer codes correct errors in inner codes. This nested structure achieves high reliability through layered protection while keeping individual code components relatively simple, resolving the contradiction between reliability and complexity.
2Manufacturing precision
If multiple error correction codes are used for PUF reconstruction, then the manufacturing precision is improved, but the ease of manufacture deteriorates
Solution Approach 1:
Error correction codes are pre-calculated and stored alongside the PUF value during manufacturing. This preliminary preparation allows for precise correction during operation without requiring complex real-time computation, thereby achieving high manufacturing precision while simplifying the actual manufacturing process.
Solution Approach 2:
The patent uses pre-computed correction code tables that are stored and referenced during PUF reconstruction. Instead of performing complex correction calculations during operation, the system copies and applies pre-determined correction patterns, achieving high precision with simpler manufacturing requirements.
3Loss of information
If error correction is performed on PUF values, then the loss of information is reduced, but the loss of time increases due to additional correction steps
Solution Approach 1:
The PUF value is segmented into multiple parts with independent error correction applied to each segment. This segmentation reduces the overall correction time compared to processing the entire PUF value as a single unit, while still preventing information loss through comprehensive correction coverage across all segments.
Solution Approach 2:
The error correction process focuses on correcting only the necessary portions of the PUF value where errors are detected, rather than uniformly processing all bits. This partial action approach reduces the time required for correction while ensuring that no critical information is lost through targeted correction of error-prone segments.
Data Source
AI summary
A method for reconstructing a first vector from a second vector includes: storing code for the row vectors according to a first code and a second code; correcting the row vectors of the second vector corresponding to the first vector so that the row vectors of the second vector have the same code as the row vectors of the first vector; calculating the code of the column vectors of the second vector according to the second code; comparing the code of the row vectors of the second vector with the code of the column vectors of the first vector; identifying the columns in which the first vector is unequal to the second vector; the rows in which the first vector is unequal to the second vector; and the components in which the first vector is not equal to the second vector, and correcting the components of the second vector.


