Nie zawsze osoba łamiąca szyfr ma dostęp do algorytmu, lecz tak jest najczęściej. Jeśli algorytm szyfrujący jest zastosowany w programie komercyjnym, to jest tylko kwestią czasu i pieniędzy jego zdeasemblowanie i odtworzenie algorytmu. Możliwe jest także, przy odpowiednich nakładach czasowych i finansowych, przejście zabezpieczeń sprzętowych -wystarczy kupić (lub ukraść) odpowiednie urządzenia i odtworzyć algorytm.
Różne systemy kryptograficzne charakteryzują się różnymi poziomami zapewnianego bezpieczeństwa w zależności od tego, jak trudno je złamać. Jeśli koszt złamania szyfru jest większy niż wartość zaszyfrowanej informacji, to prawdopodobnie szyfr jest bezpieczny. Jeśli czas niezbędny do złamania szyfru jest dłuższy niż czas, w którym dane muszą pozostać utajnione, to prawdopodobnie szyfr jest bezpieczny. Jeśli ilość danych zaszyfrowanych z zastosowaniem pojedynczego klucza jest mniejsza niż ilość danych niezbędnych do złamania szyfru, to prawdopodobnie szyfr jest bezpieczny.
Prawdopodobnie bezpieczny - gdyż w każdej chwili może pojawić się w kryptoanalizie nowa koncepcja, która wymusi ponowną ocenę bezpieczeństwa szyfru. Kategorie łamania szyfrów są następujące:
• Całkowite złamanie szyfru. Kryptoanalityk znajduje klucz K, taki, że DK(C) = M.
• Ogólne wnioskowanie. Kryptoanalityk znajduje alternatywny algorytm, równoważny z algorytmem DK(C), nie wymagającym poznania K.
• Lokalne wnioskowanie. Kryptoanalityk znajduje tekst jawny przechwyconego kryptogramu.
• Częściowe wnioskowanie. Kryptoanalityk zdobywa nieco informacji o kluczu i tekście jawnym. Informacją tą może być kilka bitów klucza, informacja na temat formatu tekstu jawnego (np., jest to kod źródłowy w języku C”) itp.
Algorytm jest bezwarunkowo bezpieczny (ang. uncoditionally secure) jeśli niezależnie od liczby kryptogramów, które ma kryptoanalityk, nie jest możliwe odtworzenie tekstu jawnego. W zasadzie tylko algorytmów z kluczem jednorazowym nie można złamać, dysponując nieograniczonymi zasobami. Wszystkie inne systemy można złamać, podstawiając po kolei różne klucze i sprawdzając, czy otrzymany tekst jawny jest sensowny. Ta metoda jest nazywana łamaniem brutalnym (ang. brute-force attack).
Kryptografia zajmuje się przede wszystkim systemami, których nie da się złamać obliczeniowo. Algorytm uznawany jest za obliczeniowo bezpieczny lub silny jeśli nie może być złamany za pomocą dostępnych obecnie i w przyszłości środków, przy czym interpretacja terminu „dostępne środki” jest nadal sprawą dyskusyjną.
Złożoność metody łamania można mierzyć kilkoma sposobami:
• Złożoność danych. Ilość danych, wymaganych jako dane wejściowe metody łamania szyfru.
• Złożoność przetwarzania. Czas wymagany do złamania szyfru.
• Wymagania pamięci. Wielkość pamięci niezbędnej do złamania szyfru.