## 6 Experiments
### Results and Discussion  
In Table 2, we provide the execution time for all of our protocols (please note that the execution time for the cryptographic algorithms can be found in [46]). We also present the results without the execution time of the sink, since in many applications, the base station is a special node with extra resources. All results are the averages of \(100\) experiments of each protocol. We also provide the standard deviations for execution time including the time of \(S\). We notice that these values are small compared to the execution time of the protocol. These variations are normal according to the motes used, physical parameters like 2.4 GHz interference, battery level, humidity, temperature, _etc._ Moreover, the cause of the high standard deviation of join protocols and RSK\({}_{b}\) presented in Table 2 is essentially related to therandom number (that is, of course, different at each generation) that is used in multiplication operations in the asymmetric encryption. In fact, when the random number is small, the multiplication operations take much less time than what they take for a large random number. To confirm this claim, we have tested with a given constant random number coded on \(20\) bytes. We obtained small standard deviation values, \(5.94\) ms for the DJS protocol and \(5.71\) ms for the IJS protocol. The differences in our protocols come from the usage of cryptographic primitives. All protocols using asymmetric encryption require more execution time than protocols using only symmetric encryption. Moreover, we see that the two slowest protocols are the join protocols proposed in [11]. Hence, it is more efficient to renew keys than to rejoin the network. The protocol KR (key revocation) is the fastest. We also note that the sink performs almost half of the cryptographic operations; thus, by making it do more operations, we avoid sensor nodes doing the heavy cryptographic computations. In the experiments we considered only one node to revoke. Knowing that a nonce is represented on \(4\) bytes and a node identity on \(1\) byte, we obtain \(5\) byte-long messages. In this case, we encrypt with the AES \(128\)-bit key the initial vector (IV), then we XOR the \(5\) bytes and only send a message of \(5\) bytes. Therefore, if the size of the list of revoked nodes increases, then the protocol KR will take more time. The protocol RSK\({}_{a}\), renewing the symmetric key, also exchanges two messages encrypted with a symmetric encryption scheme, but the size of the exchanged message is longer; this is why it is slightly slower than KR. In order to have a better level of security, we add to the protocol RSK\({}_{b}\) an extra public key encryption. This operation is very costly, and the execution time of this protocol is close to the protocols proposed in [11]. Moreover, since the sink is not involved in this protocol, the gain of execution time without counting the execution time on \(S\) is null. The protocol RNK is also one of the fastest protocols, since it is based on the same cryptographic primitives as those of protocol KR, but the size of the message is \(20\) bytes, so requires two AES encryptions of 16 bytes and the transmission of \(16+4\) bytes. For renewing the asymmetric key, we proposed four protocols: two of them use the symmetric network key \(NK\), and the other two use symmetric keys \(K_{DH}\). We see that since they are using the same symmetric encryption mechanism, they take the same execution time. Hence, the execution time for protocols RAKnk\({}_{a}\) and RAKdh\({}_{a}\) is the same and similar for protocols RAKnk\({}_{b}\) and RAKdh\({}_{b}\). However, the second versions of these protocols, RAKnk\({}_{b}\) and RAKdh\({}_{b}\), are faster than protocols RAKnk\({}_{a}\) and RAKdh\({}_{a}\) (more if we do not count the sink execution time). This clearly shows that the computation of the new key by a node is expensive.