İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

MD5 RFC nedir Nasıll olur Anlatım

18-03-2017 15:27
#1
Corciq65 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Mesajlar:
100
Teşekkür (Etti):
3
Teşekkür (Aldı):
15
Konular:
35
Ticaret:
(0) %
MD5 RFC'de de belirtildiği gibi
şifreleme algoritmalarına yardımcı
olmak amacıyla kullanılabilecek
bir HASHING / FINGERPRINTING
algoritmasıdır ve yalnızca 128-
bit'lik (16-bayt) bir çıktı üretir. Bu nerede kullanılır? Öncelikle bir
verinin (dosyanın) doğru transfer
edilip edilmediği veya değiştirilip
değiştirilmediğinin kontrol
edilmesinde. Örneğin CD ISO
dosyalarının çoğuz aman MD5 hash'leri de yanında verilir ve
700MB'lık bir transferin ardından bu
değerin kendi hesapladığımızla
aynı olmasını umarız Bir diğer
kullanımı da public-key
şifrelemededir. Public-key şifreleme (asimetrik), simetrik
şifrelemeye göre çok çok (ve çok)
daha fazla hesap gücü ve zaman
gerektirdiğinden Public-key
sistemlerde bile aslında Simetrik
standart şifreleme kullanılır (Asimetrik public key ile). Daha
sonra veri MD5 gibi bir hash'ten
geçirilir ve bu kısa hash değeri asıl
olarak asimetrik şifreleme ile
şifrelenir. Bu sayede performans ile
güvenlik arasında bir denge sağlanmış olur
Bunlara ek olarak md5 i daha
detaylı anlatırsak.
Bir database management
tekniğidir. Yani eldeki key
kullanılarak şak die bulunur veri'nin konumu. hash fonksiyonu
veri'nin bazı matematiksel
özellikler kullanılarak - mesela
harflerinin ordinal değeri ve
kelimedeki yerleri - bir key üretir
bu key sayesinde konum belli olur. bu fonksiyon belirli miktarlarda
veri için hash table'da verileri ne
kadar homojen dağıtabiliyosa o
kadar iyidir. diğer önemli nokta
collisionlardır. çakışma olduğunda
yani aynı key'e sahip iki veri olduunda lineer probing, quadratic
probing ya da double hashing
olaylarından bir tanesi kullanılarak
çakışan verinin yeni lokasyonu
bulunur. lineer probing de veri hash
tableda hemen bir sonraki lokasyona yerleştirilir, double
probingde de lokasyonun nümerik
karesi alınarak koyulucak yeni
lokasyon bulunur, double
hashingde de iki hash functionı içiçe
kullanılarak keylerin daha da unique olması sağlanır. eğer belli
bölgelerde birikme olmuşsa
bunlara da cluster denir, en birinci
amaç bunu önlemektir zaten
probing olayında. ayrıca hash
table'ın büyüklüğünün asal sayı olması tercih edilmelidir, özellikle
quadratic probingde, bu sayede
homojen bir probing sağlanır.
MD5'in kırılması olayına gelince.
Söz konusu olan bir HASH
algoritması olduğuna göre 'kırmak' demek aynı HASH değerini üreten
'aynı' ya da 'başka' bir veri dizisi
bulmak demektir. Aynı 128-bitlik
hash değerini üreten binlerce
(gerçekte sonsuz!) veri vardır.
Örnekteki 17645312 parolası 98b011d88c9ae33766814dcc76ad7
b5c HASH değerine eşitlenmekte.
Ancak örneğin (atıyorum)
9831332123 parolası da aynı HASH
değerini verebilir, ve daha
binlercesi.... MD5 aynı HASH değerini veren iki ya da daha fazla
girdinin makul süreler içinde
bulunamayacağı noktasından
hareket ediyordu. Fakat
günümüzde özellikle girdi verisi
kısa ise (örneğin parolalar gibi) bu süre son derece kısaldığından
MD5'in de güvenilirliği azalmıştır.
9 haneli sadece rakamdan oluşan
bir şifrenin kırılması ortalama 5
dakika almaktadır p4 2.4 gibi bir
sistemde o yüzden şifreniz uzun ve harf kombinasyonu içersin.
5465siU4 gibi
md5 tek yönlü bir algoritmadır yani
sizin şifreniz.
abc olsun bunun md5 li hali 32
karekterli bi yapı oluşturur 900150983CD24FB0D6963F7D28E17
F72
eğer şifreniz ABc olsaydı bu yapı
4C36FA32C9D93A002C3E14CE038AA
709 olurdu
md5 in geri dönüşümü yoktur şifrenizi forumda unuttuysanız
yönetici bu şifreyi hiç bir şekilde
geri dönüştüremez link i kullanarak
yeni şifre üretebilirsiniz
MIT’de prof. olan Ron RIVEST
tarafından MD4’ün geliştirilmiş bir versiyonu olarak sunulan md
5(Message Digest),
basit anlamda bir hash
fonksiyonudur. 1993 yılında Bert
DEN BOER ve Antoon BOSSELAERS
md5’in iki farklı değeri için aynı değeri üreten örnekler
bulmuşlardır. Bu yüzden md5’e olan
güven oldukça sarsılmıştır. 2004
yılında
md5CRK adında dağınık bir proje ile
md5’in zaafı ve zayıf yönleri belgelenmiştir.
Md5 genelde ücretsiz olarak
dağıtılan yazılımlarda bilgilerinin
doğruluğunu test etmek için
kullanılır. Md5’in bu şekilde
kullanıldığı durumlarda md5Sum olarakda adlandırılmaktadır.
Örneğin, İnternet üzerinden
indirdiğiniz
bir dosyanın bozulmadan
kullanıcıya ulaştığını tesbit
edebilmek için kullanılır. Microsoft .NET Framework’te md5,
kendisi gibi soyut bir sınıf olan
HashAlgoritm sınıfından türeyen
md5 sınıfı ile tanımlanmıştır.
md5CryptoServiceProvider md5
algoritmasını gerçekleyen sınıftır. Microsoft .NET Framework’te, md5
algoritması için hash boyutu 128
bittir.
Md5CryptoServiceProvider sınıfı
md5 soyut sınıfından türemektedir.
Md5 soyut sınıfının erişilebilir özellikleri şu şekilde tanımlanır;
* CanReuseTransform, şu an ki
dönüşüm tekrar kullanılıp
kullanılmayacağını
belirtir,varsayılan değeri true’dur.
* CanTransformMultipleBlocks, aynı anda bir çok veri bloğunun
dönüştürülüp
dönüştürülemeyeceğini belirtir,
varsayılan
değeri true’dur.
* Hash, hesaplanan hash değerini verir.
* HashSize, hesaplanan hash
değerinin bit olarak büyüklüğünü
gösterir. Varsayılan değeri 128
bittir.
* InputBlockSize, kullanılan veri bloğunun bit olarak büyüklüğünü
gösterir. Varsayılan değeri 1 bittir.
* OutputBlockSize, algoritma
sonunda oluşacak veri bloğunun bit
olarak büyüklüğünü gösterir.
Varsayılan değeri 1 bittir. Bu sınıfın erişilebilir metotları ise
şunlardır;
* Clear, md5 algoritması tarafından
kullanılan kaynakları sisteme geri
yükler.
* ComputeHash, kullanılan veri bloğu için hash değerini hesaplar.
* Create, md5 algoritmasını
gerçekleştirecek bir nesne üretir.
* Equals, iki nesnenin birbirine eşit
olup olmadığını kontrol eder.
* GetHashCode, bellekteki o nesneye özgü bir hash kodu üretir.
* GetType, bu nesnenin tipini verir.
* Initialize, md5 nesnesinin ilk
değerlerini ayarlar.
* ToString, şu an ki nesneyi ifade
eden bir metin oluşturur. * TransformBlock, belirtilen veri
bloğundaki belirtilen alan için hash
değerini hesaplar ve belirtilen
sonuç veri bloğunun belirtilen
alanına hesaplanan bu hash
değerini kopyalar. * TransformFinalBlock, belirtilen
byte dizisindeki belirtilen alan için
hash değerini hesaplar.
Md5CryptoServiceProvider, md5
sınıfından türer ve md5
algoritmasını gerçeklemektedir. md5CryptoServiceProvider mühürlü
bir sınıftır. Mühürlü sınıf, hiç bir
sınıfın kendisinden
türetilemeyeceğini ifade eder. Bu
sınıfın erişebilir özellikleri
şunlardır; * CanReuseTransform, şu an ki
dönüşüm tekrar kullanılıp
kullanılmayacağını
belirtir,varsayılan değeri true’dur.
* CanTransformMultipleBlocks, aynı
anda bir çok veri bloğunun dönüştürülüp
dönüştürülemeyeceğini belirtir,
varsayılan değeri
true’dur.
* Hash, hesaplanan hash değerini
verir. * HashSize, hesaplanan hash
değerinin bit olarak büyüklüğünü
gösterir. Varsayılan değeri 128
bittir.
* InputBlockSize, kullanılan veri
bloğunun bit olarak büyüklüğünü gösterir. Varsayılan değeri 1 bittir.
* OutputBlockSize, algoritma
sonunda oluşacak veri bloğunun bit
olarak büyüklüğünü gösterir.
Varsayılan değeri 1 bittir.
Bu sınıfın erişilebilir metotları ise şunlardır:
* Clear, md5 algoritması tarafından
kullanılan kaynakları sisteme geri
verir.
* ComputeHash, kullanılan veri
bloğu için hash değerini hesaplar. * Create, md5 algoritmasını
gerçekleştirecek bir nesne
oluşturur.
* Equals, iki nesnenin birbirine eşit
olup olmadığını test eder.
* GetHashCode, bellekteki o nesneye özgü bir hash kodu
oluşturur.
* GetType, bu nesnenin tipini verir.
* Initialize, md5 nesnesinin ilk
değerlerini ayarlar.
* ToString, şu an ki nesneyi ifade eden bir metin oluşturur.
* TransformBlock, belirtilen veri
bloğundaki belirtilen alan için hash
değerini hesaplar ve belirtilen
sonuç veri bloğunun
belirtilen alanına hesaplanan bu hash değerini kopyalar.
* TransformFinalBlock, belirtilen
byte dizisindeki belirtilen alan için
hash değerini hesaplar.
Kaynak: Microsoft.Ne







BİR TEŞEKKÜRÜ HAK ETTİM EDERSENİZ MEMNUN KALIRIM...:inv:inv:inv
Kullanıcı İmzası
///$BİR VARIZ$//////$BİR YOKUZ$///


ABRACADABRA


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı