4 ms·
Think of the daily key as the seed to a random number generator. If two people pass the same seed into the same random number generator, they can generate the s
by ericlavigne 6y ago
Think of the daily key as the seed to a random number generator. If two people pass the same seed into the same random number generator, they can generate the same list of 500 random numbers. This provides a compact way for someone to say: "I just learned that I was infected. These are the 500 identifiers I broadcast on that day. If you recognize one of them, then you might also be infected."
https://tcn-coalition.org/ https://tcn-coalition.org/
- prophesi 6y agoI understand that aspect of it; I'm just confused as to how only having the daily key is enough to generate the identifiers. Wouldn't they also need the TimeIntervalNumber, according to the function?
- ericlavigne 6y agoIf each phone generated 500 numbers per day, then TimeIntervalNumber is a number in the range of 1...500. So generate 500 codes using all of the numbers in that range. If any of those 500 codes match one of the codes that you actually saw in the wild, then you were near that person.
- prophesi 6y agoThanks! I actually brainstormed with a friend later that day on how it'd work and we finally came to a similar conclusion. According to the spec, the phone only generates a new identifier when the MAC address changes or on a new day. But since it's generated in accordance to a 10-minute time window, that means you'd try to derive their key with all 144 possible time windows for that day. And if you find one of those ID's in your list of contacts, then you know you were in contact with someone infected.