Paper 2011/712
Efficient Java Implementation of Elliptic Curve Cryptography for J2ME-Enabled Mobile Devices
Johann Großschädl, Dan Page, and Stefan Tillich
Abstract
The Micro Edition of the Java 2 platform (J2ME) provides an application environment specifically designed to address the demands of embedded devices like cell phones, PDAs or set-top boxes. Since the J2ME platform does not include a crypto package, developers are forced to use third-party classes or to implement all cryptographic primitives from scratch. However, most existing implementations of elliptic curve (EC) cryptography for J2ME do not perform well on resource-restricted devices, in most cases due to poor efficiency of the underlying arithmetic operations. In this paper we present an optimized Java implementation of EC scalar multiplication that combines efficient finite-field arithmetic with efficient group arithmetic. More precisely, our implementation uses a pseudo-Mersenne (PM) prime field for fast modular reduction and a Gallant-Lambert-Vanstone (GLV) curve with an efficiently computable endomorphism to speed up the scalar multiplication with random base points. Our experimental results show that a conventional mobile phone without Java acceleration, such as the Nokia 6610, is capable to execute a 174-bit scalar multiplication in roughly 400 msec, which is more than 45 times faster than the widely-used Bouncy Castle Lightweight Crypto API for J2ME.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Published elsewhere. To be published in the Proceedings of WISTP 2012
- Keywords
- Elliptic Curve CryptographyPrime-Field ArithmeticEndomorphism
- Contact author(s)
- johann groszschaedl @ uni lu
- History
- 2012-08-28: last of 2 revisions
- 2011-12-31: received
- See all versions
- Short URL
- https://ia.cr/2011/712
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2011/712, author = {Johann Großschädl and Dan Page and Stefan Tillich}, title = {Efficient Java Implementation of Elliptic Curve Cryptography for {J2ME}-Enabled Mobile Devices}, howpublished = {Cryptology {ePrint} Archive, Paper 2011/712}, year = {2011}, url = {https://eprint.iacr.org/2011/712} }