Kriptoloji nedir? Neden ihtiyaç duyarız?

Tarih boyunca insanlar sadece istedikleri kişilerin anlayabilmesi için verileri çeşitli şifreleme yöntemlerini kullanarak anlaşılmaz olan başka bir biçime dönüştürerek şifrelemişler ve verinin şifrelenmiş halini saklamışlar / göndermişlerdir.

Aslında şifreleme ve şifrelenmiş bir bilgiyi açığa çıkarma o kadar önemlidir ki bir savaşın sonucunu belirleyici etkiye dahi sahip olabilir. Yakın tarihten bir örnek verecek olursak, 2. Dünya Savaşı sırasında askeri mesajların şifrelenmesi ve çözülmesi için Nazi Almanya’sı tarafından kullanılan Enigma isimli şifreleme makinası bir dönem kendilerinin üstünlük kazanmasında önemli bir etkiye sahipken, yaptığı kriptanaliz çalışmaları ve geliştirdiği cihazlar ile Nazilerin şifreli mesajlarını açığa çıkaran İngiliz matematikçi, bilgisayar bilimcisi ve kriptolog olan Alan Turing savaşın gidişatının değişmesinde büyük rol oynamıştır.

Nazi Almanya’sı daha güçlü şifreleme yöntemleri barındıran Lorenz SZ 40/42 isimli şifre makinesi kullansalar da müttefikler tarafından geliştirilen Colossus bilgisayarları bu şifrelerin çözülmesini sağlamış ve bu da Nazilerin yenilgisini getirmiştir.

Şifreleme elbette sadece savaşlardaki mesajlaşma için gerekli değildir. Günlük hayatımızda kriptografi kullanımı her yerdedir. Örneğin, çevrimiçi alışveriş işlemleri, bankacılık işlemleri, e-posta ve mesaj alışverişi, kablosuz modemle bağlantı kurduğumuz cihaz arasındaki iletişim şifreli olarak gerçekleşmektedir.

Tüm kriptografik fonksiyonlar bir gün boyunca çalışmasa yaşam durur desek yanlış olmaz. Banka işlemleri gerçekleşmez, internet trafiği durur ve cep telefonları artık çalışmaz. Tüm önemli bilgilerimiz açığa çıkar ve bu hepimize çok büyük zarar verir. Kriptografi, bunun olmasını önlemenin temel bir yoludur.

Günümüz modern iletişiminde geçmişte olduğu gibi mahremiyet söz konusu olduğundan insanlık tarihi boyunca kaçınılmaz olarak kriptografiye ihtiyaç duyulmuştur. Tarihe yolculukta iyi bilinen yöntemlerden biri Jül Sezar MÖ 100-44 tarafından kullanılmış olan Sezar Şifrelemesidir.

Sezar Avrupa’yı ele geçirirken Cicero ile iletişim kurmak için bu şifreleme yöntemi kullanmıştır. Mesajdaki her harf alfabede örneğin 3 adım sağa kaydırılınca şifreli metin elde ediliyordu. Çözme işleminde de her harf 3 adım sola kaydırılıyordu. Şekildeki örnekte anahtar 19’dur ve şifreleme için her harf 19 ileri kaydırılır.

Bu sistem ne kadar basit olursa olsun, hiç kimse mesajlarını bu şekilde gizlemeye aşina olmadığından bu mesajları (muhtemelen kuryeyi ele geçirerek) yakalayabilecek herhangi biri, bunun çöp ya da başka bir dil olduğunu düşünebilirdi. Zaman geçtikçe bu ve benzeri şifreleme yöntemleri harf yoğunluğu analizi vb. yöntemlerle kırılmış ve güvenilirliğini yitirmiştir.

Teorik olarak en güvenli yöntem olarak bahsi geçen şifreleme yöntemi One Time Pad’dir. Alıcı ve göndericide eş büyük bir anahtar kümesi gerektirir. Şifrelenecek metinle anahtar XOR işleminden geçirilir ve şifreli metin elde edilir.

