Blok şifre çalışma kipleri

Kriptografide çalışma kipleri, bir blok şifrenin tek bir anahtar altında güvenli bir şekilde tekrarlı kullanımına olanak veren yöntemlerdir.

Değişken uzunluktaki mesajları işlemek için veriler ayrı parçalara bölünmelidir. Son parça şifrenin blok uzunluğuna uyacak şekilde uygun bir tamamlama şeması ile uzatılmalıdır. Bir çalışma kipi bu bloklardan her birini şifreleme şeklini tanımlar ve genellikle bunu yapmak için ilklendirme vektörü (IV) olarak adlandırılan rastgele oluşturulmuş fazladan bir değer kullanır.
Çalışma kipleri özellikle şifreleme ve kimlik doğrulamada kullanılmak üzere oluşturulmuştur.
Tarihsel olarak çalışma kipleri çeşitli veri değiştirme senaryoları altında hata yayılma özellikleri bakımında geniş bir biçimde çalışılmıştır. Bütünlük koruması şifrelemeden tamamen farklı bir kriptografik amaç olarak doğmuştur. Kimlik doğrulamalı şifreleme kipi olarak bilinen bazı modern çalışma kipleri şifreleme ve kimlik doğrulamayı verimli bir şekilde birleştirmiştir.
Çalışma kipleri çoğunlukla simetrik şifrelemeyle ilişkilendirilmiş olsa da teoride RSA gibi açık anahtarlı şifreleme yöntemlerinde de kullanılabilir. (Ancak uygulamada uzun mesajların açık anahtarla şifrelenmesi genellikle melez şifreleme kullanılarak yapılır.)

Tarihçe ve standartlaşma

İlk çalışma kipleri ECB, CBC, OFB ve CFB 1981 yılına kadar dayanır ve FIPS 81, DES Modes of Operation'da tanımlanmıştır. 2001 yılında NIST SP800-38A, Recommendation for Block Cipher Modes of Operation ile CTR kipini ve AES blok şifresini ekleyerek onaylanmış çalışma kiplerini güncellemiştir. Son olarak NIST 2010 Ocak ayında SP800-38E, Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices ile XTS-AES kipini eklemiştir. NIST tarafından onaylanmamış başka çalışma kipleri de mevcuttur. Örneğin CTS (ciphertext stealing) kipi birçok popüler kriptografik kütüphanede bulunur.
ECB, CBC, OFB, CFB, CTS ve XTS kipleri sadece gizlilik sağlar; şifrelenmiş bir mesajın yanlışlıkla değiştiğinden ya da kasıtlı olarak oynanmadığından emin olmak için CBC-MAC gibi bir mesaj doğrulama kodu'na ihtiyaç vardır. Kriptografi topluluğu bir bütünlük kipinin gerekliliğinin farkına vardı ve NIST de HMAC, CMAC ve GMAC ile buna karşılık verdi. HMAC 2002'de FIPS 198, The Keyed-Hash Message Authentication Code (HMAC) olarak onaylandı, CMAC 2005'te SP800-38B,  Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication ile tanımlandı ve GMAC 2007 yılında SP800-38D, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC ile onaylandı.
Bir gizlilik kipini ve bütünlük kipini birleştirmeye çalışmanın güç ve hataya yatkın olmasının farkına varılmasıyla kriptografi topluluğu gizlilik ve bütünlüğü bir arada sağlayan kipler sunmaya başladılar. Bu kipler kimlik doğrulamalı şifreleme olarak bilinir. Örnekleri CCM (SP800-38C), GCM (SP800-38D), CWC, EAX, IAPM, ve OCB'dir.
Çalışma kipleri günümüzde ulusal ve uluslararası standart kuruluşları tarafından tanımlanmaktadır. Bunların başında NIST gelmektedir. Diğer önemli standart kuruluşları ISO, IEC, IEEE, ANSI, ve IETF'dir.

Hata yayılımı

Mesaj doğrulama kodları ve kimlik doğrulamalı şifrelemenin yaygın kullanımından önce çalışma kipleri için "hata yayılımı" özellikleri bir seçim kriteri olarak tartışılmıştır. Örneğin bir blokta meydana gelen hatanın ECB kipinde bir bloku, CBC kipinde ise iki bloku etkilemesi gibi.
Bazıları bu esnekliğin rastgele oluşan hatalara karşı arzu edilen bir koruma sağladığını, bazıları ise bu hata kurtarmanın kötü niyetli kişilerin yapabileceği mesajla oynama türevi saldırıları mümkün kılacağını savunmuştur.
Bununla birlikte, gerekli bütünlük koruma önlemleri alınırsa, bu tarz hatalar tüm mesajın kabul edilmemesine yol açacaktır.
Eğer rastgele hatalara karşı dayanıklılık isteniyorsa kapalı metin gönderilmeden önce hata düzeltme kodları kullanılmalıdır.

Diğer kipler ve kriptografik primitifler

Blok şifreler için birçok kip önerilmiştir. Bazıları kabul görmüş, hatta standartlaşmış ve kullanımdadır. Bazıları da güvensiz bulunmuştur ve kullanılmaması gerekir. Gizlilik, kimlik doğrulamalı veya kimlik doğrulamalı şifreleme kategorilerine girmeyen Anahtar geribildirim kipi (KFM) ve AES-hash gibi örnekler de vardır.
NIST Modes Development).'da önerilmiş blok şifre kiplerinin bir listesini tutar.
Disk şifreleme sıklıkla amaca özel tasarlanmış kipler kullanır. Bükülebilir dar-blok şifreleme kipleri (LRW, XEX, ve XTS) ve geniş-blok şifreleme kipleri (CMC ve EME) disk sektörlerini güvenli bir şekilde şifrelemek için tasarlanmıştır. (Bkz. disk şifreleme teorisi)
Blok şifreler genellikle burada açıklanan blok şifre kiplerine benzer kiplerle diğer kriptografik protokollerde de kullanılır.
Bir blok şifreden kriptografik özet algoritması yapmak için çeşitli yöntemler vardır. Bunların açıklamaları için tek-yönlü sıkıştırma fonksiyonuna bakınız.
Blok şifrelerden Kriptografik olarak güvenli neredeyse-rassal sayı üreteçleri (CSPRNGs) yapılabilir.
Mesaj doğrulama kodları (MAC) genellikle blok şifrelerden üretilir. CBC-MAC, OMAC ve PMAC bunlara örnektir.
Kimlik doğrulamalı şifreleme bileşen olarak blok şifreleri kullanır. Bu kipler gizlilik ve kimlik doğrulamayı aynı anda sağlar. IAPM, CCM, CWC, EAX, GCM ve OCB gibi örnekleri mevcuttur.