How 1LimX app encrypts a file

If you use the 1LimX app to secure your data, you'll be surprised by how easy it is to encrypt a file. Just select or drag a file to the Custom Data Encryption screen, choose the destination folder for the encrypted file, and relax while the process finishes.

Curious about what happens behind the scenes? Let's find out in this article.


Text, file ChaCha20Poly1305 encryption/decryption tool

All text and files are encrypted with the proven 256-bit ChaCha20-Poly1305 cipher using a 96-bit nonce (also known as "initialization vector", "IV" or "salt"). Google has chosen this as the new TLS cipher suite in Chrome. (source: here) and you can learn how it’s used in 1LimX app with this doc by Applehttps://developer.apple.com/documentation/cryptokit/chachapoly.

Encrypting text

Back to the 1LimX custom data encryption screen. Encrypting text is straightforward. Enter the desired text and immediately get the encrypted version on the right:


ChaCha20Poly1305 text data encryption

Input: the brown fox

Encrypted output: 72A01wgxy4rxLeYy,qCLXD/m1jC2Uv8tkwqiz9A==,lnTPx1JCqgjAAyp7X3GH

The encrypted string consists of three parts, separated by commas. The first part is the unique 96-bit nonce (also known as "initialization vector," "IV," or "salt"), encoded in base64. The second part is the 128-bit authentication tag, also in base64 encoding. The last part is the encrypted content.


These 3 parts are unique every time you encrypt the original text. Without the encryption key (master password and master key combined), this information reveals nothing about the original text.

Encrypting files

Under the hood, the process of encrypting a file is identical to encrypting text. The only difference is that the encrypted content is stored in a destination file, which we call the encrypted file.


This process is the same as text encryption because any file, be it a video, image, audio file, installer, or shortcut, is essentially a container for digital data comprised of 0s and 1s. This is why we refer to the present era as the digital age.


Therefore, encrypting a file actually involves encrypting its binary data - a string of 0s and 1s. This can be easily achieved by converting the file data into its equivalent binary form, hexadecimal code, or Base64 encoded content, and then encrypting it like any text. Let's see this example:


Here we have a text file with the content:



After encrypting with 1LimX we have the encrypted file:



It consists of two parts: the encrypted content and the unique 96-bit nonce (also known as an initialization vector or IV) and the 128-bit auth tag in hexadecimal encoding.


The encrypted file content is unique every time the original file is encrypted. Without the encryption key (master password and master key combined), this encrypted data reveals nothing about the original content of the file. No one can open and view the contents of the encrypted file.

That's all!

I hope this post helps you understand how our cross-platform app 1LimX encrypts data, specifically files. You can learn more about the app at https://1limx.com/demo/ and https://1limx.com/faqs/.

If you have any questions, feel free to contact us at support@1limx.com.


#encryption #secure #data #password #management

Comments