Örneğin şifreli bir mesaj göndereceğimiz zaman anahtarların olduğu kümeden açık metnimizin uzunluğu kadar bir anahtar seçeriz ve seçtiğimiz anahtarın kümedeki hangi anahtar olduğunu karşı tarafa söyleriz. Seçilen anahtar bir kez kullanılır ve atılır. Böylece aynı mesajı bile göndersek mesaj farklı bir anahtarla şifreleneceğinden şifreli metin değişir. Bu asla kırılamaz.

Yukarıdaki görselde basılı hale getirilmiş bir one time password kitapçığı gözükmektedir.

Ancak buradaki sıkıntılardan biri her seferinde şifrelenecek metin büyüklüğünde bir anahtara ihtiyaç olmasıdır. Bir diğeri ise anahtarların karşı tarafa nasıl güvenli bir şekilde iletileceği. Ayrıca iletilen anahtarların güvenli bir şekilde muhafaza edilmesi de gerekmekte. Eskiden kullanılmış olsa da günümüz pratiğinde pek yeri yoktur.

Günümüzde, matematikçiler tarafından kurgulanmış, yüksek düzeyde gizlilik sağlamaya çalışan örneğin AES-256 veya Triple-Des gibi daha karmaşık algoritmalar kullanıyoruz. Bu algoritmalar halka açıktır ve nasıl çalıştıklarına ait tüm detaya internet üzerinden erişilebilir. Bazıları bunu bir güvenlik açığı olarak görmekte, çünkü gerçek gizliliğin, algoritma – anahtarlar da dahil – halktan gizlendiğinde elde edildiğini savunuyor. Daha büyük bir grup ise bir sistemi halka açık hale getirmenin algoritmaları güçlendirmeye yardımcı olduğuna inanıyor.

Kirşof ilkesi, verileri koruyan algoritma herkes tarafından bilindiğinde daha güçlü bir güvenliğin elde edildiğini söylüyor, çünkü böylece, kriptanalistler yama gerektiren güvenlik açıklarını bulabilir ve sonuçta algoritmayı daha güçlü hale getirebilirler.

Yıllarca süren kamuya açıklık, bugün hala çözülemeyen algoritmaların ortaya çıkmasına yol açmıştır. Algoritmayı halktan gizlerseniz, ilk başta tam bir gizliliğe sahip olursunuz çünkü hiç kimse kodu nasıl kırmaya başlayacağını bilmez, ancak bir bilgisayar korsanı bu algoritmayı ele geçirebilir ve bir güvenlik açığı bulabilir. Temelde, algoritma herkese açık olarak paylaşıldığında, “iyi bir adamın” bir güvenlik açığını fark edip düzeltmesi daha olasıdır.

Modern bir kriptografik sistemin temel ilkesi, kullanılan algoritmanın gizliliğine değil, anahtarların gizliliğine güvenmemizdir. Modern bir şifreleme sisteminin dört temel amacı vardır.

  • Gizlilik: Bilgiye sadece yetkisi olan erişebilmelidir.
  • Bütünlük: Bilgi, depolama veya taşıma sırasında değiştirilmemeli, herhangi bir değişiklik tespit edilebilir olmalıdır.
  • Kimlik Doğrulama: Herhangi bir bilgi alışverişi yapılmadan önce hem gönderen hem de alıcı tanımlanmalı ve ardından yetkilendirilmelidir. Bob bir mesaj alırsa, onu Alice’in gönderdiğinden emin olmak ister. Genel olarak, şifreleme anahtarı bilgisinin, mesajın iddia edilen göndericiden geldiği anlamına geldiğini varsaymak mümkündür. Ancak, şifreleme anahtarı grubun tüm üyeleri tarafından biliniyorsa (örneğin, Alice, Bob ve Charlie), gerçekte hangi üyenin bir mesaj gönderdiğini belirlemek imkansızdır (Alice bir mesaj gönderebilir ve Charlie’den olduğunu iddia edebilir) veya anahtar çalınırsa hırsız, anahtarın orijinal sahibinden geliyormuş gibi mesajlar gönderebilir.
  • Reddetmeme: Gönderenin gerçekten bu mesajı gönderdiğini ve alıcının da bu mesajı gerçekten aldığını kanıtlayan bir mekanizma, inkâr edilemezlik. Bu, bir işlemin “dijital” meşruiyetini ve izlenebilirliğini sağlar.

