Encoding vs. Encryption vs. Hashing vs. Obfuscation

Encoding / Encode nedir?

Encode işleminde veri farklı bir formatta dönüştürülür, yani şifreleme yapılmaz. Amaç, bilgiyi gizli tutmak değil, doğru bir şekilde tüketilebilmesini sağlamaktır.

Encode işleminde; verilerin kolayca geri döndürülebilmesi için halka açık bir şema kullanarak verileri başka bir biçime dönüştürür. Kod çözmek için gereken tek şey (decode), onu kodlamak için kullanılan algoritma olduğu için bir anahtar gerektirmez.

Örnekler:  ascii, unicode, URL Encoding, base64

Encoding and Decoding Base64 Strings in Python

Encryption nedir?

Şifrelemenin amacı, verileri başkalarından gizli tutmak, diğer bilgisayarlar tarafından okunmasını engellemek, hatta birisine sadece okuyabilmeleri için gizli bir mektup göndermek veya İnternet üzerinden güvenli bir şekilde şifre göndermek olarak tanımlanabilir.

Encrypt işlemi belli bir algoritmaya göre yapılır. Şifrelenmiş veriler bir anahtar yardımıyla okunabilir hale getirilebilir. Bu nedenle, chiphertext, algoritma ve anahtarın düz metne geri dönmesi gerekir.

Örnekler: aesblowfishrsa

Encryption Decryption Sample.png

Hashing nedir?

Verilerin tek yönlü şifrelenmesidir.
Aynı girdi her zaman aynı çıktıyı üretir.
Birden fazla farklı girdi aynı çıktıyı üretmemelidir.
Çıktıdan girdiye gitmek mümkün olmamalıdır.

Hashing, belirli bir mesajın değiştirilmediğine dair güçlü kanıtlar üretmek için kimlik doğrulama ile birlikte kullanılır. Bu, belirli bir girdiyi alarak, özetleyerek ve daha sonra hash değerini gönderenin özel anahtarıyla imzalayarak gerçekleştirilir.

Örnekler: sha-3md5

Oracle SHA-256 Hashing | Emrah METE

Obfuscation nedir?

Gizlemek (Obfuscation), genellikle saldırmayı veya kopyalamayı daha zor hale getirmek amacıyla, bir şeyi anlaşılmasını zorlaştırmaktır. Yani yapılma amacı güvenlik ve gizliliktir.

Örnekler: javascript obfuscatorproguard

Özetlersek;

Encoding, veri kullanılabilirliğini korumak içindir ve içeriği kodlayan aynı algoritma kullanılarak ters çevrilebilir, yani hiçbir anahtar kullanılmaz.

Encryption, veri gizliliğini korumak içindir ve düz metne dönmek için bir anahtar (gizli tutulur) kullanılmasını gerektirir.

Hashing, Verilerin tek yönlü şifrelenmesidir.

Obfuscation, insanların bir şeyin anlamını anlamasını önlemek için kullanılır ve bir ürünün işlevselliğinin başarılı bir şekilde tersine mühendislik ve / veya çalınmasını önlemeye yardımcı olmak için genellikle bilgisayar kodu ile birlikte kullanılır.

Abone ol
Bildir
guest
0 Yorum
Inline Feedbacks
Tüm yorumları görüntüle