In recent years, lattice-based cryptography has attracted a high degree of attention in the cryptologic research community. It is expected to be in wide use in the foreseeable future once large quantum computers are in sight. On the other hand, JavaScript is a standard programming language for Web applications. It is now supported on a wide variety of computing platforms and devices with immense efficiency improvement in the past few years. In this paper, we present the results of our JavaScript implementation of several lattice-based encryption schemes and show the speed performance on four common Web browsers on PC. Furthermore, we show performance results on two smaller computing platforms, namely, tablets running the Android operating system, as well as Tessel, an embedded system equipped with an ARM Cortex M3 microcontroller. Our results demonstrate that some of today's lattice-based cryptosystems can already have efficient JavaScript implementations and hence are ready for use on a growing list of computing platforms with JavaScript support.Keywords: Lattice-based cryptography, JavaScript, Android, Tessel 309Portable Implementation of Lattice-based Cryptography using JavaScript 1. Positive integers n, q, d1, d2, d3, dm; gcd(3, q)=1 (let p=3); 2. Ring:and g ∈ L (n/3,(n/3)−1) ; let F = f 1 ·f 2 + f 3 , then f = 1 + 3F; 4. fq·f ≡ 1(mod q); 5. Secret key: f; 6. Public key: h ≡ 3f q ·g (mod q); Regev's LWE [26,22] 1. Positive integers m, n, l, q, t, r (t q and r q) and a real α > 0; 2. Matrix S∈Z 1. Integers n, q > 0 and a real s > 0; 2. Ring: Rq = Zq[x]/(x n + 1); 3. Three random polynomials e ← χs, a ∈ Rq, and a small s ∈ Rq; 4. b = a ·s + e ∈ Rq; 5. Secret key: s ∈ Rq; 6. Public key: (a, b)∈ Rq×Rq; 1. Plaintext m ∈ {0, 1} n ; 2. Three random polynomials e1, e2 ← χs and a small t ∈ Rq; 3. (c1, c2) = (a ·t + e1, b ·t + e2 + encode(m)) ∈Rq × Rq;LP10 ring-LWE [19] 1. Integers n, q > 0 and a real s > 0; 2. Ring: Rq = Zq[x]/(x n + 1); 3. Three random polynomials r1,r2 ← χs, and a ∈ Rq; 4. b = r1 − a·r2 ∈ Rq; 5. Secret key: r2 ← χs; 6. Public key: (a, b)∈ Rq×Rq; 1. Plaintext m ∈ {0, 1} n ; 2. Three random polynomials e1, e2, e3 ← χs; 3. (c1, c2) = (a ·e1 + e2, b ·e1 + e3 + encode(m)) ∈Rq × Rq;
Quantum computers have the potential to solve some difficult mathematical problems efficiently and thus will inevitably exert a more significant impact on the traditional asymmetric cryptography. The National Institute of Standards and Technology (NIST) has opened a formal call for the submission of proposals of quantum-resistant public-key cryptographic algorithms to set the next-generation cryptography standards. Compared to powerful machines with ample amount of hardware resources such as racks of servers and IoT devices, including the massive number of microcontrollers, smart terminals, and sensor nodes with limited computing capacity, should also have some postquantum cryptography features for security and privacy. To ensure the correct execution of encryption algorithms on any platforms, the portability of implementation becomes more important. As distinguished from C/C++, JavaScript is a popular cross-platform language that can be used for the web applications and some hardware platforms directly, and it could be one of the solutions of portability. Therefore, we investigate and implement several recent lattice-based encryption schemes and public-key exchange protocols including Lizard, ring-Lizard, Kyber, Frodo, and NewHope in JavaScript, which are the active candidates of postquantum cryptography due to their applicabilities and efficiencies. We show and compare the performance of our JavaScript implementation on web browsers, embedded device Tessel2, Android phone, and several JavaScript-enabled platforms on PC and Mac. Our work shows that implementing lattice-based cryptography on JavaScript-enabled platforms is achievable and results in desirable portability.
Software alignment is quite important for a tracking detector to reach its ultimate position accuracy and momentum resolution. We developed a new alignment algorithm for the BESIII Main Drift Chamber using the Kalman Filter method. Two different types of data which are helix tracks and straight tracks are used to test this algorithm, and the results show that the design and implementation is successful.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.