Şifreleme ve şifre çözme işlemlerinin gerçekleştirilmesi için algoritmalar ve anahtarlar gibi gizli bilgiler gerekir. Kriptoloji bilimi kriptografi ve kriptanaliz olarak ikiye ayrılır.

Kriptografi, verileri anlaşılmaz olan (genellikle şifreli metin olarak adlandırılır) farklı bir biçime dönüştürme (şifreleme) ile ilgilenir. Kriptanaliz ise şifrelenmiş veriyi açığa çıkarma ve gizli anahtarı bulma ile ilgilenir. Kriptanaliz’de kullanılan bazı yöntemler, bütün şifreleri denemek, anahtar uzayının küçültülmesi, tekrarlama, trafik izleme, algoritma zayıflıklarından yararlanma olarak söylenebilir.

Bu yöntemlerin bazılarından kısaca bahsedecek olursak 4 haneli bir şifreyi kırmak için 10000 farklı deneme yapmaya ihtiyacımız var. Buna kaba kuvvet (brute force) saldırısı adı veriliyor. Başka bir örnek anahtar uzayının küçültülmesi.

Bir diğeri, örneğin elimizde şifreli metin ve bu şifreli metne ait açık metin varsa buradan known plaintext attacks ile anahtarı bulabilirim. Böylece aynı anahtarla şifrelenen tüm verileri açığa çıkarabilirim.

Tehlikeli ataklardan biri araya girerek (ortadaki adam-man in the middle) şifreli metnin değiştirilmesi (mallability). Burada amaç şifreli metnin tamamını çözmek veya anahtarı elde etmek değil, şifreli metin içinde araya girerek değer değiştirmektir. Örneğin, bir banka havalesinde 1 milyon TL gönder emri varsa ki bu emir şifrelenmiş olarak gönderiliyor, saldırgan şifrelenmiş metin içinde yer alan bazı bit değerlerini değiştirerek emri 5 milyon TL gönder olarak değiştiriyor. Zor olsa da atak tiplerinden biri de budur.

Tekrarlama saldırılarına (reply attack) bir örnek olarak içine para yüklenebilen ve bir id’si olmayan kartlar verilebilir. Eskiden askerler tarafından veya kampüslerde öğrenciler tarafından bu tarz kartlar kullanılırdı. Karta para yüklersiniz, bir şey almak istediğinizde kartı okutursunuz ve içinden ilgili miktar çekilir. Okuyucu o anda sadece karttaki bakikeyeye odaklıdır ve başka kontrol yoktur. Bu durumda para yüklü bir kartı olduğu gibi kopyalarsanız bakiye dışında bir kontrol olmadığı için para yüklü yeni bir kartını olur.

Kriptografi simetrik şifreleme (symmetric encryption), asimetrik şifreleme (asymmetric encryption) ve hash fonksiyonları olarak üç gruba ayrılabilir.

Simetrik şifreleme

Simetrik anahtar şifreleme (gizli / özel anahtar şifrelemesi olarak da bilinir), verileri şifrelemek ve şifresini çözmek için aynı anahtarı kullanır. Öncelikle mahremiyet ve gizlilik için kullanılır. Evin kapısını kilitlemek ve çözmek için kullandığımız anahtar aynıdır ve simetrik anahtarı anlatmak için genellikle bu örnek verilir. Günümüzde kullanılan veri şifreleme anahtarları harflerle değil bitlerle çalışır.

