Uygulamalı Matematik: Kriptoloji

Nedir bu şifre bilimi? Hacker mı oluyoruz diyenler için hemen açıklayalım; çeşitli iletilerinizin, yazılarınızın veyahut sembol bile olabilir bütün bunların belli bir sisteme göre şifrelenmesi, ve daha sonra bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifresiyle uğraşan harika bir bilim dalıdır.  Gizlilik, veri bütünlüğü, kimlik doğrulama gibi bilgi güvenliği problemlerine matematiksel teknikler kullanarak çözüm getirme ve bu çözümleri çürütme bilimidir.

İşin tarihsel boyutuna baktığımızda ilk kriptolog, 4000 yıl önce yaşamış Mısırlı bir kâtiptir. Efendisinin hayatını anlatırken hiyeroglifleri şifrelenmiş bir şekilde oluşturmuştu ve bazı hiyeroglifler daha önce hiç kullanılmamştı. (M.Ö 5. – 6. yüzyıl) askeri istihbaratta gizlilik gerekmesi nedeniyle, kriptografi askeri alana girdi. Askeri alandaki ilk kriptograflar Spartalılardır.

Bilindiği gibi kriptoloji şifre yazımıdır ve matematiğin bir uygulama alanıdır, bilgi güvenliği ile uğraşır. Kelimenin etimolojisine bakacak olursak; Yunanca gizli anlamına gelen “kriptos” ve yazı anlamına gelen “graphi” dan türetilmiştir. Günümüzde teknolojinin ilerlemesiyle kullanılan modern kriptografi, matematik, bilgisayar mühendisliği ve elektrik-elektronik mühendisliğinin harmanlanmasıyla oluşur. Hayatınızın her anında farkında olmadan kullanırsınız. Arabanızı binlerce arabanın içine parkettiğiniz de, elinizde tuttuğunuz o anahtardan tutun da, internetten yaptığınız “güvenli” alışverişe kadar, kullandığınız banka kartları (ATM) veya bilgisayarda kullandığınız şifreler hep kriptoloji biliminin bir uygulama alanıdır. Örneğin arabanızı bulmak için anahtarınızda Hitag-2 adında 48 bit dizi şifreleme algoritması kullanılır. Görmüş olduğunuz görselde Hitag-2 chip’i sayesinde binlerce arabanın içerisinden kendi arabanızı bulmanız yaklaşık 1 saniyeden az sürüyor. Üstelik bu Crypto-1 ve Hitag-2 şifreleme ilk kullanılan algoritmalardan.

Bahar 1

Kriptoloji algoritmaları tamamen matematiksel fonksiyonlardan oluşur. Bütün şifreleme algoritmaları temelde şifrelenecek verinin şifre anahtarı ile matematiksel (toplama, çarpma gibi) bir işleme sokulmasıdır. En bilinen ve en eski ilkel şifreleme yöntemi Sezar şifrelemedir. Bir diğer adıyla kaydırma şifrelemesi (Shift Cipher) de denmektedir. Örneğin şifrelemek istediğiniz metindeki her karakteri anahtara kadar kaydırmamızla metni şifreleriz (Encrypt). Deşifre etmek (şifreyi çözmek) içinse (Decrypt) anahtar kadar her karakteri geri kaydırırız.

Örnek mesajımız (plaintext) : matkafasi
Anahtar (Key): 7
Şifreli mesaj (Ciphertext): tharhmhzp

bahar 2

