PUF Entropy Extraction Using Extreme-Value Bit Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for extracting digital values from noisy analog sources in physical unclonable functions (PUFs) require significant error correction, which becomes costly and inefficient as noise levels increase, limiting effective error correction to below 50% error rates.
Innovation Solution
A method involving sorting sampled values from PUFs into a fixed order, labeling the highest and lowest values with distinct bit values, and ignoring middle-ranked values to create a robust bit stream, with parameters adjusted based on noise levels, allowing for repeatable and error-resistant entropy extraction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction is added to remove noise errors in PUF value extraction, then reliability of extracted digital values is improved, but device complexity and resource requirements increase significantly
Solution Approach 1:
The patent extracts only the most reliable extreme values (highest and lowest) from the sorted PUF values, discarding the middle values that contain noise. By selecting only the top L and bottom L values and ignoring the rest, the method achieves reliable entropy extraction without requiring complex error correction mechanisms for all values.
Solution Approach 2:
The patent applies different treatment to different portions of the PUF value distribution: the extreme values (highest and lowest) are used for entropy extraction while the middle values are discarded. This local differentiation allows the system to focus resources on the most reliable data points rather than applying uniform error correction across all values.
2Reliability
If more analog sources are used to handle higher noise levels, then reliability is improved, but quantity of resources and helper data increases
Solution Approach 1:
The patent segments the PUF values into three distinct groups: the L highest values, the L lowest values, and the middle values. By processing only the extreme segments and discarding the middle portion, the system achieves robust noise handling without requiring additional analog sources or proportional increases in helper data storage.
Solution Approach 2:
The patent uses only a partial portion of the available PUF values (specifically the extreme L values from each end) rather than processing all values. This partial action approach provides sufficient entropy for security applications while minimizing resource requirements compared to using all available analog sources.
3Productivity
If all PUF values are used to generate bit stream, then productivity of entropy extraction is improved, but measurement precision decreases due to noise in middle-ranked values
Solution Approach 1:
The patent extracts entropy only from the extreme PUF values (highest and lowest) while explicitly excluding the middle-ranked values that contain noise. This selective extraction maintains high measurement precision by avoiding noisy data points while still achieving sufficient entropy production for security applications.
Solution Approach 2:
The patent changes the selection parameter from using all PUF values to using only the extreme L values from each end of the sorted distribution. This parameter change optimizes the balance between entropy extraction rate and measurement precision by focusing on the most reliable values.
Data Source
AI summary
Various embodiments relate to a method for generating a bit stream in a physical unclonable function (PUF) system, including: receiving a set of values from a plurality of physical devices in the PUF system in a first order; sorting the set of values into a second order; for each of the L highest values, setting a corresponding levelTag value to a first bit value and setting a corresponding usageTag value to a first usage value that indicates that the levelTag for the corresponding value is to be used to generate the bit stream, wherein L is a level setting; for each of the L lowest values, setting a corresponding levelTag value to a second bit value and setting a corresponding usageTag value to the first usage value, wherein the first bit value is different from the second bit value; setting the usageTag value for all other values that are not the highest L values or the lowest L values to a second usage value that indicates that the corresponding value is not to be used to generate the bit stream; generating the bitstream as the levelTag values that have an associated usageTag value of the first usage value, wherein the levelTag values are ordered according to the first order.

