Yazan : Mine Bilgiç

Hasty Pudding Cipher değişken uzunluklu bir blok şifreleme yöntemidir. Blok uzunluğu herhangi büyüklükte bit olabilir. Kesirli bit değerlerine bile izin verilmiştir. Şifrelenecek herhangi bir metin genişletme olmaksızın şifrelenebilir. Tarihler, ASCII’nin yazılı altkümeleri veya 20 bitlik asal sayılar kendilerine şifrelenir.

Anahtar uzunluğu herhangi bir bit sayısında olabilir.

Hasty Pudding Cipher ‘ın Spice(tuz bilgisi) adı verilen 516 bit’lik bir ikincil anahtarı vardır. Spice bir yönergeye göre değişir. Spice isteğe bağlı olarak saklı tutulabilir.

Hasty Pudding Cipher hızlıdır ve 300MHz DEC Alpha üzerinde 512-bit bloklarda saniyede 247 megabit’e ulaşır.

Hasty Pudding Cipher umumidir ve bilindik bir patent engellemesi yoktur.

HASTY PUDDING CIPHER’A GENEL BAKIŞ

Tasarlayan: Rich Schroeppel

Yayınlanma tarihi: 1998

Beş ayrı alt-şifre

HPC-Tiny 0 – 35 bits
HPC-Short 36 – 64 bits
HPC-Medium 65 – 128 bits
HPC-Long 129 – 512 bits
HPC-Extended 513+ bits

Temel işlemler

Bütün bunlar 64 bit kelimedir ve mod 64’te çalışır. Kaydırma işlemi işaretsizdir ve yerine 0 doldurulur.

ANAHTAR GENİŞLETME (KEY EXPANSION)

Beş adet anahtar genişletme tablosu vardır ve her biri bir alt-şifre içindir. Her tablo 64-bit içerikli 256 tane kelimeden oluşur. Tabloları oluşturmakta kullanılan kod her alt-şifre için aynıdır. Tablo başlatma, tamamen farklı genişletme dizileri üreten alt-şifre numarasına bağlıdır.

Anahtar şifreleme sürecinin üç adet girdisi bulunur:

1)Anahtar

2)Alt-şifre numarası(1’den 5’e)

3)Anahtar uzunluklarının düşük 64 bit’i

Bir uygulama bütün beş şifreleme için aynı anahtarı kullanabilir. Bu durumda,orta uzunluk(medium lenght) için olan tablo kullanılır. Bu yanında birtakım riskleri de getirir, bu beş şifrelemeden biri kırılırsa ve diğerleri de kırılabilir.

MODLAR

Hasty Pudding Cipher bir blok şifreleme yöntemi olduğundan,her zamanki blok şifreleme modlarının hepsinde kullanılabilir.

Tuz bilgisi(spice), CBC(Şifre Blok Zincirlemesi) modunun bütün avantajlarını ve paralel şifreleme gibi nadir avantajlarını dahi sunar.

Hasty Pudding tuz bilgisini sıfırdan başlatarak ve her parça şifrelenirken tuz bilgisini arttırarak akış şifrelemesini taklit etmek için kullanılabilir.

Bu modun verimliliği bit’ler için zayıftır, ama byte’lar için kısmen daha iyidir.64-bit kelimeler için kullanmak daha mantıklıdır.

Eğer bir “rastgele” bit akışı gerekliyse, o zaman herhangi uygun boyutta bir tamsayı iş görür.

Hasty Pudding’in uygulamaları çoklu şifreleme modu seçeneğini içermelidir.

Makinanın hız sorunu veya şifre analizinin tek bir moda daha az güvenlik sağlıyor olma durumlarında, ikili veya üçlü şifreleme modu kullanılabilir.

TUZ BİLGİSİ

Her blok tuz bilgisi adı verilen özel bir katlı ile şifrelenir. Bu DES için kullanılan initial vector(ilave anahtar)’a benzer, bunda saklı tutulmak zorunda değildir ve iki eş şifrelenmemiş metin bloğunun şifreli metin halinin aynı olmamasını garanti eder.

Tuz bilgisinin kullanılması zorunlu değildir, ama kullanılırsa CBC(Şifre Blok Zincirlemesi) modunun yaygın saldırısı olan “block splicing attack” a karşı korunma sağlar.

Ayrıca tuz bilgisi birkaç bloğun paralel şifrelenmesine imkan sağlar, bu CBC(Şifre Blok Zincirlemesi)‘nin önlediği bir yetenek. CBC(Şifre Blok Zincirlemesi) ve Hasty Pudding tuz bilgisi ile paralel şifre çözme yapabilir.

Block splicing bir problem teşkil etmez çünkü şifreli metini bir yerden bir yere taşımak rastgele olarak şifrenin çözülmesine neden olur .

Tuz bilgisi daha az kelimelere kısaltılabilir,ya da daha fazla hız için tamamen silinebilir. Tuz bilgisinin kullanılmayan bölümleri 0 olarak değerlendirilir.

