Yazan : Gaye Aygör

Serpent şifreleme Advanced Encryption Standard yarışmasında finale kalmış bir blok şifreleme yöntemidir. Ross Anderson, Eli Biham ve Lars Knudsen tarafından tasarlanmıştır.

Serpent şifreleme temel olarak DES’e benzer; diğer algoritmalarla aynı tipte ve değişkenler temelde son derece anlaşılır bir yapıya sahiptir. Blok uzunluğu 128 bit anahtar uzunluğu ise 128, 192 ve 256 bit olarak değişebilmektedir. Şifre 32 bitlik 4 adet kelimenin üzerinde 32 sefer dönüştürme ve permütasyon işlemlerinin uygulanması ile oluşur. Her seferde sekiz adet 4 bitliklerin biri, 4 bitlik S kutularına 32 kez paralel olarak uygulanır. Serpent, 32 adet 1 bitlik dilimler kullanılarak tüm işlemlerin paralel olarak gerçekleştirilebilmesi için tasarlanmıştır. Bu paralelizmi maksimum seviyeye ulaştırır fakat aynı zamanda DES üzerinde kapsamlı olarak şifre çözme işleminin gerçekleştirilmesini sağlar.

Serpent diğer şifreleme yöntemlerine göre güvenliğe karşı daha dikkatli bir tasarım gerçekleştirdi. Tasarımcılar bilinen saldırı yöntemlerine karşı 16 tur şifrelemenin yeterli olduğunu öngördüler fakat ileride geliştirilebilecek yeni saldırı yöntemlerinden korunmak için 32 tur şifrelemede karar kıldılar.

Serpent şifreleme patenti alınmamış bir şifreleme yöntemi; bu nedenle de herkes tarafından kullanılabilir. Lisans ücreti ödemeksizin herkes bu şifreleme yöntemini kendi yazılımlarında kullanabilir.


Serpent’in doğrusal karıştırma evresi

Tasarımcılar

Ross Anderson, Eli Biham ve Lars Knudsen

İlk Yayınlandığı Tarih

21.08.1998

Çıkarımı

Kare

Sertifika

AES finalisti

Anahtar Uzunluğu

128, 192 veya 256 bit

Blok Uzunluğu

128 bit

Yapı

Dönüştürme – Permütasyon Ağı

Tur Sayısı

32

Performans

Serpent 32 bit işlemcilerde “bit-slice” uygulamalarına imkan sağlamak için dizayn edilmiştir. Assembly dilinde Serpent şifreleme DES uygulamasından daha yavaştır.(45 saat/byte) ROM ayak izi çok küçüktür. Serpent üzerindeki fly-key programı çok düşük RAM kullanımına izin verir. Donanım açısından ise Serpent donanımı çok makul şekilde tamamlar. Değiş tokuş uygulamasını çok iyi oluşturur. Tam paralel versiyonu toplam 256 S-kutusu gerektirir.

Serpent’in hızı anahtar uzunluğuna bağlı değildir. Yazılım açısından bakıldığında Serpent Assembly dili performansına yakın olan C kodu üretmeye yakındır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir