Back to Search
Start Over
Efficient Implementation of a Crypto Library Using Web Assembly
- Source :
- Electronics, Volume 9, Issue 11, Electronics, Vol 9, Iss 1839, p 1839 (2020)
- Publication Year :
- 2020
- Publisher :
- Multidisciplinary Digital Publishing Institute, 2020.
-
Abstract
- We implement a cryptographic library using Web Assembly. Web Assembly is expected to show better performance than Javascript. The proposed library provides comprehensive algorithm sets including revised CHAM, Hash Message Authentication Code (HMAC), and ECDH using the NIST P-256 curve to provide confidentiality, data authentication, and key agreement functions. To optimize the performance of revised CHAM in the proposed library, we apply an existing method that is a four-round combining method and additionally propose the precomputation method to CHAM-64/128. The proposed revised CHAM showed an approximate 2.06 times (CHAM-64/128), approximate 2.13 times (CHAM-128/128), and approximate 2.63 times (CHAM-128/256) performance improvement in Web Assembly compared to JavaScript. In addition, CHAM-64/128 applying the precomputation method showed an improved performance by approximately 1.2 times more than the existing CHAM-64/128. For the ECDH using P-256 curve, the naive implementation of ECDH is vulnerable to side-channel attacks (SCA), e.g., simple power analysis (SPA), and timing analysis (TA). Thus, we apply an SPA and TA resistant scalar multiplication method, which is a core operation in ECDH. We present atomic block-based scalar multiplication by revising the previous work. Existing atomic blocks show a performance overhead of 55%, 23%, and 37%, but atomic blocks proposed to use only P=(X,Y,Z) show 18%, 6%, and 11% performance overhead. The proposed Web Assembly-based crypto library provides enhanced performance and resistance against SCA thus, it can be used in various web-based applications.
- Subjects :
- JavaScript
Computer Networks and Communications
Computer science
Hash function
lcsh:TK7800-8360
Cryptography
02 engineering and technology
Parallel computing
Scalar multiplication
01 natural sciences
web
crypto library
020204 information systems
0202 electrical engineering, electronic engineering, information engineering
Overhead (computing)
Message authentication code
side channel analysis
Electrical and Electronic Engineering
Block (data storage)
business.industry
lcsh:Electronics
010401 analytical chemistry
Hash-based message authentication code
0104 chemical sciences
Power analysis
web assembly
Hardware and Architecture
Control and Systems Engineering
Precomputation
Signal Processing
business
fast implementation
Subjects
Details
- Language :
- English
- ISSN :
- 20799292
- Database :
- OpenAIRE
- Journal :
- Electronics
- Accession number :
- edsair.doi.dedup.....b96ffc9e7e18eb29267cb35fd34a655a
- Full Text :
- https://doi.org/10.3390/electronics9111839