202
Internet of Things (IoT)
The algorithm is beneficial when users can utilize private and public keys to secure the
sensitive private data to transmit over the public medium.
10.5.1.3 Elliptic Curve Digital Signature Algorithm
Implementation of Elliptic Curve Digital Signature Algorithm (ECDSA) is based on the
algorithm proposed. Signature generation and verification algorithms can be seen in the
given Algorithm 1 and Algorithm 2. As seen in the algorithm, the implementation of
signature generation requires less computational effort than the verification. Especially,
the generation operation requires only one scalar multiplication, whereas the verification
requires two scalar multiplications (Khalique et al. 2010).
Algorithm 1: Implemented EC signature generation algorithm. It consists of a modular
inverse.
Operation: an addition and one scalar multiplication.
Input: Message to be signed m, EC parameters (generator point G, order o), secret key a
Output: (m, R, w) forming the signed message
1. Select a random integer n with 1 ≤ n ≤ o
2. Compute R = kG = (x, y)
3. Compute s = k −1 1(m + ax) (mod o)
Algorithm 2: Implemented EC signature verification algorithm. It consists of a modular
inverse operation, multiplications, and two scalar multiplications.
Input: Signed message to be verified (m; R; w), EC parameters (generator point G, order o),
sender public key Q
Output: Validating the signature for the message m
1. Compute d1 = w −1 m (mod o) and d2 = w −1 (mod o)
2. Compute V = d1G + d2Q
3. If V = R then
4. Signature is valid
5. Else
6. Signature is invalid
10.5.2 Implementation
To incorporate public key cryptography with any sensor-based OS, numerous critical
components should be considered before arrangement. This section discusses the possibility of adapting cryptographic mechanism in Cooja simulator in Contiki OS. Cooja simulator has a special kind of mote called Cooja mote, which helps to collect various types of
information from nodes.
1. Starting Cooja Simulator in ContikiOS
Instant Contiki development environment is a single download file. Contiki
is an Ubuntu Linux virtual machine that keeps running in VMware player.
Internet of Things (IoT)
The algorithm is beneficial when users can utilize private and public keys to secure the
sensitive private data to transmit over the public medium.
10.5.1.3 Elliptic Curve Digital Signature Algorithm
Implementation of Elliptic Curve Digital Signature Algorithm (ECDSA) is based on the
algorithm proposed. Signature generation and verification algorithms can be seen in the
given Algorithm 1 and Algorithm 2. As seen in the algorithm, the implementation of
signature generation requires less computational effort than the verification. Especially,
the generation operation requires only one scalar multiplication, whereas the verification
requires two scalar multiplications (Khalique et al. 2010).
Algorithm 1: Implemented EC signature generation algorithm. It consists of a modular
inverse.
Operation: an addition and one scalar multiplication.
Input: Message to be signed m, EC parameters (generator point G, order o), secret key a
Output: (m, R, w) forming the signed message
1. Select a random integer n with 1 ≤ n ≤ o
2. Compute R = kG = (x, y)
3. Compute s = k −1 1(m + ax) (mod o)
Algorithm 2: Implemented EC signature verification algorithm. It consists of a modular
inverse operation, multiplications, and two scalar multiplications.
Input: Signed message to be verified (m; R; w), EC parameters (generator point G, order o),
sender public key Q
Output: Validating the signature for the message m
1. Compute d1 = w −1 m (mod o) and d2 = w −1 (mod o)
2. Compute V = d1G + d2Q
3. If V = R then
4. Signature is valid
5. Else
6. Signature is invalid
10.5.2 Implementation
To incorporate public key cryptography with any sensor-based OS, numerous critical
components should be considered before arrangement. This section discusses the possibility of adapting cryptographic mechanism in Cooja simulator in Contiki OS. Cooja simulator has a special kind of mote called Cooja mote, which helps to collect various types of
information from nodes.
1. Starting Cooja Simulator in ContikiOS
Instant Contiki development environment is a single download file. Contiki
is an Ubuntu Linux virtual machine that keeps running in VMware player.
