Cryptography

 
Private key generation

Algorithm: RSA
Parameters: asymmetric key length 3072 bits, key encrypted with AES256
Function parameters: Initialization vector 16 bytes, Cipher: AES / CBC / PKCS5Padding
The key on the customer’s carrier always remains in an encrypted form.

File encryption

Algorithm: SHA256 + RSA
Parameters: symmetric key length: 256 bits, symmetric key encrypted with RSA algorithm
RSA algorithm parameters: Cipher: RSA / ECB / PKCS1Padding
The file after the encryption operation can be read only by the designated recipient.

Encrypt address book

Algorithms: SHA256 + AES256 + RSA3072
Parameters: Symmetric key length: 256 bits

Storing files in the cloud

Algorithm: SHA256 + RSA

Authorization of user’s devices

Algorithm: random secret + AES256 + RSA3072
Parameters: secret length for device authorization: 128 bits
The secret is encrypted with the AES256 + RSA algorithm
The authorization of the device is time limited. Mobile devices are authorized based on the QR code displayed on the desktop application screen. The key on the customer’s carrier always remains in an encrypted form.

Invite user to chat

Algorithm: random secret + random symmetric key + AES256 + RSA3072
Parameters: random secret length 384 bits, random symmetric key length 256 bits
For any third party, the sender remains unknown. Only the recipient can decrypt the invitation and confirm the sender identity. The procedure provides for mutual confirmation of the invitation and exchange of a shared secret between an inviting person and an invited person.

Calculation of chat room number for conversation

Algorithm: The basis for the calculation is a “random secret”
Parameters: random secret length 384 bit
A secret known and shared only by the inviting and invited person.