CBC (Cipher Block Chaining), tryb szyfrowania wiadomości za pomocą szyfru blokowego, w którym przed zaszyfrowaniem każdy z bloków wiadomości jest przekształcany funkcją XOR z szyfrogramem, uzyskanym z szyfrowania poprzedniego bloku wiadomości. Pierwszy blok wiadomości jest szyfrowany za pomocą wylosowanego ciągu bitów (wektor inicjujący), dołączanego do wiadomości.

Delphi/Pascal

Nazwa szyfru pochodzi od Juliusza Cezara, rzymskiego wodza i polityka. Szyfrował on listy o znaczeniu wojskowym do swoich generałów, używając szyfru przesuwającego z przesunięciem 3. Z tego powodu niekiedy szyfrem Cezara określa się wyłącznie szyfr przesuwający o przesunięciu 3 (symetryczny), zaś termin "szyfr przesuwający" jest zarezerwowany dla przypadku ogólnego. Prezentowany algorytm umożliwia przesunięcie o dowolną ilość znaków.

Delphi/Pascal

Zaprezentowana funkcja skrótu umożliwia wygenerowanie dowolnej długości ciąg znaków, zbudowany z wcześniej zadeklarowanej tablicy znakowej. Wykonana przeze mnie funkcja skrótu opiera się na porównywaniu wartości kodów ASCII wprowadzonych znaków oraz ich przesuwaniu względem obliczonej pozycji, wykorzystując przy tym zadeklarowaną tablicę znaków, z której ma zostać zbudowany hash. Testy, które przeprowadziłem na wyżej wykonanym algorytmie, doprowadziły mnie do wyciągnięcia kilku wniosków. Po pierwsze, większą skuteczność algorytmu osiąga się poprzez wprowadzenie minimum takiej ilości znaków, jaka ma powstać na wyjściu (w przypadku opisanego poniżej algorytmu jest to 16 znaków). Po drugie, prędkość działania algorytmu uzależniona jest od długości tekstu, z którego ma być wygenerowany hash - im dłuższy tekst tym dłuższy czas operacji. Słabość ta niestety wyklucza algorytm do pracy z plikami w celu obliczania sum kontrolnych.

Delphi/Pascal

Jeden z pierwszych algorytmów kryptograficznych (symetryczny). Zasada działania opiera się na tablicy, w której każdy z wierszy odpowiada szyfrowi Cezara, przy czym w pierwszym wierszu przesunięcie wynosi 0, w drugim 1 itd. Aby zaszyfrować tekst potrzebne jest słowo kluczowe. Słowo kluczowe jest tajne i mówi, z którego wiersza (lub kolumny) należy w danym momencie skorzystać.

Delphi/Pascal

PHP

C#

Prosty algorytm kryptograficzny (symetryczny), którego zadaniem jest XOR-owanie dowolnego tekstu z kluczem. Proszę pamiętać, że ciąg znaków uzyskany na wyjściu jest w formacie ASCII. Odszyfrowanie następuję poprzez ponowne zaszyfrowanie tekstu z tym samym kluczem.

Delphi/Pascal

ECB (Electronic CodeBook), tryb elektronicznej książki kodowej jest to najprostszy tryb kodowania dużej wiadomości za pomocą szyfru blokowego. Wiadomość dzielimy na fragmenty odpowiadające wielkości bloku (M1, M2, M3, ..., Mn) i szyfrujemy każdy blok osobno: Ci = E(Mi). Do zaszyfrowania bloków można użyć dowolnego algorytmu kryptograficznego (np. Pseudo DES lub Vigenere).

Delphi/Pascal

PHP

C#