# Enhancing the SRAM PUF with an XOR Gate
## 2 Background
### Physically Unclonable Functions  
A PUF operates as a 'black box' by mapping inputs (challenges) to outputs (responses) using its inherent randomness derived from the manufacturing process. By mapping every challenge and response to expected CRPs, an enrollment of the PUF can be created for future challenges against the PUF.  
Current forms of information security require hardware authentication devices for high-security situations. Current commercial forms of the technology require storing an internal secret that is used to generate a key for the user [8]. Using side-channel attacks, these internal secrets can be leaked without compromising the device. In contrast to this, the PUF generates private keys from measurements of the SRAM rather than storage on the device. This measurement results in PUFs being more resilient to side-channel attacks than devices that operate on a single hidden key. Due to their resilience, PUFs can provide a portable second factor of authentication with a massive possible CRP space compared to many public alternatives.  
While the term 'PUF' was not formally introduced until 2002 by [PERSON] et al. in [9], using a device's physical characteristics for security purposes traces back to [PERSON]'s work in 1984 [10]. Since their introduction, various types of PUFs have been proposed. Gate-delay PUFs were among the first types of PUFs proposed [11; 12; 13]. These PUFs exploited the manufacturing variability of digital gates to generate their responses. Afterward, memory PUFs were proposed; these PUFs exploited the manufacturing variability of various memory technologies to generate their responses. Among them were SRAM [3; 7; 14], resistive random-access memory (ReRAM) [15; 16; 17], and magnetoresistive random-access memory (MRAM) [18; 19].  
The quality of PUFs is based on certain metrics, such as inter-chip distance (uniqueness), BER (reliability), and entropy (randomness):  
* The inter-chip Hamming Distance (\(HD_{inter}\)) is a metric used to measure the uniqueness of PUFs. \(HD_{inter}\) is the Hamming Distance between the responses generated by two different PUF configurations when presented with the same challenge, divided by the total number of responses. In an ideal scenario, this value should be 0.50, indicating that the two PUF configurations produce completely distinct and different responses.
* The reliability of a PUF can be quantified by measuring its bit-error rate (s) and intra-chip distance. The BER is calculated as the rate of discrepancies between the bits generated by the PUF and those generated from the enrollment database. The intra-chip distance, on the other hand, is calculated by generating two sets of responses on the same PUF, using the same challenges, and then calculating the rate of discrepancies between them.  
Figure 2: Strong vs. flaky cell: (**a**) The skew of a strong 1. (**b**) The skew of a flaky cell. In these figures, skew represents the delta (Vt) of the devices [7].  
Entropy measures the uncertainty or randomness in a sequence. It is a function of input strings and the likelihood of seeing each one. For PUFs, it represents a generalized and unconditional upper bound on the average predictability of an unobserved response [20].  
Ideally, a PUF should have an inter-chip distance value of 0.50, a BER or intra-chip distance of 0, and an entropy value of 1 [20]. In reality, no PUF can achieve ideal characteristics due to being physical devices. Therefore, all PUF designs should strive to get as close to the ideal values as possible.