Yukarıdaki kavramları gördüğümüz zaman aklımıza şifrelerle alakalı bir şeyler geldiğinden eminiz. Bir şeyler şifrelenmiş, korunmuş ama nasıl? Bu iki kavramın siber güvenlik alanında bilgi güvenliği amaçlı olarak kullanıldığını söyleyebiliriz. İkisi de her ne kadar birbirine benziyor gibi görünse de, basit bir noktada birbirlerinden ayrılıyorlar. Her iki kavram için bilmeniz gerekenleri ve arasındaki farkları ise yazımızın devamında okuyabilirsiniz. 

Encyription ve Hashing arasındaki temel farklılık şifreleme şekilleridir. Hashing tek taraflı şifreleme işlemine karşılık gelirken, söz konusu kavram Encyription olduğunda çift taraflı bir şifrelemeden bahsedildiğini söyleyebiliriz. Encyrition bu açıdan değerlendirildiğinde daha geniş bir kavramı karşılamaktadır.

Encyription Nedir? 

Türkçe olarak çevirisini yaptığımız Encyription kelimesinin 'Şifrelemeye' karşılık geldiğini görebiliriz. Şifrelemenin temel amacı bir bilgiyi bir yere gönderirken kötü niyetli kişilerden saklamak ve aynı zamanda karşı tarafa da bilgiyi doğru bir şekilde ulaştırmaktır. Bu nedenle bilgi şifrelenir, gönderilir ve şifresi çözülerek aynı metin tekrar elde edilir. Yani çift taraflı bir şifreleme söz konusudur. Encyription'da metnin korunması ve aynı şekilde geri döndürülmesi oldukça önemlidir. 

Yukarıdaki resimden de görebileceğimiz gibi, şifreleme işleminde gönderici olan taraf açık metni ilk olarak Public Key olarak adlandırılan bir şifreleme metodu ile şifrelenmiş metin haline dönüştürür ve bu işleme Encyription denir. Bu aşamdan sonra ise yerine güvenle ulaşan metin için Decyription adı verilen şifreyi çözme aşaması başlar. Şifreli metinle birlikte karşı tarafa iletilen Private Key sayesinde mesajı alan kişi, şifreli metni tekrar anlamlı hale getirir. Bu şifreleme işleminde keylerin gizli olması, metinin güvenli kalması açısından da önem taşımaktadır. 

RSA ve AES ise en çok kullanılan şifreleme yöntemlerine örnek olarak verilebilir. 

Hashing Nedir? 

Şimdi bir diğer kavramımız olan 'Hash Alma'nın tam olarak hangi işlemleri kapsadığına geçelim. 'Geri dönüşü ve çözülmesi imkansız çıktılar' anlamına gelen Hash işleminde şifrelenen şeyin sonradan kendi gerçek haline döndürülmesi hiç önemli değildir. Hash işlemi bu özelliğinden dolayı genellikle gönderilen şifreli şey, geri döndüğü zaman değiştirilmiş mi diye karşılaştırmak için kullanılır. Bu durumu örneklendirerek daha anlaşılabilir olmasına yardımcı olalım. 

Elinizde büyük bir veri olduğunu düşünelim. Hem de baya büyük bir veri. Ve bu büyük veri yapılarından da milyonlarcasına sahipsiniz. Farz edelim ki büyük bir banka olarak kullanıcılarınız kimlik bilgilerini, hesap detaylarını, hesap bilgilerini ve daha birçok bilgiyi tutarak her kullanıcı için büyük bir veri tipi oluşturdunuz. Ancak bankada bir sıkıntı oldu ve verilerinizde tekrar durumu söz konusu. Sizde tüm bu büyük verileri kendi içerisinde karşılaştırarak çakışmaları bulmayı hedefliyorsunuz ancak böylesi büyük bir veriyi hızlı bir şekilde karşılaştırarak size istediğiniz sonuçları verebilecek herhangi bir program yok. O zaman yapabileceğiniz şey hashing algoritmalarını kullanarak verilerinizi 'özet' birer yapı haline dönüştürüp karşılaştırmak olabilir. Bu sayede verileri hem daha hızlı karşılaştırır hem de şifreli olduğu için güvenliğini sağlmış olursunuz. 

Elbette hash yöntemleri yalnızca karşılaştırma işlemlerinde kullanılmaz. Bir veriyi kendi alanınızdan başka biriyle paylaştığınız zaman size geri döndüğünde aynı şekilde geri dönecek mi diye de hash algoritmalarından faydalanabilirsiniz.

Örneğin siteniz üzerinden bir dosyayı sitenizin kullanıcıları için indirmeye açık duruma getirdiniz. Bu dosyayı hashleyerek saklamanız gerekecektir. Eğer isterseniz kendi dijital imzanızı da ekleyebilirsiniz. Hashlenerek indirmeye hazır bekleyen bu dosyayı, kullanıcı olan kişi indirme tuşuna bastıktan sonra tarayıcı dosyayı ve hash yapısını incelemeye başlar. Eğer tarayıcı, sizin hashlediğiniz değerle aynı sonuca ulaşırsa dosyanın değiştirilmediğini ve sizin tarafınızdan yüklenen doğru dosya olduğunu onaylarak kullanıcı olan kişinin bilgisayarını indirmeyi başlatır. Bu sayede hashlenerek yüklenen bir değer, tekrar hashlendiğinde aynı sonucu verdiği için doğruluğu kontrol edilmiş olur. Eğer tarayıcı aynı hashleme işlemlerini yaptıktan sonra yükleme sekmesindeki değerden farklı bir sonuç bulmuş olsaydı, bu dosyaya kötü amaçlı olarak başka bir değer eklendiğini söyleyebilirdik. Bu da bilgisayarınız için tehdit edici bir durum olurdu. 

En çok kullanılan Hashing yöntemleri arasında simetrik anahtar kullanan MD ve veri güvenliği için kullanılan SHA örnek olarak gösterilebilir. 

Encyription ve Hashing Arasındaki Farklar Nelerdir?

  • Encyription, dilimize 'şifreleme' olarak çevirilebilir ve Hashing'e göre daha genel bir durumu karşılar. 
  • Encyription'da şifrelenen metnin geri döndürülmesi oldukça önemlidir. Ancak Hashing'te şifrelenen metnin geri döndürülmesi gerekmez. 
  • Encyription Two Way Funciton olarak çalışır. Yani çift taraflıdır. Hashing ise, One Way Function olarak çalıştırılmaktadır. 
  • Encyription işlemlerinde önemli olan bilgidir. Hashing işlemlerinde ise önemli olan o bilgiye bir şeyler olup olmadığıdır. 
  • Şifreleme alanında Salt olarak bilinen tuzlama yöntemi Hashing sistemine aittir. Encyription'da genel olarak tuzlama kullanılmaz.