Elbette anahtarların tamamı denenerek şifreli metin kırılabilir. Kaba kuvvet (brute-force attack) saldırısıyla çok kolay çözülür. Çünkü şifreleme/şifre çözme yöntemi gizli değildir. İngilizce alfabesinde 26 harf bulunmaktadır bunun için 25 deneme ile teker teker şifreli metini deşifre etmeniz çok kolaydır. Anahtar uzayı 25 elemanlıdır. Harf değiştirme şifrelemelerinde toplam 26! farklı şifre tablosu vardır.
İletişim kurmak isteyen iki kişinin birbirlerine e-posta aracılığı ile ileti göndermesini göz önünde tutalım. Bu iletiler bir çok bilgisayardan geçmektedir. A kullanıcısından B kullanıcısına gittiğinde daha önce açılıp okunmadığını veya açılıp üstünde değişiklik yapmadığını bilemeyiz. Bu yüzden devreye kriptolama girmektedir. Kripto teknikleri genelde bu yazıyı daha önce hazırlanmış bir algoritma ile şifreli bir metin haline getirir. Tıpkı Sezar şifrelemede olduğu gibi. Günümüzde kriptolojinin güvenliğinden bahsedecek olursak algoritma bilinse dahi yazı metninin çözülmemesi gerekir. Burada da devreye açık anahtarlı kripto algoritmaları girmektedir. İki adet anahtar kullanılır. Bunlardan biri Public key (genel anahtar) ve bu herkesin görebileceği bir anahtardır. Bir diğeri ise gizli anahtar (Secret Key) bu da sadece yazının çözülmüş (deşifrelenmiş) halini elde etmeye yarayacak olan anahtardır. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır. Şu örnek daha iyi anlamamızı sağlayacak. Ev adresiniz sizin public key’iniz herkes bilebilir ve açık bir bilgidir. Gelen postacı ise mektuplarınızı kilitli olan posta kutunuza atıp gidiyor. Sizdeki posta kutusunun anahtarı ise secret key’inizdir sadece sizde bulunur. Yalnız sizin açma yetkiniz vardır. Biz buna asimetrik şifreleme sistemlerinden olan açık anahtarlı şifreleme yöntemi deriz. Sezar şifreleme ise simetrik şifrelemedir. Asimetrik şifreleme sistemlerinde her kullanıcı sadece kendi anahtarını gizli tutar. Bunun aksine (n) tane kullanıcının bulunduğu bir simetrik şifreleme sisteminde gizli tutulması gereken anahtar sayısı her kullanıcı için (n-1) tanedir. Bu da sistem için büyük bir depolama yükü oluşturur. Ayrıca simetrik sistemlerde anahtarların kesinlikle güvenli yollardan kullanıcılara ulaştırılması gerekmektedir. Örneğin değişik kıtalarda yaşayan kişilerin internet gibi herkese açık (güvensiz) bir ortam üzerinden güvenli bir şekilde haberleşmesi ya da alışveriş yapması için gizli anahtarlarını değiş-tokuş etmeleri pratikte mümkün değildir. Simetrik şifreleme sistemleriyle karşılaştırıldığında, asimetrik sistemler çok daha yavaştır. Bu, şifrelemede kullanılan anahtarların uzunluğu ve yapılan işlemlerin karmaşıklığından kaynaklanmaktadır.

Efendim uzun laf ülke batırır, kriptoloji aslında asal sayılar ile uğraşır. Asal sayılar özellikle internet üzerinden yapılan işlemlerin güvenli bir şekilde yürümesine olanak tanıyan şifreleme tekniklerinin geliştirilmesi için kullanılır. Her ne kadar günümüzde bankacılıkta kullanılan şifreleme teknikleri için UCLA`lı matematikçilerin bulduğu kadar çok basamaklı büyük sayılara ihtiyaç duyulmasa da, askeri bilgiler gibi önemli şifrelemeler gerektiren verilerin korunmasında kullanılacak asal sayıların olabildiğince fazla basamaklı olması gerekiyor. Bu yüzden çok büyük (ama çok çok büyük) bir sayıyı asal çarpanlarına hızlıca ayırabilirim diyen beni acil bulsun. Çünkü bunu yaparsanız, bütün sistemleri kendinize köle yapmış olursunuz.

Bir sonraki yazımızda iki asal sayının çarpımı ile anahtar oluşturarak RSA Şifreleme Algoritması’ndan ve asallık testlerinden bahsedeceğiz. Daha sonra da halk dilinde fiber internet dediğimiz kuantum kriptografiden tadacağız. Şimdilik büyük sayıları çarpanlarına ayırmaya çalışın. Öptüm.

B.

Bahar Uğurdoğan hakkında 8 makale
Kriptolojistimsi.

2 yorum

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*