The Implementation of the Method Used in the NHSX App

--

The NHSX Contact Tracing App uses ECIES to send Bob’s identifier to the Health Authority (HA). Initially the HA creates a unique InstallationID for Bob, and sends their public key (PubHA). Bob then creates a new key pair every day (PubBobD, PrivBobD). Bob then creates a secret Z using the HA’s public key and Bob’s daily private key. This is then used to create an AES encryption key in order to pass Bob’s InstallationID. When received by the HA, the HA will take Bob’s daily public key, and its private key, and creates the same secret (Z). This is then used to create the encryption key used by Bob. I have implemented the method here:

And here is a demo:

The method used is defined next.

Broadcast Value

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.