Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Şifreleme için kullanılacak blok şifreleme modunu belirtir.
public enum class CipherMode
public enum CipherMode
[System.Serializable]
public enum CipherMode
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CipherMode
type CipherMode =
[<System.Serializable>]
type CipherMode =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CipherMode =
Şifreleme Blok Zincirleme (CBC) modu geri bildirim sunar. Her düz metin bloğu şifrelenmeden önce, bit tabanlı özel OR işlemiyle önceki bloğun şifre metniyle birleştirilir. Bu, düz metinde birçok özdeş blok olsa bile her birinin farklı bir şifre metin bloğuna şifrelemesini sağlar. Başlatma vektör, blok şifrelenmeden önce bit düzeyinde özel OR işlemiyle ilk düz metin bloğuyla birleştirilir. Şifre metin bloğunun tek bir parçası mangled ise, karşılık gelen düz metin bloğu da mangled olur. Buna ek olarak, sonraki blokta, özgün mangled bit ile aynı konumda bir bit, mangled olacaktır.
CFB
4
Şifre Geri Bildirimi (CFB) modu, bir bloğun tamamını tek seferde işlemek yerine küçük düz metin artışlarını şifre metnine işler. Bu mod, bir blok uzunluğunda ve bölümlere ayrılmış bir vardiya yazmaç kullanır. Örneğin, blok boyutu 8 bayt ise ve aynı anda bir bayt işlenirse, vardiya yazmaç sekiz bölüme ayrılır. Şifre metnindeki bir bit bozuksa, bir düz metin biti bozuktur ve vardiya yazmacı bozulur. Bu, hatalı bit vardiya yazmacından dışarı kaydırılana kadar sonraki birkaç düz metin artışının dolaşık olmasına neden olur. Varsayılan geri bildirim boyutu algoritmaya göre farklılık gösterebilir, ancak genellikle 8 bit veya blok boyutunun bit sayısıdır. özelliğini kullanarak FeedbackSize geri bildirim bitlerinin sayısını değiştirebilirsiniz. CFB'yi destekleyen algoritmalar geri bildirimi ayarlamak için bu özelliği kullanır.
CTS
5
Şifre Metin Çalma (CTS) modu herhangi bir düz metin uzunluğunu işler ve uzunluğu düz metin uzunluğuyla eşleşen şifre metni üretir. Bu mod, düz metnin son iki bloğu dışında tümü için mod gibi CBC davranır.
ECB
2
Elektronik Kod Defteri (ECB) modu her bloğu ayrı ayrı şifreler. Aynı ve aynı iletide yer alan veya aynı anahtarla şifrelenmiş farklı bir iletide yer alan tüm düz metin blokları, aynı şifre metin bloklarına dönüştürülür.
Önemli: Birden çok güvenlik açığından yararlanmanın kapısını açtığından bu mod önerilmez. Şifrelenecek düz metin önemli bir yineleme içeriyorsa, şifre metninin bir kerede bir blok kırılması mümkündür. Şifreleme anahtarını belirlemek için blok analizini kullanmak da mümkündür. Ayrıca, etkin bir saldırgan algılama olmadan blokları tek tek değiştirebilir ve değiştirebilir. Bu da blokların algılanmadan diğer noktalarda kaydedilmesini ve akışa eklenmesini sağlar.
OFB
3
Çıkış Geri Bildirimi (OFB) modu, bir bloğun tamamını tek seferde işlemek yerine küçük düz metin artışlarını şifre metnine işler. Bu mod şuna CFBbenzer; iki mod arasındaki tek fark, vardiya yazmaçlarının doldurulma şeklidir. Şifre metnindeki bir parça mangled ise, karşılık gelen düz metin biti mangled olur. Ancak, şifre metninde fazladan veya eksik bitler varsa, düz metin bu noktadan sonra mangled olur.
Açıklamalar
Blok şifreleme algoritmaları, verileri tek seferde tek bir bayt yerine blok birimlerinde şifreler. En yaygın blok boyutu 8 bayttır. Her blok yoğun bir şekilde işlendiğinden, blok şifrelemeleri akış şifrelemelerinden daha yüksek bir güvenlik düzeyi sağlar. Ancak blok şifreleme algoritmaları, akış şifrelerinden daha yavaş yürütülme eğilimindedir.
Blok şifrelemeleri her blok için aynı şifreleme algoritmasını kullanır. Bu nedenle, bir düz metin bloğu aynı anahtar ve algoritmayla şifrelendiğinde her zaman aynı şifre metnini döndürür. Bu davranış bir şifreyi kırmak için kullanılabildiğinden, önceki blok şifrelemelerinden gelen geri bildirimlere göre şifreleme işlemini değiştiren şifreleme modları kullanıma sunulmuştur. Sonuçta elde edilen şifreleme, basit bir blok şifrelemesinden daha yüksek bir güvenlik düzeyi sağlar.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.