 It's on hardware security primitives, and we have three papers. The first paper is a cautionary note on the security of some puff constructions, and the other two are random number generator constructions. The first paper is authors are Kai Xin Chong, Robin, the Greve, Andrea Fantini, Widow, Dimitri Linton, and Ingrid Fabrovede, and Kai Xin will give the talk. Thank you very much for an introduction. I will begin with my talk. Here shows today's outline. So I will first introduce what is reconfigurable puff, and why we might need a reconfigurable puff, and the second I will introduce the variability on the RN devices, and also why we are considering it's a candidate for reconfigurable puff. And then later on I will talk about the two implementations that use RM as a puff and the reconfigurability, and then I will show how this reconfigurability of the RM is not an ideal case, and then I will conclude this work. So let's begin with a scenario of puff-based key generation, and see here we have entropy source on the chip, and being read out by some circuits, it will give a puff output, which is noisy. In order to use this puff read out as a key, we need all these extra circuits, including helper data and the storage and the error correction, to make always we get the same key. And now here comes the question. So how can we update the key in the case that we don't want to throw away the device and get a new one? And in this case, it's already used as re-enrollment, so we can apply a re-enrollment phase again, and then it will give a new helper data, and then we can derive a new key. But why we still need a reconfigurable puff, and then we just need to consider another scenario. In some cases, the puff entropy source is stable, so there's when introduced no errors. So for all the cycles, if you keep re-enrollment it, it will only just derive always the same key. So in this case, the re-enrollment doesn't work if we want to update the key. So it's not the only problems. The re-enrollment in the previous case, it relies on unstable cells, which is not always consistent, because each puff has different number of unstable cells, and each unstable cell has different instability as well. So now it's comes at why we need a reconfigurable puff. Then we are going to look why we consider RM as a reconfigurable source. So I don't introduce how it's operated. So here shows an example of oxygen vacancy-based RM. It's based on homogeneous oxide. And as a normal resistor, it has two terminals. And in between, there's a Hovnian layer and a Hovnian oxide layer, which is a dielectric. And the RM's typically is connected to an access transistor, which allows us to program and to read a specific RM. And I'll show how it's operated. So we begin with the fresh RM, which have only a dielectric. And it's at a really high resistance. It's not conducting any current. But now we apply a forming stress. This forming stress will increase, will introduce some filament in the increase, will introduce a filament in this dielectric. And it will start to conduct in current with a lower resistance. And how we operate it is we first apply a negative voltage, which we call the reset voltage, on this RM. And it will push back these conducting vacancies back to the top and the bottom electrode. And it shrinks the filament. And then the resistance becomes higher. Then it's a higher resistance state. And how to go back, we again, similar to apply a positive voltage, which called the reset voltage. And it will increase the filament again. And it comes to the lower resistance state. And the data can be stored in these two states in this RM devices. So as I illustrate here, it's related to the particle movement within this filament. So this particle movement is unpredictable. So there's different shape and different number for each set and reset cycles. So it gives different resistance for each cycles. And that can be potentially used as a reconfigurable path. And how it's really operated here shows an example of the RM without reconfigurability. So as normal paths, it's have different types of variations. And what we care more is the variation within the chip and also the variation between the chips. And also what we don't like, but it exists, is the variation between the readout cycles. And as shown in some literature, for the conventional paths, RM paths, these are not in issues for these properties. So now we are focusing on how this is reconfigured. So as we discussed before, each program in cycles, it gives different resistance. So we can keep reprogramming the RM. So it would keep giving different resistance. And then it can potentially give more different path outputs for each configurations. So that's how our focusing, we are going to look at these configurations to configuration variations and to see if we can use the RM as a truly reconfigurable path. So here it's not so, it's illustrating how it's different. So for example, these cycles, the RM have this number of particles, but maybe in certain cycles later it would have more particles within the filament. So now it becomes a lower resistance. So there are randomness in between these two states. So what we care is, can we, is this difference enough for you, for reconfigure variations? Okay. And as you see, because of these resistance are not predictable. So we can also not, we can only get the statistics and we do some modeling. And then we use these results to analyze the randomness. So there's a background of this work. So now let me begin with introducing two implementations on the RM paths. That's already proposed seems on literatures. And here comes the first one. So as shown on this figure, the x-axis is the resistance and y-axis is the accumulated distribution function. It shows how the resistance are distributed for the RM devices. So there shows that the gray curve is five devices. And the red curve, red dot red points are the average of these five devices. And the curves at the right side is the higher resistance state. And the curves at the left side are the lower resistance states of curves. And how it happens is that if we set an RM with a higher resistance state, it will move to a resistance which falls into the distribution at the left side. And if we do a reset, the resistance will fall into any points at the right distribution. And how it can be used as a path here shows an example. So we define a threshold on a certain distribution. And if the resistance is lower than this value, it defines it as a one. And if it's higher than this value, we define it as a zero. So for different RMs, we can get maybe different path bits. And how to reconfigure it is we put it back to the lower resistance state and then reset it again. So this time it can fall into different values. So it can give different results from cycle to cycle. And this is ideal case. And how it's happening in reality is the HRM is actually unique. So they don't have the same distribution as shown here. The one device has the lowest resistance in average. And the other device has the highest resistance in average. And what the cause of these is if we again define a threshold. And to determine one and zero, you can see for the device one, there's more points at the left side and less at the right. And device versa for the device last device. So in this case, there is a device dependent bias from cycle to cycle. So we don't have a perfect reconfigurability in this case. And how's the cause of these? So we have the model. Then we simplified it into one parameter, which is called the minimum number of vacancies in this filament. And so it means no matter how you reset this RM, this number, you cannot go below this number within these vacancies. And using this number, we can not precisely but kind of reproduce the distribution we see from the left side. And we can find how this number is distributed also for all the RM devices. Another point is that because you see that the black curve at this plot, it represents every devices that we measured. And actually, you see the distribution from device to device from RM to RM is actually much narrower than the distribution from the configuration to configuration. So it's usually overlooked in many literatures. But in here, we know it's we cannot neglect it. So since we see this example, we show another implementation. So these are different implementations, but it's can. So now we start not from the lowest end state, we start from the higher end state. And for each time, each experiment, we apply a different set of voltage from low to high. And you can see for the lowest lower set of voltage, we have less probability to set these RM to a lower end state. And for the higher voltage, it's have higher chance to be set to the lower end state. So we have different switching probability. And how this can work as a path is we define voltage. We call it half set voltage, which roughly give me the 50% of switching. So for these two different RMs, they are being applied with the same set voltage. But one of them might be switched to a lower end state, but the other can stay. And how to reconfigure it is also similar. So we make it again back to the higher end state and then apply the same set pause again. So it's also have the chance to stay the same or become a different value. And again, this also have problem because we already say there's different end set values for different RMs. And you see in these simulations, they're also for different end set values. Even if we apply the same V set, half set voltage, then it can still have much different probability to switch to lower end state or not. So this caused the problem, also the bias here. And how it is happening is because if you see the right curve, it shows how much time we need to set an RM to a lower end state. And for here, you can see for lower end set, we need more time to set it. So it caused this problem. And then I'm going to introduce how this affects the reconfigurability. So as usual, as normal path, so we are talking about uniqueness between these configurations. And for the normal path, we check the internship Hamming distance as an index. And as well here, we check the interconfiguration Hamming distance as the index. So the target would be this interconfiguration Hamming distance is as good as the internship Hamming distance. Then it implies that we have the same security as replacing a new chip. But yes, as we said, there's some problem with the reconfigurability. So it shows the simulation using these methods. So we split the resistance. But you see here, for the Hamming distance, usually we simulate, it's shifted lowest not centered at 0.5. So it indicates that the reconfigurability is not ideal. And not only this example, we also test all the implementation that's discussed in the paper, but I cannot cover all of them in this talk. But you see here, for all these implementations, they all show clear uniqueness degradation between their configurations. And also, you see the level of degradation also varies for different path implementation, even if they are in the same technology. So the way you implemented it is also affecting the reconfigurability. And now this brings us to the conclusion. So there are simple conclusions that the true reconfigurability is not achievable using these RMPuffs. And the other thing is that if we really want to use a reconfigurable RMPuff, then we cannot neglect the impact on the uniqueness of this variation that we found in our work. So thank you very much for your attention. I'm happy to answer any questions. So questions. There's one question there. Hello. Just a question. For the first implementation case, where you're choosing a threshold for the resistance when you're setting it to the high resistance state, would it be possible to bypass that by doing, say, pairwise comparison, having two of our elements next to each other and seeing which one is, say, higher than the other or lower than the other to bypass this needing to find a distinct threshold every time you produce a new device, for instance? Yes, that's a good question. So we also have discussed one implementation using the similar scenarios in our work. But it's not described here. Yes, that's possible. And also some people did it in their work. But as we experiment in our work, we will show that it's also not a good idea in the sense of reconfigurability, using that method to compare two different arens. OK, thank you. More questions? I have one question. So if you go to slide seven. So you are trying to attack the reconfigurability of the PUFF. I'm wondering if you would be able to optically attack the PUFF. So I think it might be the previous slide you showed the filament size. Or maybe it's the next one. I don't know. Yeah, that one. And so does that filament depend on the resistance, right? And if you do that, then could you just take pictures and check what the resistance is or correlate it and then just optically without anything else get the values? That is an interesting question. But I think for this case, because the filaments would exist anyway, even for the low resistance state and the high resistance state. And it's only for what's in the model that we have is that this value is actually more affected by the construction in the filament. So it's only a small part of the filament within inside the aren inside these stacks, which affects the resistance. So I think if you really observe it, even if you can see the filament, I don't think you can see the difference between the high and low resistance. OK, all right. Any additional questions? OK, let's thank the speaker again. Thank you.