GÜVENLİK ANALİZİ

Richard Schroeppel 400 bit’lik bir güvenlik sağladığını iddia etmiştir. Bu bir saldırının başarıya ulaşması için 2400 deneme yapılması anlamına gelmektedir. Bu iddia her şifreleme için gereken anahtar genişletme tablolarının miktarına bağlıdır.

Beş ayrı 64 bitlik 256 kelimeden oluşan anahtar genişletme tablosu(KX) kullanılır.

Her alt-şifrelemenin ayrı bir anahtar genişletme tablosu olduğundan dolayı, birinin kırılması diğer alt-şifrelemeleri etkilemez. Bir saldırgan anahtar genişletme tablosunu öğrense bile onu geri çalıştırıp orijinal anahtara ulaşamaz.

Tek bitler için; sıfır’ın şifrelemesini bilmek, bir tanesinin ve tersinin şifrelemesini bilmek anlamına gelmektedir.

B büyüklüğünde blokların 2B-1 değerleri saldırgan tarafından öğrenilirse, tanımlı permütasyonun eşliğinde olduğu gibi son değer belirlenebilir.

Hasty Pudding’in kullandığı adım bitlerin çoğunu karıştırır. Tek bir bitin değişmesi 2 veya daha çok bitin değişmesine neden olur. Dokuz adımdan sonra tek bir bitin değişmesi 29 bitin durumunu etkiler. Bunlar anahtar genişletme tablolarının aramalarını ve değişken kaydırmaları içerir.

Şifreleme hem doğrusal hem de doğrusal olmayan işlemleri içerir: xor ve toplama/çıkarma.

Son olarak, bitlerin bitişik koleksiyonlarının bozuk olması gerekir. Bu kelimelerin parçaları biter geçiş sırasında sonlarının düşmesine izin vererek yapılır.

Durum bilgisi kelimeden diğer kelimeye doğru akar; üç adımda ise tam bir kelime ve diğer kelimeleri içeren grafiği çıkarma olanağı tanır.

İlk şifrelenmemiş metnin(veya son şifreli metnin)tamamen hiçbir şey öğrenilmeyecek durumunda tuz bilgisi karıştırılır. Eğer saldırgan bir şekilde ilk durumu öğrenir (veya tahmin ederse) ve tuz bilgisini iptal etmek için değiştirmeye kalkarsa, öteki tuz bilgisini kullananlar bu teşebbüsü güçleştirir ve saldırganın tuz bilgisini bulma girişimlerine engel olurlar.

Eğer saldırgan anahtar genişletme tablosu dizilerinin çoğunu tahmin edebilirse, o zaman bilinen şifrelenmemiş metin-şifreli metin ikilileri diziyi doldurur.

Tuz bilgisini değiştirmek bu saldırıyı oldukça körleştirecektir.

Eğer tuz bilgisi değerlerini kullanmış olan 16384 bitlik şifrelenmemiş metin-şifreli metin ikilisi biliniyorsa, o zaman teoride anahtar genişletme tablosu belirlenebilir.

Eğer tuz bilgisi sabitse ama bilinmiyorsa, (teoride) 16896 bit anahtar genişletme tablosunu ve tuz bilgisini belirler.

Sonsuz boyutta anahtarın olmasına izin verilmesine rağmen, aslında sadece 216384 belli anahtar vardır. (eğer beş tablo göz önünde bulundurulursa 81920 bitlik anahtar olur.)

Anahtar genişletme tablosunun şifreleme tanımlamasında pseudorandom işlemiyle üretilmesi ve direkt olarak kullanıcının girmemesi önemlidir.

Genişletilmiş anahtardaki ufak bir değişimin şifreli metinde herhangi bir etkisi olmayabilir. Bir saldırgan hangi anahtar kelimelerinin kullanıldığını tahmin etme ve tuz bilgisini değiştirim çözme girişiminde bulunabilir.

İLERİ ÇALIŞMA

Hasty Pudding saldırı girişimlerinde birkaç sonuç alınabilmiştir. Advanced Encryption Standard (AES)’larında David Wagner Hasty Pudding’in oldukça büyük sınıflarında anahtarların aynı anahtar tablosunu oluşturduğunu tespit etmiştir. Bu saldırının sonucunda Schroeppel anahtar genişletme tablosu algoritmasına fazladan bir adım daha ekleyerek modifiye etmiştir.

Araştırma raporlarında Hasty Pudding Cipher zor anlaşılr tasarımı ve criptoanalizinin kısıtlı olmasıyla eleştirilmiştir. Schroeppel Hasty Pudding Cipher’a saldırabilen en iyi on kişiye birer şişe Dom Pérignon champagne vermeyi önermiştir.

Hasty Pudding cipher ilk tweakable block cipher olarak bilinir.

KAYNAKÇA

http://en.wikipedia.org/wiki/Hasty_Pudding_Cipher

http://richard.schroeppel.name:8015/hpc/

http://www.princeton.edu/~rblee/HPC/tsld001.htm

Bir cevap yazın

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