Yazan : Şadi Evren ŞEKER
Bu şifreleme yöntemi genelde blok şifreleme (block cipher) için kullanılsa da farklı şifrelem yöntemlerinin de çıkmasını sağlamıştır. Yöntem aslında mükemmelinde tekrar etmeyen bir sayı üretecine dayanmaktadır. Yani matematiksel olarak bir fonksiyon sürekli sayı üretmekte ancak bu üretilen sayılar kendini tekrar etmemektedir. Ancak bu şekildeki fonksiyonun da ürettiği sayıların mümkün olduğunca rastgele olması ve önceden kestirilemez olması istenir.
Yukarıdaki fonksiyon tanımının ilk kısmına uyan sayı kümesini bulmak oldukça kolaydır. Örneğin kardinal sayıların (cardinal numbers) tamamı bu koşulu sağlar. (en basitinden ardışık sayılar kümesi). Ancak ikinci kısmı da sağlayan bir fonksiyon bulunması mümkün değildir.
Bu iki koşulu da tam sağlamayan ancak oldukça kullanışlı olan adi rastgele (pseudo random) fonksiyonları bu şifreleme örneği için kullanacağımızı düşünelim. Bu durumda her açık blok farklı bir sayıcı ile şifrelenecek ve sonuçta şifrelenen mesaj ancak ve ancak aynı sayıcının üretilmesi ile elde edilecektir.
Bu durum aşağıdaki şekilde gösterilmiştir:
Şifreleme sırasında çıktı geri besleme (output feedback mode OFB ) kullanılmıştır. Bu yöntemin benzeri olarak, diğer blok şifreleme şekilleri kullanılabilir. CTR şeklinin özelliği başlangıç vektörü (initialization vector) yerine sayaç değerlerinin gelmesidir.
Sayaç değerinin şifreleme algoritmasından çıkmış hali, açık mesajın ilgili bloğu ile yahutlanır (xor) ve sonuç şifreli mesajın ilgili bloğu olur.
Yukarıdaki şekilde şifrelenen mesajın açılması için aşağıdaki yöntem izlenebilir:
Bu yöntemde gerek şifrelerken gerkese açarken şifreleme algoritması kullanılmaktadır.