On the improved PUF device, a cryptography algorithm will be implemented to support the study problem with an exceptional solution. This algorithm will encrypt the traffic with an extremely low latency compared with other lightweight cryptography algorithms. It was developed based on an Elliptic Curve Cryptography algorithm to support the internet of things with a significantly fast and modern method. A lower processing time will definitely reduce the power consumption, and that will save a lot of money. It has ten separate steps to encrypt and decrypt the message. Steps three and five are designed and developed to provide a higher level of security while maintaining the speed feature.
M: Plaintext.
Full Educational Example
In this example we are going to encrypt message M={B} using modified elliptic curve algorithm with an improved PUF device. Use the following element values:
P=17
a = 2 & b = 2
n = 19
h = 1
The solution:
Step 1. Encoding the Plaintext & Mapping the message on the curve
Let’s assume {B} character equal { 11 } in ASCII table
Choose integer k as auxiliary base parameter {20}
Compute x = m * k + 1 = 11 * 20 + 1 = 221
Compute
y2 = (221)3 + [2*221] + 2 Mod 17
y2= 4
The message mapped on the curve on point (221, 4)
Step 2. Generating the Points
G (5, 1) →
2G = G + G we have to apply a point doubling method
X is a number between {1; n-1} And when multiply it with 2 mod 17 will equal 1
Solution: X=9 because (2 * 9) mod 17 = 1 →
2G= (6,3)
Now we have 1G (5,1) & 2G(6,3) → Let’s generate 3G Note. 1G != 2G
3G = 1G + 2G → Where
if 1G != 2G →
3G= (10,6) And thus we can calculate all the points,
Total Points = n - 1 = 19 - 1 = 18 points
Step 3. Calculate private key.
Sending a challenge to PUF device to generate an advanced random number. Once the random number is ready, the algorithm can calculate the private number.
R: Random number comes from PUF device
Two elements on the curve.
p: Specifying the finite field Fp
Next step is Generate the public key:
Step 4. Calculating the public key:
Random number (d) in the interval [1; n - 1].
Compute Q = d G. where.
Q: Public Key
d: Private key
G: Generator Point
Let’s specify a private key d For Example d=5.
Q=5G → (9, 16) It is a public key.
Step 5. Calculate K value:
Sending a challenge to PUF device to generate an advanced random number. Once the random number is ready, the algorithm can calculate the K value.
K =
Step 6. Applying the encryption equation:
Compute
G: Generator Point
M: Plaintext.
Q: Public key
-Let’s assume k ∈ [1; n-1] Let’s say k= 13
P is the base point (5, 1).
Q is the public key (9, 16).
M is the message mapped on the curve (221, 4).
Step 7 & 8 will be transmitting & receiving the ciphertext to the destination.
Step 9. Applying the decryption equation:
Step 10. Mapping the message back
It is the last step, map the point back by computing (x - 1) / K
K=20, x =221
(221 – 1) / 20 = 11
Decoding the plaintext by ASCII code 11 = ‘B’ for example.