2018
DOI: 10.1145/3132709
|View full text |Cite
|
Sign up to set email alerts
|

Faster Base64 Encoding and Decoding Using AVX2 Instructions

Abstract: Web developers use base64 formats to include images, fonts, sounds and other resources directly inside HTML, JavaScript, JSON and XML files. We estimate that billions of base64 messages are decoded every day. We are motivated to improve the efficiency of base64 encoding and decoding. Compared to state-of-the-art implementations, we multiply the speeds of both the encoding (≈ 10×) and the decoding (≈ 7×). We achieve these good results by using the single-instruction-multiple-data (SIMD) instructions available o… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
13
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
6
1
1

Relationship

5
3

Authors

Journals

citations
Cited by 20 publications
(13 citation statements)
references
References 14 publications
0
13
0
Order By: Relevance
“…The cropped picture is then encoded into a Base64 format [39], for simplicity, and then sent and saved to the server along with the SHA3-512 [40] After the key exchange is completed, the client side and server-side have both agree on the same fresh session key, the authentication can proceed. The user application takes the face image, the inputted password and 𝐼𝐷 𝑖 to create an encrypted authentication request using the session key and then sends the resulting request to the side.…”
Section: Registration Phasementioning
confidence: 99%
“…The cropped picture is then encoded into a Base64 format [39], for simplicity, and then sent and saved to the server along with the SHA3-512 [40] After the key exchange is completed, the client side and server-side have both agree on the same fresh session key, the authentication can proceed. The user application takes the face image, the inputted password and 𝐼𝐷 𝑖 to create an encrypted authentication request using the session key and then sends the resulting request to the side.…”
Section: Registration Phasementioning
confidence: 99%
“…, 3, 2, 1, 0) and apply it to a 16-byte register. In practice, most SIMD instruction sets have a corresponding fast instructions (e.g., pshufb under x64 processors) and it has a broad range of applications [10,11,12,13,14,15]. Inoue et al also suggest using fast code paths for common sequences like ASCII strings.…”
Section: Related Workmentioning
confidence: 99%
“…There has been much work on the acceleration of text content using SIMD instructions (e.g., base64 [14,15], JSON [11], XML [16], HTML [17], CVS [18]). We are not aware of any published work directly related to Unicode validation using SIMD instructions other than our own [11].…”
Section: Related Workmentioning
confidence: 99%