**4. Performance evaluation**

Some authors [36] believed that HECC would be less efficient than ECC due to complex structure of the group's operations, but it was reported that there was a detailed analysis of the efficiency of these cryptosystems in embedded systems. The work done by [37] and [38] confirmed the superiority in efficiency of ECC compared to RSA.

[37] showed that the ECC 160 bits is two times better than RSA 1024 bits considering code size and power consumption. [37]performed the tests in 8051 and AVR platforms. [38] pointed out that ECC 160 bits uses four times less energy than RSA 1024 bits in Mica2dot platform.

Only [36] and [31] presented a general analysis, comparison of ECC and HECC, which showed a trend of superiority of HECC on embedded systems. [31] showed that in the encryption, the HECC reaches the same time of ECC using smaller keys. Regarding the time decrypting, the HECC always performed better. The scalar multiplication of HECC is two times faster than ECC. [31] used the platform jdk1.6 in his assessment.

[39] conducted a comparison of ECC and HECC over the computational time of point multiplication on a platform with limited resources. The results showed that the ECC consumed 210ms and the HECC consumed 546ms.

12 Will-be-set-by-IN-TECH

suppose that a multivariate quadratic quasigroup \* is previously defined, and that n =

**1.** Represent a vector *x* = (*f*1, ..., *fn*) of n linear Boolean functions of n variables *x*1, ..., *xn*

**2.** Compute *Y* = *Y*1, ...,*Yn*/8, where *Y*<sup>1</sup> = *X*1,*Yj*<sup>+</sup><sup>1</sup> = *Xj* ∗ *Xj*+1,for even j=2,4,...and

**Algorithm 6:** Decryption Algorithm MQQ and sign with private key T, S, \*1,...,\*8

**3.** Z = *Z*1, *Z*2, *Z*3, *Z*4, *Z*5, *Z*6, *Z*7, *Z*8, *Z*9, *Z*10, *Z*11, *Z*12, *Z*<sup>13</sup> = *Dob*−1(*W*).

<sup>31</sup> ←− *Z*12, *y*�

<sup>4</sup> ←− *Z*4, *y*�

Some authors [36] believed that HECC would be less efficient than ECC due to complex structure of the group's operations, but it was reported that there was a detailed analysis of the efficiency of these cryptosystems in embedded systems. The work done by [37] and [38]

[37] showed that the ECC 160 bits is two times better than RSA 1024 bits considering code size and power consumption. [37]performed the tests in 8051 and AVR platforms. [38] pointed out that ECC 160 bits uses four times less energy than RSA 1024 bits in Mica2dot platform. Only [36] and [31] presented a general analysis, comparison of ECC and HECC, which showed a trend of superiority of HECC on embedded systems. [31] showed that in the encryption, the HECC reaches the same time of ECC using smaller keys. Regarding the time decrypting, the HECC always performed better. The scalar multiplication of HECC is two times faster than

<sup>41</sup> ←− *Z*13.

<sup>5</sup> ←− *Z*5, *y*�

*Yi*

<sup>6</sup> ←− *Z*6, *y*�

<sup>11</sup> ←− *Z*7, *y*�

16 ←−

<sup>3</sup> ←− *Z*3, *y*�

*<sup>i</sup>*(*x*1, ..., *xn*), i = 1,...,8 andn-8 multivariate quadratic

**Input**: A vector *x* = (*f*1, ..., *fn*) of n linear Boolean functions of n variable. We implicitly

**Algorithm 5:** Non-linear mapping P'

**Output**: : 8 linear expressions *P*�

polynomials *P*�

**3.** Output (y)

**Input**: Vector *y* = *y*1, ..., *yn*

<sup>1</sup>, *y*� <sup>2</sup>, *y*� <sup>3</sup>, *y*� <sup>4</sup>, *y*� <sup>5</sup>, *y*� <sup>6</sup>, *y*� <sup>11</sup>, *y*� <sup>16</sup>, *y*� <sup>21</sup>, *y*� <sup>26</sup>, *y*� <sup>31</sup>, *y*� <sup>36</sup>, *y*� 41.

<sup>1</sup> ←− *Z*1, *y*�

<sup>21</sup> ←− *Z*9, *y*�

)

**4. Performance evaluation**

**1.** y' = *<sup>T</sup>*−1(*y*). **2.** W = *y*�

**7.** x = *S*−1(*x*�

*Yj*<sup>+</sup><sup>1</sup> = *Xj*<sup>+</sup><sup>1</sup> ∗ *Xj*, for odd j=3,5,...

**Output**: Vector *x* = *x*1, ..., *xn* such that P(x) = y

<sup>2</sup> ←− *Z*2, *y*�

<sup>26</sup> ←− *Z*10, *y*�

**5.** *y*� = *Y*1, ...,*Yk* onde *Yi* are vectors of dimension 5. **6.** Considering ∗*i*, i = 1,...,8, obter x' = *X*1, ..., *Xk*, such that, *<sup>X</sup>*<sup>1</sup> <sup>=</sup> *<sup>Y</sup>*1, *<sup>X</sup>*<sup>2</sup> <sup>=</sup> *<sup>X</sup>*1\1*Y*2, *<sup>X</sup>*<sup>3</sup> <sup>=</sup> *<sup>X</sup>*2\2*Y*3, *<sup>X</sup>*<sup>1</sup> <sup>=</sup> *Xi*−1\3+((*i*+2)*mod*6)

confirmed the superiority in efficiency of ECC compared to RSA.

ECC. [31] used the platform jdk1.6 in his assessment.

**begin**

**end**

**begin**

**end**

**4.** *y*�

*Z*8, *y*�

32k, k = 5,6,7,8 is also previously determined.

*<sup>i</sup>*(*x*1, ..., *xn*), *i* = 9, ..., *n*.

as a string *x* = (*X*1, ..., *Xn*/*s*) where *Xi* are vector of dimension 8;

[40] have implemented ECC and HECC on diferent embedded platforms with high practical relevance, namely ARM, ColdFire, and PowerPC. Table 2 show that for the boards at hand they could achieve the best timings for the HECC implementation on the PowerPC. One scalar multiplication for HECC took 117 ms and 84.9 ms for genus-2 and genus-3 curves, respectively. The scalar multiplication for ECC can be performed fastest on the PowerPC at 50MHz resulting in 106.3 ms.


**Table 2.** Timings of the scalar multiplication of ECC and HECC on diferent embedded platforms (in ms). [40]

[41] conducted tests with authentication protocols based on RSA and HECC algorithms, comparing the computational time in the Palm III and Wireless Tolkit platforms. The results showed that the protocol based on HECC is 1.37 times faster in key generation and 1.38 times faster with respect to signal generation.

According to Gligoroski [42] in software, digital signature performed by MQQ is 300 to 7000 times faster than the signature of RSA and ECC algorithms. Already in hardware, the superiority of MQQ can reach 10,000 times. The speed of 59 bytes of authentication is compared by the authors [42] and the results are shown in Table 3. The results of the performance evaluation showed that MQQSIGN is at least 325 times faster than RSA and ECC.

[34] evaluated the time of encryption and decryption of algorithms RSA and MQQ in the MicaZ and TelosB platforms. The MQQ showed the time 825.1 ms to encrypt and 116.6 ms to decrypt in TelosB and 445ms to decrypt in MicaZ . Still according to [34] the MQQ 160bits is 909 times faster in the encryption and 5470 times faster in the decryption when compared to the RSA 8bits.


**Table 3.** Performance comparison of RSA, ECC and MQQ in CPU cycles. [42]

According to [2] that implemented in FPGA a 160bit instance of the newly published public key scheme MQQ, the results of their implementation and the Table 4 show that in hardware, MQQ public key algorithm in encryption and decryption (that means also in verication and signing) can be as fast as a typical block cipher and is several orders of magnitude faster than most popular public key algorithms like RSA, DH or ECC.


**Table 4.** Synthesis Results for 160bit MQQ realized in Virtex-5 chip xc5vfx70t-2-˝o1136 [2]