Simetrik şifrelemeye örnek olarak AES-256, Triple-DES veya Blowfish verilebilir Burada her algoritma, mesajı hem şifrelemek hem de şifresini çözmek için sağlanan bir anahtarla kendi karmaşık matematiksel görevlerini çalıştırır.

Simetrik şifreleme, toplu veriler için iyi bir şifreleme yöntemidir (örn. Sabit sürücüler veya kullanılmayan veriler), ancak bazı kusurlar vardır:

Simetrik şifrelemede anahtarların taraflar arasında değiş tokuş edilmesi bir sorun teşkil eder, çünkü güvenli bir şekilde gönderilmezse, bir saldırgan “ortadaki adam” saldırısıyla açık metin anahtarını almaya çalışabilir ve ardından kullanılan şifreleme geçersiz hale gelir. Anahtarlar güvenli bir şekilde değiş tokuş edilmelidir.

Yukarıda da değinildiği gibi simetrik anahtarlara sahip şifreleme algoritmaları, şifreleme ve şifre çözme için aynı gizli anahtarı kullanır, böylece bir mesajın “alıcısı” onu oluşturabilir, onu “gönderenin” gönderdiğini iddia edebilir ve kimin doğruyu söylediğini belirlemek imkânsız olabilir.

Simetrik şifreleme blok şifreleme (blok ciphers) ve akış şifreleme (stream ciphers) olarak ikiye ayrılır.

Blok şifrelemede şifrelenecek metin bit cinsinden şifreleme türünün talep ettiği boyuttaki bloklara bölünür. Her blok simetrik şifreleme anahtarı ile bazı işlemlerden geçer ve giriş boyutundaki blok uzunluğu kadar şifreli metin elde edilir. Tüm açık metin şifreleninceye kadar aynı işlemler tekrarlanır. Data Encryption Standard (DES) (NIST FIPS PUB 46) ve Advanced Encryption Standard (AES) (NIST FIPS PUB 197) buna örnek olacak iki popüler şifreleme türüdür ancak başka birçok simetrik blok şifreleme türü vardır. DES yaklaşık 30 yıl boyunca kullanıldıktan sonra küçük anahtar boyutu nedeni ile kırılmıştır. Simetrik şifreleme yarışmalarından birinin galibi olan ve 2001 yılında kullanıma açılan AES ise günümüzün en popüler şifreleme algoritmalarından biridir ve Whatsapp uygulaması, Wi-Fi sistemleri dahil birçok uygulamada kullanılmaktadır.

Akış şifrelemede anahtar bazı yöntemlerle şifrelenecek metin boyutuna büyütüldükten sonra şifrelenecek metin ve anahtar bit düzeyinde XOR işlemine tabi tutulmakta ve böylece şifreli metin elde edilmektedir. Üretilen anahtarlar kendi aralarında birbiri ile bağıntılı olmamalıdır ve anahtarlar tahmin edilemez olmalıdır. Bununla ilgili NIST PUB 800-22 testleri kullanılır. Aynı anahtarın iki veya daha fazla kullanılması gizli metnin açığa çıkmasını sağlayabilir. WEP, WPA, Microsoft Office XP gibi uygulamalarda RC4 akış şifrelemesi kullanılmıştır. RC4 şifrelemesi günümüzde güvensiz olarak kabul edilir.

Asimetrik Şifreleme

Asimetrik şifreleme algoritmaları, şifreleme ve şifre çözme için farklı anahtarlar kullanır. Öncelikle kimlik doğrulama, reddedilmeme ve anahtar değişimi için kullanılır. Ayrıca, şifre çözme (“genel”) anahtarından şifreleme (“özel”) anahtarını belirlemek sayısal olarak imkansızdır. Örneğin bana şifreli bir mesaj göndermek isteyen biri benim açık olarak sunduğum anahtarla mesajını şifreler. Şifreleme işleminden sonra artık kendi dahi bu mesajı açamaz. Mesajı sadece ben özel anahtarımla açabilirim.

Asimetrik şifrelemede genel anahtar zaten herkese açık olduğundan güvenliğini sağlamak gerekmez. Asimetrik anahtar, iletişim sırasında iletilen bilgilerin güvenliğini sağlamada çok daha iyi bir güce sahiptir. Asimetrik şifreleme, çoğunlukla internet üzerinden olmak üzere günlük iletişim kanallarında kullanılmaktadır. Popüler asimetrik anahtar şifreleme algoritmalarından biri RSA dir.

Hash Fonksiyonları

Bilgileri geri döndürülemez bir şekilde “şifrelemek” için matematiksel bir dönüşüm kullanır ve dijital bir parmak izi sağlar. Öncelikle mesaj bütünlüğü için kullanılır. Bu algoritmada herhangi bir anahtar kullanımı yoktur. Düz metne göre sabit uzunlukta bir hash değeri hesaplanır, böylece hashlenmiş değerden düz metne geri dönüşü imkânsız hale getirir. Birçok işletim sistemi, parolaları şifrelemek için hash işlevleri kullanır.

Örnek vermek gerekirse gmail hesabına girişte kullandığımız parolamız Google sunucularında hash ile şifrelenmiş olarak tutulur. Böylece parola veritabanına ulaşan biri bizim açık şifremize ulaşamaz, hash ile şifrelenmiş veriye ulaşır. Hash yapısı itibarı ile geri döndürülemez olduğundan açık şifremiz ortaya çıkmaz.

Bazı uygulamalarda hash bilgisini daha karmaşık hale getirmek için düz metne tuz biber atılır. Örneğin bazı kullanıcılar aynı parolayı seçerse aynı hash bilgisi elde edilir ama tuz eklenirse hash çıktısı da farklı olur. Bu durumda her kullanıcı için kullanılan tuz bilgisinin de saklanması gerekir.

Ancak burada şöyle bir durum vardır. Sabit bir metni şifrelemek için kullanılan hash algoritması her zaman aynı sonucu verir. Yani biz parolamızı Pass1234qw olarak belirlersek bunun md5 hash karşılığı daima 9dab3f356bf53e3ce3f86f54f4dfffa4 olacaktır. Rainbow Tables denilen tablolar en sık kullanılan parolaları ve hash değerlerini içeren tablolardır. Bu tablolar milyarlarca parola ve hash içerebilmektedir. Bu tablolar kullanılarak yapılan kaba kuvvet saldırıları saldırı yüzeyini düşsürdüğünden saldırının başarıya ulaşması beklenenden çok daha kısa sürmektedir. Bu yüzden en sık kullanılan ve genellikle çoğu insan tarafından tercih edilebilecek parolalardan uzak durmak gerekir. Bunlara örnek olarak ülke adı, il adı, ilçe adı, ad, soyad, futbol takımı, doğum tarihi, içinde bulunulan yıl, araba markası, firma adı, 123456, qwerty, gibi değerler parola içinde yer almamalıdır.

Kodlama (Encoding) ve Kod Çözme (Decoding)

Bu iki konuya değinmeden geçmek olmaz, çünkü bazen karıştırılabiliyor. Kodlama gizlilik için yapılmaz. Kodlama, verinin farklı sistem ve ortamlarda kullanılabilmesi için bir biçimden başka bir biçime dönüştürülmesi işlemidir. Ses ve video gibi medya dosyaları, dosya boyutlarını azaltmak için kodlamayı kullanır. Her ses ve video dosyası formatı, onu uygun biçime kodlamak için kullanılan ve ardından oynatma için kodunu çözen bir kodlayıcı-kod çözücü (codec) programına sahiptir. Örneğin, .mp4’ü .avi’ye, .flv’yi .mp3’e vb. dönüştürmek için kodlama gerekir. Veriyi kodlayan aynı algoritmayı kullanılarak tersine çevrilebilir. Kodlamada anahtar kullanılmaz ve kodlama gizlilik için kullanılmaz. Yapılan işlemin tersine kod çözme (decoding) denir.

Public Key Infrastructure (PKI)

Asimetrik şifrelemede açık anahtar (public key) ve özel anahtardan (private key) bahsetmiştik. Burada şöyle bir sorun ve çözüm var. Açık anahtarım herkese açık olduğuna göre bu açık anahtarın bana ait olduğu nereden anlaşılacak? Başka biri benim adıma benden geliyormuş gibi bir açık anahtar gönderebilir mi? X509 standardı buna açıklama getirmekte. Noter diye tabir ettiğimiz bir servisle dijital sertifika devreye giriyor ve bu da açık anahtarın gerçekten bana ait olduğunu doğruluyor. Sertifikalar sertifikayı onaylayan kuruluş, sertifikanın kullanım ömrü, konusu, açık anahtar bilgisi, sertifikayı onaylayan kuruluşun dijital imzası gibi bazı bilgiler içermektedir.

Sertifika oluşturma, anahtar oluşturma, sertifika iptali, anahtarların yedeklenmesi ve kurtarılması gibi işlemleri sertifikayı onaylayan kuruluşta sertifika otoritesi (Certificate Authority CA) yapar.

Benim gerçekten ben olduğumu doğrulama işlemi ise sertifikayı onaylayan kuruluşun onaylamadan sorumlu olan kayıt otoritesi (Registration Authority RA) tarafından yapılır.

Peki süreç nasıl işler? Sertifika talep eden kendi tarafında sertifika imza talebi (Certificate Signing Request CSR) dosyası oluşturur. Bu dosyayı oluşturmak kolay bir işlemdir. Bu dosyanın içinde domain adı, kurum adı, ilgili e-posta adresi, sertifikada yer alacak olan açık anahtar gibi bilgiler yer alır. Oluşturulan dosya sertifika alınacak kuruma gönderilir, kurum gerekirse başka belgeler isteyebilir. Sertifika verecek olan kurum her şey yolunda ise gönderilen CSR kodunu imzalar ve sertifika dosyası oluşturarak talep edenin kullanımına açar.

Self Sign Certificate ise sertifikayı talep edenin de onaylayıp verenin de kendimizin olduğu bir yapı. Ancak bu yapı sadece iç tarafta çalışır, çünkü sertifika onayı güvenilir bir otorite tarafından verilmemiştir.

Birçok uygulama asimetrik ve simetrik şifrelemeyi bir arada kullanır. En bilinen örnekler TLS ve SSL protokolleridir.

Sonuç

Günümüzde veri depolama ve iletme işlemleri çocuk oyuncağı ve bunlardan birini yapmadan tek bir günümüz bile geçmiyor. İnternete bağlanıyoruz, cep telefonu, bilgisayar, tablet, akıllı saat, usb bellek, mesajlaşma uygulamaları, sosyal medya uygulamaları kullanıyoruz, alışveriş yapıyoruz ve daha niceleri. Kriptoloji tüm bu işlemlerin tam ortasında yer alıyor.

İstisnasız her gün içinde bulunduğumuz kriptoloji bilimi hakkında daha fazla bilgi sahibi olmak zorundayız. Eksik veya yanlış yapılandırılmış, güvensiz olan, güncel olmayan bir sistem kullanmak açığa çıkmasını, bozulmasını istemediğimiz verilerimizi tehlikeye sokar. Bu yüzden kriptolojiyi daha iyi anlamaya çalışmalı, kullandığımız sistemlerin yeteneklerinin farkına varıp gereken önlemleri almalıyız.

Sizce de kriptolojiye daha fazla önem vermemiz gerekmiyor mu?

