| Literature DB >> 31252685 |
Utku Gulen1, Abdelrahman Alkhodary1, Selcuk Baktir2,3.
Abstract
As wireless sensor networks (WSNs) become more widespread, potential attacks against them also increase and applying cryptography becomes inevitable to make secure WSN nodes. WSN nodes typically contain only a constrained microcontroller, such as MSP430, Atmega, etc., and running public key cryptography on these constrained devices is considered a challenge. Since WSN nodes are spread around in the field, the distribution of the shared private key, which is used in a symmetric key cryptographic algorithm for securing communications, is a problem. Thus, it is necessary to use public key cryptography to effectively solve the key distribution problem. The RSA cryptosystem, which requires at least a 1024-bit key, is the most widely used public key cryptographic algorithm. However, its large key size is considered a drawback for resource constrained microcontrollers. On the other hand, RSA allows for extremely fast digital signature generation which may make it desirable in applications where messages transmitted by sensor nodes need to be authenticated. Furthermore, for compatibility with an existing communication infrastructure, it may be desirable to adopt RSA in a WSN setting. With this work, we show that, in spite of its long key size, RSA is applicable for wireless sensor networks when optimized arithmetic, low-level coding and some acceleration algorithms are used. We pick three versions of the MSP430 microcontroller, which is used widely on wireless sensor network nodes, and implement 1024-bit RSA on them. Our implementation achieves 1024-bit RSA encryption and decryption operations on MSP430 in only 0 . 047 s and 1 . 14 s, respectively. In order to achieve these timings, we utilize several acceleration techniques, such as the subtractive Karatsuba-Ofman, Montgomery multiplication, operand scanning, Chinese remainder theorem and sliding window method. To the best of our knowledge, our timings for 1024-bit RSA encryption and decryption operations are the fastest reported timings in the literature for the MSP430 microcontroller.Entities:
Keywords: Chinese remainder theorem; RSA; montgomery multiplication; subtractive Karatsuba-Ofman; wireless sensor networks
Year: 2019 PMID: 31252685 PMCID: PMC6651839 DOI: 10.3390/s19132864
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Karatsuba-Ofman method for computing .
Figure 2Subtractive Karatsuba-Ofman for computing .
Figure 3Subtractive Karatsuba-Ofman for computing .
Figure 4Operand scanning for multiplying two 64-bit operands on a 16-bit processor.
Figure 5Operand scanning for squaring a 64-bit operand on a 16-bit processor.
Figure 6A bottom-up schema of the techniques used in the proposed RSA implementation.
512-bit and 1024-bit Montgomery Multiplication/Squaring Timings.
|
| ||
|
|
|
|
| MSP430F5529 @25 MHz | 23,272 | 0.93 ms |
| MSP430F2618 @16 MHz | 33,512 | 2.09 ms |
| MSP430F1611 @8 MHz | 35,885 | 4.48 ms |
|
| ||
|
|
|
|
| MSP430F5529 @25 MHz | 22,037 | 0.88 ms |
| MSP430F2618 @16 MHz | 30,437 | 1.90 ms |
| MSP430F1611 @8 MHz | 32,507 | 4.06 ms |
|
| ||
|
|
|
|
| MSP430F5529 @25 MHz | 74,546 | 2.98 ms |
| MSP430F2618 @16 MHz | 103,975 | 6.49 ms |
| MSP430F1611 @8 MHz | 112,497 | 14.06 ms |
|
| ||
|
|
|
|
| MSP430F5529 @25 MHz | 69,504 | 2.78 ms |
| MSP430F2618 @16 MHz | 95,068 | 5.94 ms |
| MSP430F1611 @8 MHz | 101,898 | 12.73 ms |
Timings for 1024-bit RSA encryption.
| 1024-bit RSA | Microcontroller | # Clock Cycles | Time (s) |
|---|---|---|---|
| Encryption | MSP430F5529 @25 MHz | 1,189,089 |
|
| Encryption | MSP430F2618 @16 MHz | 1,611,482 |
|
| Encryption | MSP430F1611 @8 MHz | 1,743,445 |
|
| Encryption [ | MSP430F1611 @8 MHz | 3,665,144 |
|
| Encryption [ | ATmega128 @8 MHz | - |
|
| Encryption [ | ATmega128 @8 MHz | - |
|
| Encryption [ | CC1010 @14 MHz | - |
|
Timings for 1024-bit RSA decryption.
| 1024-bit RSA | Microcontroller | # Clock Cycles | Time (s) |
|---|---|---|---|
| Decryption | MSP430F5529 @25-MHz | 28,608,119 |
|
| Decryption | MSP430F2618 @16-MHz | 40,007,873 |
|
| Decryption | MSP430F1611 @8-MHz | 43,368,720 |
|
| Decryption [ | MSP430F1611 @8-MHz | 44,639,340 |
|
| Decryption [ | ATmega128 @8-MHz | 75,680,000 |
|
| Decryption [ | ATmega128 @8-MHz | - |
|
| Decryption [ | ATmega128 @8-MHz | - |
|
| Decryption [ | CC1010 @14-MHz | - |
|
Figure 7Timings for 1024-bit RSA encryption and decryption.
Timings for 512-bit Montgomery multiplication/squaring.
|
|
|
|
|
| This work | MSP430F1611 @8 MHz | 35,885 | |
| Qiu’s work [ | MSP430F1611 @8 MHz | 148,777 | |
|
|
|
|
|
| This work | MSP430F1611 @8 MHz | 32,507 | |
| Qiu’s work [ | MSP430F1611 @8 MHz | 116,252 |
Figure 8Timings for 512-bit Montgomery multiplication/squaring on MSP430F1611.