Akış şifreleme ve blok şifreleme arasındaki fark nedir?
Akış şifreleme
Akış şifresinin temel fikri, metni bir veya birkaç bayt uzunluğundaki küçük bloklara bölmek ve önceki tüm bloklara bağlı olarak her bloğu kodlamaktır. Akış şifrelemesi, her bir bit veya bayt için algoritmaya beslenmesi gereken bir değer olan farklı bir kodlama anahtarı kullanır, böylece her kodlandığında farklı bir şifrelenmiş metin üretir. Bazı akış şifreleri, rasgele veya neredeyse rastgele bir bit akışı üreten bir anahtar akış üreteci kullanır. Şifreleme, şifrelenmiş bir metin oluşturmak için anahtar metindeki bitler ve düz metindeki bitler arasında özel bir OR olarak bilinen bir Boole işlemini gerçekleştirir.
Blok şifreleme
Bir blok şifresinin temel fikri, metni genellikle 64 veya 128 bit olan nispeten uzun bloklara bölmek ve her bloğu ayrı ayrı kodlamaktır. Her bir blok için aynı şifreleme anahtarı kullanılır ve her bir blokta yer değiştirme, taşıma ve diğer matematiksel fonksiyonların yerine getirildiği sırayı belirleyen şifreleme anahtarıdır. Güçlü algoritmalar, şifreleme sisteminin ters mühendisliğinin veya her bir blokta hangi fonksiyonların gerçekleştirildiğinin belirlenmesinin, hangi sırayla, neredeyse imkansız olduğu anlamına gelir.
Difüzyon ve karışıklık
Blok şifreleme, düz metni şifrelenmiş bir metne dönüştürmek için karışıklık ve yayılma olarak bilinen teknikleri kullanır. Karışıklığın ardındaki fikir, şifreleme anahtarı ile düz metin arasındaki ilişkiyi olabildiğince karmaşık hale getirmektir. İdeal olarak, şifreleme anahtarının her bir karakterinin şifreli metnin her bir karakteri üzerinde etkisi olması gerekir. Aksine, difüzyon düz metin içindeki her bir karakterin etkisini şifreli metin içinde birkaç karakter üzerinde genişleterek, şifrelemeyi istatistiksel saldırılara daha az duyarlı hale getirir.
Artıları ve eksileri
Akış şifrelemenin bilgiyi bir kerede şifrelediği ve şifresini çözdüğü gerçeği, özellikle ses ve video uygulamaları gibi gerçek zamanlı donanım uygulamalarına uyarlanabilmeleri anlamına gelir. Akış şifreleme yazılım uygulamalarına gelince blok şifrelemeden daha zayıf ve daha az verimlidir ve bu alanda daha az kullanılır. Blok şifrelemenin yazılımda uygulanması daha kolaydır, çünkü yazılımı zaten kullandığı uzunluktaki blues bilgileri şifreler. Şifreleme anahtarı genellikle blok büyüklüğü ile aynı uzunluğa sahiptir.