Terminoloji

  • Kripto (crypto): Gizli, saklı.
  • Kriptoloji (cryptology): Bilginin şifrelenmesi ve şifrelenmiş bilginin çözülmesi ile ilgili bilim.
  • Kriptografi (cryptography): Açık bilginin şifrelenmesi için yapılan çalışmalar.
  • Kriptanaliz (cryptanalysis): Şifrelenmiş bilgilerin çözümünü araştıran, gizli anahtarı bulmak için yapılan çalışmalar.
  • Kriptanalist (cryptanalyst): Kriptanaliz çalışmaları yapan kişi.
  • Kriptolog (cryptologist: Kriptoloji uzmanı.
  • Şifre (cipher): Gizli haberleşmeye yarayan işaretlerin tümü, kod.
  • Şifreleme (encryption): Veriyi sadece gizli tutulan bir anahtarla çözülebilecek şekilde dönüştürme işlemidir. Şifreleme veri gizliliğini korumak için yapılır.
  • Şifre Çözme (decryption): Şifrelenmiş veriyi gizli tutulan anahtarla çözme işlemine şifre çözme denir.
  • Encrypt şifrelemek, decrypt ise şifre çözmek anlamına gelmektedir.
  • Kodlama (encoding): Verinin farklı sistem ve ortamlarda kullanılabilmesi için bir biçimden başka bir biçime dönüştürülmesi işlemidir. Veriyi kodlayan aynı algoritmayı kullanılarak tersine çevrilebilir. Kodlamada anahtar kullanılmaz ve kodlama gizlilik için kullanılmaz. Yapılan işlemin tersine kod çözme (decoding) denir.
  • Hashing, farklı büyüklükteki verileri sabit büyüklükte bir koda dönüştürme işlemidir. Hash’lenen verinin geri döndürülmesine ihtiyaç yoktur, verinin değiştirilmediğini, üzerinde oynanmadığını doğrulamak amacı ile kullanılır. Girdi değişmediği sürece her zaman aynı hash çıktısı alınır.
  • Salt (Tuzlama) Veri hash’lenmeden önce salt (tuz) adı verilen rastgele bir metin veriye eklenir ve verinin bu hali ile hash’lenmesi sağlanır. Böylece aynı veri kullanılsa bile hash çıktısı her zaman farklı olur. Doğrulama için veriyi hashlerken kullanılan tuza da (salt) ihtiyaç vardır.

Kaynaklar

https://theworld.com/~cme/html/timeline.html
https://www.linkedin.com/pulse/kriptolojinin-tarih%25C3%25A7esi-nihal-kindap/
https://csrc.nist.gov/CSRC/media/Publications/fips/46/archive/1977-01-15/documents/NBS.FIPS.46.pdf
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-22r1a.pdf
https://devnot.com/2020/kullanici-parola-guvenligi-icin-hashing-ve-salting-kullanimi/
https://www.encryptionconsulting.com/education-center/what-is-cryptography/
https://www.garykessler.net/library/crypto.html

Görsel Kaynakları

https://muslimheritage.com/wp-content/uploads/2018/05/Arab-Origins-of-Cryptology.jpg
https://media.defense.gov/2007/Sep/18/2000450331/-1/-1/0/070918-F-1234S-004.JPG
https://www.sslcertificate.ch/wp-content/uploads/2020/04/crypto-scaled.jpeg
https://images-na.ssl-images-amazon.com/images/I/61K6UvP2XxL.png
https://www.cryptomuseum.com/crypto/img/301277/005/full.jpg
https://techbeacon.com/sites/default/files/styles/social/public/code-cryptography-encryption-dev-development-apps-application-security-appsec.jpg?itok=NPM5-IKE
http://cseweb.ucsd.edu/~mihir/cse207/images/homepage-banner-1.jpg
https://miro.medium.com/max/1838/1*bbCyiW35hBU3GiaiF4Qcmw.png
https://cdn.educba.com/academy/wp-content/uploads/2019/11/Stream-Cipher-vs-Block-Cipher.jpg
https://foxutech.com/wp-content/uploads/2017/08/Asymmetric-Encryption.png
https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Cryptographic_Hash_Function.svg/1200px-Cryptographic_Hash_Function.svg.png
https://mynewsfit.com/wp-content/uploads/2020/09/Education-Center-Public-Key-Infrastructure.jpg

Yorum yapın