• 29 HAZİRAN 2020
  • Okunma Sayısı: 789

Ömer Numan ÖZDEMİR - Karaelmas Kriptoloji Takımı

Zonguldak Bülent Ecevit Üniversitesi - [email protected]

 

SİMGELER VE KISALTMALAR

SHA-1 Nedir ?


Açılımı Secure Hash Algorithm 1 olan SHA-1, NSA (National Security Agancy) tarafından ortaya konulmuştur. 2005’te yapılan saldırı sonrası SHA-1’in güvenli olmadığı ortaya çıkmıştır ve kullanıcıları SHA-2’ye yönlendirmiştir. Ronald L. Rivest tarafından tasarlanmış olan SHA-1 işleyiş ve tasarım bakımından MD4 ve MD5’e benzerlik göstermektedir. Farkları ise SHA-1 algoritmasının çakışma (Collisions) problemi konusunda deneme sayısının fazla olması ve SHA-1’in 160 bitlik özetler oluşturmasıdır. SHA-1 algoritması en fazla (264-1) değer alır ve bu değerlerle 160 bitlik özetlemeler üretir.

 


                              Şekil 1.1


A, B, C, D ve E 32’şer bitlik bilgi parçalardır. F ise başkalaştırmaya yol açacak lineer olmayan bir fonksiyondur. Görselde kullanılan değerler ve semboller , şekiller dizini sayfasında belirtilmiştir. Yukarıdaki şekli daha iyi tasvir edecek olursak;

F fonksiyonu,

F = ( B AND C ) OR ( B’ AND D )

F = B XOR C XOR D

F = ( B AND C ) OR ( B AND D ) OR ( C AND D )

F = B XOR C XOR D

Şeklinde aldığı 3 ayrı girdi değerinden bir çıktı üreten bir fonksiyondur. F fonksiyonunun yukarıda belirtilenlerden fonksiyonlara alternatif başka bir fonksiyon olarak da seçilmesi mümkündür. Pseudocode’da yukarıda belirtilen 4 ayrı f fonksiyonu 80 tura homojen olarak dağıtılacaktır.

Kt tur 80 turda homojen olarak 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, OxCA62C1D6 değerlerini almaktadır. Bu değerler 2, 3, 5 ve 10 ‘un karekök değerleridir.

SHA-1 Pseudocode Ön İzleme

Başlangıç durumundaki değişkenlerin ataması yapılır.

h0 = 0x67452301; ,

h1 = 0xEFCDAB89;

h2 = 0x98BADCFE;

h3 = 0x10325476;

h4 = 0xC3D2E1F0;

h0, h1, h2 ve h3 ilk değerleri MD5 özetleme algoritmasında kullanılan değerlerle aynıdır. h4’te benzer şekilde üretilir.

 Ön İşleme Aşaması

Özet değeri üretilecek mesaj 512 bitin katı olmadır. Şayet değilse uygulanacak padding işlemi ile önce mesaj 512 bitin katı olacak hale getirilir. Şifrelenme işlemi daha sonra gerçekleşir.

Örneğin, 64 bitlik bir mesajın özeti çıkarılmak istenilirse;

64 = -448 ( mod 512 ) olacağından orijinal mesajın ardına 448 bit veri ekleme işlemi gerçekleşir. Padding işlemi orijinal verinin ardından gelen ilk bit yerine 1 geri kalanlar 0 olacak şekilde gerçekleşir.

Mesaj 512’nin katı haline getirildikten sonra 512 bitlik bloklara bölünür. Her blok, 32 bitlik 16 ayrı parçaya ayrılır. 32 bitlik 16 parça, 32 bitlik 80 parça olacak şekilde genişletilir.


Pseudocode’un gerçek hali (Şadi Evren ŞEKER,2009).


Çakışmalar (Collisions) Problemi


Özetleme fonksiyonlarının çalışma şekilleri uzun bir mesajı daha kısa bir hale getirmektir. Bunlara modülo (mod) işlemi örnek gösterilebilir. Mesela 12,74,82,1,11 sayılarımız olsun bunlara mod10 işlemi yaparsak sırasıyla 2,4,2,1,1 sonucunu elde ederiz. Fark edildiği üzere 12 ve 82 ‘de sonuç 2 çıkmıştır aynı şekilde 1 ve 11 ‘de de sonuç aynı çıkmıştır. Bu probleme çakışma (collisions) denir. Özet fonksiyon algoritmalarının güvenliği çakışma sayısı ile ilgilidir. Çakışma sayısı ne kadar fazla ise algoritma o kadar zayıftır. Çakışmalar bit uzunlukları arttırılarak azaltılabilir.

SHA-2 Nedir ?

SHA-2 ‘de SHA-0 ve SHA-1 gibi NSA tarafından tasarlanmış kriptografik özetleme (hash) fonksiyonları algoritmasıdır. SHA-2 farklı 6 kriptografik hash algoritma seti barındırır. Bunlar SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 ve SHA-512/256 ‘dır. Ülkemizde E-İmza uygulamasında kullanılan bir kriptografik şifreleme algoritmasıdır. Aşağıdaki şekil 2.1 de diğer SHA algoritmaları ile aralarındaki fark gösterilmiştir.


                                                                   Şekil 2.1

Şekil 2.1 ‘de de gösterildiği gibi SHA-2 ailesindeki farklı özet algoritmalarının birbirlerinden çok fazla farkları yoktur. Algoritma çok benzer olduğu gibi farklı olan bit uzunlukları ve boyutlarıdır.


                                                   Şekil 2.2


Şekil 2.2 ‘de ki görselde SHA-2 özetleme fonksiyon algoritması gösterilmiştir. Bloklarda mantıksal operatörler kullanılmış ve şifreleme bu şekilde yapılmıştır.

KAYNAKÇA


http://bilgisayarkavramlari.sadievrenseker.com/2009/11/02/secure-hasing-algorithm-sha/
http://bilgisayarkavramlari.sadievrenseker.com/2008/05/26/ozetleme-fonksiyonlari-hash-function/
https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/08/sha1-%C5%9Fifreleme-metodu
https://haberazzi.com/nedirkim/sha-2-algoritmasi-nedir
https://tr.wikipedia.org/wiki/SHA-2
https://medium.com/@ahmetseyhan/sha-256-kriptografik-hash-algoritmas%C4%B1-294d13f0ca5d

Ömer Numan ÖZDEMİR - Karaelmas Kriptoloji Takımı

 

TÜM MAKALELER