This is How Encryption with Boxcryptor Works
Szyfrujemy pliki i w ten sposób zapewniamy zwiększoną ochronę przed szpiegostwem i kradzieżą danych. Do szyfrowania używamy kombinacji szyfrowania AES-256 i szyfrowania RSA. Tutaj wyjaśniamy oba algorytmy.
AES-256 Encryption
Advanced Encryption Standard (AES) jest jednym z najczęściej używanych i najbezpieczniejszych algorytmów szyfrowania dostępnych obecnie. Jest on publicznie dostępny i jest szyfrem, którego NSA używa do zabezpieczania dokumentów o klauzuli „ściśle tajne”. Historia jego sukcesu rozpoczęła się w 1997 roku, kiedy to NIST (National Institute of Standards and Technology) rozpoczął oficjalne poszukiwania następcy starzejącego się standardu szyfrowania DES. Algorytm o nazwie „Rijndael”, opracowany przez belgijskich kryptografów Daemena i Rijmena, wyróżniał się zarówno pod względem bezpieczeństwa, jak i wydajności oraz elastyczności.
Wygrał on z kilkoma konkurentami i w 2001 roku został oficjalnie ogłoszony nowym standardem szyfrowania AES. Algorytm opiera się na kilku podstawieniach, permutacjach i przekształceniach liniowych, z których każde wykonywane jest na blokach danych o długości 16 bajtów – stąd określenie blockcipher. Operacje te są powtarzane wielokrotnie, zwane „rundami”. Podczas każdej rundy, z klucza szyfrującego obliczany jest unikalny klucz rundy, który jest uwzględniany w obliczeniach. W oparciu o strukturę blokową AES, zmiana jednego bitu, czy to w kluczu, czy w bloku tekstu jawnego, powoduje powstanie zupełnie innego bloku szyfrogramu – jest to wyraźna przewaga nad tradycyjnymi szyframi strumieniowymi. Różnica pomiędzy AES-128, AES-192 i AES-256 polega na długości klucza: 128, 192 lub 256 bitów – wszystkie te wartości są znacznie lepsze od 56-bitowego klucza DES. Dla ilustracji: Złamanie 128-bitowego klucza AES za pomocą superkomputera state-of-the-art zajęłoby więcej czasu niż przypuszczalny wiek wszechświata. A Boxcryptor używa nawet 256-bitowych kluczy. Na dzień dzisiejszy nie istnieje żaden wykonalny atak na AES. Dlatego AES pozostaje preferowanym standardem szyfrowania dla rządów, banków i systemów wysokiego bezpieczeństwa na całym świecie.
Szyfrowanie RSA
RSA jest jednym z najbardziej udanych systemów szyfrowania asymetrycznego. Pierwotnie odkryty w 1973 roku przez brytyjską agencję wywiadowczą GCHQ, otrzymał klauzulę „ściśle tajne”. Musimy podziękować kryptologom Rivestowi, Shamirowi i Adlemanowi za jego cywilne ponowne odkrycie w 1977 roku. Natknęli się na nią podczas próby rozwiązania innego problemu kryptograficznego.
W przeciwieństwie do tradycyjnych, symetrycznych systemów szyfrowania, RSA działa z dwoma różnymi kluczami: Publicznym i Prywatnym. Oba działają komplementarnie względem siebie, co oznacza, że wiadomość zaszyfrowana jednym z nich może być odszyfrowana tylko przez jego odpowiednik. Ponieważ klucza prywatnego nie da się obliczyć na podstawie klucza publicznego, ten ostatni jest ogólnie dostępny.
Właściwości te umożliwiają stosowanie kryptosystemów asymetrycznych w szerokim zakresie funkcji, takich jak podpisy cyfrowe. W procesie podpisywania dokumentu, do pliku dołączany jest odcisk palca zaszyfrowany za pomocą RSA, który umożliwia odbiorcy zweryfikowanie zarówno nadawcy, jak i integralności dokumentu. Bezpieczeństwo samego RSA opiera się głównie na matematycznym problemie faktoryzacji liczb całkowitych. Wiadomość, która ma zostać zaszyfrowana jest traktowana jako jedna duża liczba. Podczas szyfrowania wiadomości jest ona podnoszona do potęgi klucza i dzielona z resztą przez ustalony iloczyn dwóch liczb pierwszych. Powtarzając proces z drugim kluczem, można ponownie odzyskać tekst jawny. Najlepsza obecnie znana metoda złamania szyfru wymaga faktoryzacji iloczynu użytego do dzielenia. Obecnie nie jest możliwe obliczenie tych współczynników dla liczb większych niż 768 bitów. Dlatego nowoczesne kryptosystemy używają minimalnej długości klucza 3072 bity.
Jak Boxcryptor szyfruje i deszyfruje pliki
Boxcryptor implementuje połączony proces szyfrowania oparty na asymetrycznym RSA i symetrycznym AES. Każdy plik ma swój unikalny, losowy klucz, który jest generowany podczas tworzenia pliku.