Uluslararası Veri Şifreleme Algoritması

Uluslararası Veri Şifreleme Algoritması, (IDEA) ( İngilizce: International Data Encryption Algorithm ) 1991 yılında Xuejia Lai ve James Massey tarafından tasarlanmış bir blok şifreleme algoritmasıdır. Bilinen en güçlü algoritmalardandır.[1][2]

IDEA, şifrelenecek olan 64 bitlik metin ve 128 bitlik anahtarı kullanarak 64 bitlik şifrelenmiş metni oluşturur. IDEA algoritması çeşitli matematiksel işlemlerin karışımından oluşmaktadır. Bu işlemler çarpma, toplama ve xor gibi matematiksel işlemlerdir.

IDEA şifreleme şemasında kullanılan anahtarların üretimi ve şifreleme – deşifreleme işlemleri aşağıdaki gibi yapılır.

Anahtar Üretimi

128 bit uzunluğunda K = k1 ... k128 kullanılarak 52 adet 16 bit uzunluğunda Ki(r) alt anahtar bloklarını elde edebilmek için;

1.) K1(1) ... K6(1) , K1(2) ... K6(2) , ... , K1(8) ... K6(8) , K1(9) ... K4(9) alt anahtar grupları sıralanır.

2.) K 8 adet 16 bit uzunluğunda bloğa ayrılarak ilk 8 alt anahtar olarak tanımlanırlar.

3.) K dairesel olarak 25 bit sola kaydırılır, sonuç 8 bloğa bölünerek yeni 8 alt anahtar yaratılmış olur. 52 alt anahtarın tümü yaratılıncaya kadar bu işleme devam edilir.

Şifreleme Algoritması

M=m1 ... m64 mesajını yukarıdaki algoritmayı kullanarak oluşturulan K = k1 ... k128 anahtarı ile şifrelemek için;

1.) ( X1, X2, X3, X4 ) ← ( m1 ... m16 , m17 ... m32 , m33... m48, m49... m64 )

2.) for r=1 to 8 do

     a.) X1 ← X1 ⊙ K1(r) ,   X4 ← X4⊙ K4(r) , X2 ← X2 ⊞ K2(r) ,  X3 ← X3 ⊞ K3(r) 
     
     b.) t0 ← K5(r)⊙ (X1  ⊕  X3 ),  t1← K6(r)⊙ (t0 ⊞ (X2 ⊕  X4 ) ),  t2 ← t0 ⊞ t1
 
     c.)  X1 ← X1 ⊕ t1 , X4 ← X4⊕ t2 ,  a ← X2 ⊕ t2 , X2 ← X3⊕ t1 , X3 ← a

3.) Y1 ← X1 ⊙ K1(9) , Y4← X4 ⊙ K4(9) , Y2 ← X3 ⊞ K2(9) , Y3 ← X2 ⊞ K3(9)

4.) Y=( Y1 , Y2 , Y3 , Y4 ) şifrelenmiş metni elde edilir.

Deşifreleme Algoritması

Şifreleme de uygulanan işlemlerin ters işlemleri uygulanarak aynı algoritma kullanılarak şifre çözümleme işlemi yapılabilmektedir.

K1(r) şifreleme alt anahtarlarından;

r. devir K'1(r) K'2(r) K'3(r) K'4(r) K'5(r) K'6(r)
r=1 (K1(10-r))-1 -K2(10-r) -K3(10-r) (K4(10-r))-1 K5(9-r) K6(9-r)
2<=r<=8 (K1(10-r))-1 -K3(10-r) -K2(10-r) (K4(10-r))-1 K5(9-r) K6(9-r)
r=9 (K1(10-r))-1 -K2(10-r) -K3(10-r) (K4(10-r))-1 ------- --------

yardımıyla elde edilecek olan K'i(r) alt anahtarları kullanılırsa deşifreleme işlemi gerçekleştirilmiş olur.

Avantajları

  1. Algoritmalar hızlıdır.
  2. Algoritmaların donanımla gerçeklenmesi kolaydır.
  3. "Gizlilik" güvenlik hizmetini yerine getirir.

Dezavantajları

  1. Ölçeklenebilir değil.
  2. Güvenli anahtar dağıtımı zor.
  3. "Bütünlük" ve "kimlik doğrulama" güvenlik hizmetlerini gerçeklemek zor.

Kaynakça

Dış bağlantılar

This article is issued from Vikipedi - version of the 7/9/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.