Simetrik ve Asimetrik Kripto

Bu makalemizde günümüzde kullanılan digital imza, key paylaşımı, şifreleme algoritmaları gibi hususları işleyeceğiz.

Selam arkadaşlar,

Bu dersimizde sizlerle birlikte simetrik ve asimetrik şifrelemeleri kullanmayı öğreneceğiz..

Simetrik şifreleme ve Asimetrik şifreleme nedir?

Simetrik (symmetric) şifreleme günümüzde en çok kullanılan ve çok hızlı çalışan şifreleme algoritmasıdır. Büyük projelerde genelde bu şifreleme algoritması kullanılır.

Asimetrik (asymmetric) şifreleme nedir?

Asimetrik şifreleme de anahtar paylaşımı olan sistemlerde kullanılır. 1024 byte şifreleme ile oluşur, fakat simetrik şifreleme ile aynı hızda olmadığı için ve public bir değer aldığı için genelde simetrik şifreleme kullanılır. Asimetrik şifreleme nerde kullanılır diye sorarsanız; Digital imza, anahtar (key) paylaşımı olan sistemlerde kullanılır.

Şimdi bir örnek ile makalemizi daha anlaşılır hale getirelim..

Yeni bir Windows form application açtıktan sonra bir button eklememiz yeterli olacaktır. Button'umuzun altına ekleyeceğimiz kodları BreakPoint koyarak F11 ile derleyeceğiz ve çıkan sonuçları hep beraber göreceğiz.

Button click altına aşağıdaki kodları ekleyelim.


private void button1_Click(object sender, EventArgs e)

        {



            DESCryptoServiceProvider saglayici = new DESCryptoServiceProvider();

            saglayici .GenerateIV();

            saglayici .GenerateKey();



            byte[] anahkatar = provider.Key; // derledikten sonra mouse unuzu anahtar değişkenimizin üstüne götürerek 8 bitlik şifremizi göreceğiz

            byte[] IVector = provider.IV; // derledikten sonra mouse unuzu anahtar değişkenimizin üstüne götürerek 8 bitlik şifremizi göreceğiz





            TripleDESCryptoServiceProvider sifre_servis_saglayici = new TripleDESCryptoServiceProvider();

            sifre_servis_saglayici .GenerateIV();

            sifre_servis_saglayici .GenerateKey();



            byte[] anahtar1= providertripledes.Key; // derledikten sonra mouse unuzu anahtar değişkenimizin üstüne götürerek 24 bitlik şifremizi göreceğiz

            byte[] IVector1 = providertripledes.IV // derledikten sonra mouse unuzu anahtar değişkenimizin üstüne götürerek 8 bitlik şifremizi göreceğiz

            

        }



Evet arkadaşlar, simetrik şifrelemeyi gördük.

Şimdi asimetrik şifrelemeyi görelim.


private void button1_Click(object sender, EventArgs e)

        {

            RSACryptoServiceProvider sifre_servis_saglayici = new RSACryptoServiceProvider();

            string anahtar_bilgisi = sifre_servis_saglayici .ToXmlString(false); // derledikten sonra mouse umuzu anahtar_bilgisi değişkenimizin üzerine götürdüğümüzde bize 1024 bitlik bir şifre üretecek.

        }



Asimetrik şifrelemenin de normal bir zamanda kırılması mümkün değildir, fakat her iki şifreleme yöntemi kayıtlarda kırılmış olarak geçmektedir. Tabi ki bilgisayar ortamında kırılmayacak diye bir şey yoktur.

Bu makalemizinde sonuna geldik. Umarım yararlı olmuştur.

Bu makalemi ileri seviyedeki yazılımcı arkadaşlar için hazırladım.

İyi çalışmalar.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git