Skip to content

Better Side-Channel Attack Resistance, More tEnvoyPack Support

Compare
Choose a tag to compare
@CMEONE CMEONE released this 30 Mar 23:00
· 143 commits to master since this release

In this release, we added better side-channel attack resistance to NaCl operations. PGP operations are resistant to side-channel attacks through OpenPGP.js, but we could not confirm the existence of side-channel attack resistance in TweetNaCl.js. Therefore, we made sure randomized padding was added to the end of every NaCl-encrypted message, and in our Uint8Array conversion methods, we added operations (similar to the operations on the actual content array) on a fake array with the same length as the padded portion. Although there is still a small risk of side-channel attacks or detection of the data type of the message, encryption and decryption is much more resistant to these kinds of attack vectors.

Additionally, we added support for more datatypes in tEnvoyPack, our new standard for encrypting and decrypting messages with tEnvoyNaClKey. Along with these features, we added the pack and unpack methods, which wrap around our Uint8Array conversion methods.