Kryptografia

Generowanie klucza prywatnego
Algorytm: RSA
Parametry: długość klucza asymetrycznego 3072 bity, klucz szyfrowany wyjściem funkcji AES256
Parametry funkcji AES256: Initialization vector 16 bajtów, Cipher: AES/CBC/PKCS5Padding
Klucz na nośniku klienta pozostaje zawsze w formie zaszyfrowanej.

Szyfrowanie pliku
Algorytm: SHA256 + RSA
Parametry: długość klucza symetrycznego: 256 bitów, klucz symetryczny szyfrowany algorytmem RSA
Parametry algorytmu RSA: Cipher: RSA/ECB/PKCS1Padding
Plik po wykonaniu operacji szyfrowania może zostać odczytany jedynie przez wyznaczonego odbiorcę.

Szyfrowanie książki adresowej
Algorytm:
SHA256 + AES256 + RSA
Parametry: Długość klucza symetycznego: 256 bity

Przechowywanie plików w chmurze
Algorytm: SHA256 + RSA

Autoryzacja urządzeń użytkownika
Algorytm: losowy sekret + AES256 + RSA
Parametry: długość sekretu do autoryzacji urządzenia: 128 bitów
Sekret szyfrowany algorytmem AES256 + RSA
Autoryzację urządzenia jest ograniczona czasowo. Urządzenia mobilne autoryzowane są na podstawie kodu QR wyświetlanego na ekranie aplikacji desktop.
Klucz na nośniku klienta pozostaje zawsze w formie zaszyfrowanej.

Zaproszenie użytkownika do chatu
Algorytm: losowy sekret + losowy klucz symetryczny + AES256 + RSA
Parametry: długość losowego sekretu 384 bity, długość losowego klucza symetrycznego 256 bitów.
Dla strony trzeciej nadawca pozostaje nieznany. Tylko odbiorca może odszyfrować zaproszenie i zweryfikować nadawcę. Procedura przewiduje wzajemnie potwierdzenie zaproszenia i wymianę wspólnego sekretu pomiędzy zapraszającym a zaproszonym.

Wyliczenie numeru pokoju chat do rozmowy
Algorytm: Bazę do obliczeń stanowi ”losowy sekret”
Parametry: długość losowego sekretu 384 bity.
Sekret znany i współdzielony jedynie przez zapraszającego i zaproszonego.