Efficient Curve25519 Implementation for ARM Microcontrollers
Resumo
This work investigates efficient and secure implementations of Curve25519 to build a key exchange protocol on an ARM Cortex-M4 microcontroller, along with the related signature scheme Ed25519 and a digital signature scheme proposal called qDSA. As result, performance-critical operations, such as modular multiplication, are greatly optimized; in this particular case, a 50% speedup is achieved, impacting the performance of higher-level protocols.
Referências
Atzori, L., Iera, A., and Morabito, G. (2010). The internet of things: A survey. Computer Networks, 54(15):2787–2805.
Bernstein, D. J. (2006). Curve25519: New Diffie-Hellman Speed Records. In Public Key Cryptography, volume 3958 of Lecture Notes in Computer Science, pages 207–228. Springer.
Bernstein, D. J., Duif, N., Lange, T., Schwabe, P., and Yang, B. (2012). High-speed high-security signatures. J. Cryptographic Engineering, 2(2):77–89.
Düll, M., Haase, B., Hinterwälder, G., Hutter, M., Paar, C., Sánchez, A. H., and Schwabe, P. (2015). High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers. Des. Codes Cryptography, 77(2-3):493–514.
Faz-Hernández, A., Fujii, H., Aranha, D. F., and López, J. (2017). A secure and efficient implementation of the quotient digital signature algorithm (qdsa). In SPACE, volume 10662 of Lecture Notes in Computer Science, pages 170–189. Springer.
Fujii, H. and Aranha, D. F. (2017). Curve25519 for the Cortex-M4 and Beyond. In Progress in Cryptology – LATINCRYPT 2017: 5th International Conference on Cryptology and Information Security in Latin America 2017, Proceedings, Lecture Notes in Computer Science. Springer. (to appear).
Haase, B. (2017). Memory bandwidth influence makes Cortex M4 benchmarking difficult. Avaliable on [link].
Hamburg, M. (2012). Fast and compact elliptic-curve cryptography. Avaliable on [link].
Hankerson, D., Menezes, A. J., and Vanstone, S. (2003). Guide to Elliptic Curve Cryptography. Springer-Verlag New York, Inc., Secaucus, NJ, USA.
Hutter, M. and Wenger, E. (2011). Fast multi-precision multiplication for public-key cryptography on embedded microprocessors. In CHES, volume 6917 of Lecture Notes in Computer Science, pages 459–474. Springer.
Moon, A. (2012). Implementations of a fast Elliptic-curve Digital Signature Algorithm. Available at [link].
Oliveira, T., López, J., Hisil, H., Faz-Hernández, A., and Rodríguez-Henríquez, F. (2017). How to (pre-)compute a ladder - improving the performance of X25519 and X448. In SAC, volume 10719 of Lecture Notes in Computer Science, pages 172–191. Springer.
Renes, J. and Smith, B. (2017). qDSA: Small and Secure Digital Signatures with Curve-Based Diffie-Hellman Key Pairs. In ASIACRYPT (2), volume 10625 of Lecture Notes in Computer Science, pages 273–302. Springer.
Santis, F. D. and Sigl, G. (2016). Towards Side-Channel Protected X25519 on ARM Cortex-M4 Processors. In SPEED-B, Utrecht, The Netherlands.
Seo, H. and Kim, H. (2015). Consecutive operand-caching method for multiprecision multiplication, revisited. J. Inform. and Commun. Convergence Engineering, 13(1):27–35.
Seo, H., Liu, Z., Choi, J., and Kim, H. (2013). Multi-precision squaring for public-key cryptography on embedded microprocessors. In INDOCRYPT, volume 8250 of Lecture Notes in Computer Science, pages 227–243. Springer.