Różnica między szyfrem strumieniowym a szyfrem blokowym

Różnica między szyfrem strumieniowym a szyfrem blokowym
Różnica między szyfrem strumieniowym a szyfrem blokowym

Wideo: Różnica między szyfrem strumieniowym a szyfrem blokowym

Wideo: Różnica między szyfrem strumieniowym a szyfrem blokowym
Wideo: Symmetric Key Cryptography | Stream Cipher & Block Cipher Explained | Network Security | Simplilearn 2024, Lipiec
Anonim

Szyfr strumieniowy a szyfr blokowy | Szyfr stanowy a szyfr blokowy

W kryptografii szyfry strumieniowe i szyfry blokowe to dwa algorytmy szyfrowania/deszyfrowania należące do rodziny szyfrów z kluczem symetrycznym. Zazwyczaj szyfr przyjmuje jako dane wejściowe zwykły tekst i tworzy tekst zaszyfrowany jako dane wyjściowe. Szyfry blokowe szyfrują bloki bitów o stałej długości przy użyciu niezmiennej transformacji. Szyfry strumieniowe szyfrują strumienie bitów o różnej długości i używają różnych transformacji na każdym bicie.

Co to jest szyfr strumieniowy?

Szyfry strumieniowe należą do rodziny szyfrów z kluczem symetrycznym. Szyfry strumieniowe łączą bity zwykłego tekstu ze strumieniem bitów szyfru pseudolosowego za pomocą operacji XOR (exclusive-or). Szyfry strumieniowe szyfrują cyfry zwykłego tekstu pojedynczo z różnymi przekształceniami dla kolejnych cyfr. Ponieważ szyfrowanie każdej cyfry zależy od bieżącego stanu mechanizmu szyfrowania, szyfry strumieniowe są również nazywane szyframi stanowymi. Zazwyczaj pojedyncze bity/bity są używane jako pojedyncze cyfry. Aby uniknąć obaw o bezpieczeństwo, należy upewnić się, że ten sam stan początkowy nie jest używany więcej niż raz. Najczęściej używanym szyfrem strumieniowym jest RC4.

Co to jest szyfr blokowy?

Szyfr blokowy to kolejny symetryczny szyfr kluczowy. Szyfry blokowe działają na blokach (grupach bitów) o stałej długości. Szyfry blokowe używają stałej (niezmiennej) transformacji dla wszystkich cyfr w bloku. Na przykład, gdy x-bitowy tekst jawny (wraz z tajnym kluczem) jest dostarczany jako dane wejściowe do mechanizmu szyfrowania blokowego, tworzy odpowiedni x-bitowy blok zaszyfrowanego tekstu. Rzeczywista transformacja zależy od tajnego klucza. Podobnie algorytm deszyfrowania odzyskuje oryginalny x-bitowy blok tekstu jawnego przy użyciu x-bitowego bloku tekstu zaszyfrowanego i powyższego tajnego klucza jako danych wejściowych. W przypadku, gdy wiadomość wejściowa jest zbyt długa w porównaniu z rozmiarem bloku, zostanie ona podzielona na bloki, a te bloki zostaną (indywidualnie) zaszyfrowane przy użyciu tego samego klucza. Jednak ponieważ używany jest ten sam klucz, każda powtórzona sekwencja w tekście jawnym staje się tą samą powtórzoną sekwencją w tekście zaszyfrowanym, co może powodować problemy z bezpieczeństwem. Popularne szyfry blokowe to DES (Data Encryption Standard) i AES (Advanced Encryption Standard).

Jaka jest różnica między szyfrem strumieniowym a szyfrem blokowym?

Chociaż zarówno szyfry strumieniowe, jak i blokowe należą do rodziny szyfrów szyfrowania symetrycznego, istnieją pewne kluczowe różnice. Szyfry blokowe szyfrują bloki bitów o stałej długości, podczas gdy szyfry strumieniowe łączą bity zwykłego tekstu ze strumieniem bitów szyfru pseudolosowego za pomocą operacji XOR. Mimo że szyfry blokowe używają tej samej transformacji, szyfry strumieniowe używają różnych transformacji w zależności od stanu silnika. Szyfry strumieniowe zwykle działają szybciej niż szyfry blokowe. Pod względem złożoności sprzętowej szyfry strumieniowe są stosunkowo mniej złożone. Szyfry strumieniowe są typową preferencją w stosunku do szyfrów blokowych, gdy zwykły tekst jest dostępny w różnych ilościach (np. w przypadku bezpiecznego połączenia Wi-Fi), ponieważ szyfry blokowe nie mogą działać bezpośrednio na blokach krótszych niż rozmiar bloku. Czasami jednak różnica między szyframi strumieniowymi a blokowymi nie jest bardzo wyraźna. Powodem jest to, że podczas korzystania z pewnych trybów działania, szyfr blokowy może działać jako szyfr strumieniowy, umożliwiając szyfrowanie najmniejszej dostępnej jednostki danych.

Zalecana: