Kriptografi'ye Giriş

AES, Diffie-Hellman anahtar değişimi, karma, PKI ve TLS gibi şifreleme algoritmaları ile ilgili örnekler

Kriptografi'ye Giriş

KRİPTOGRAFİYE GİRİŞ

 

Merhabalar. Öncelikle odanın bize tanıtmak istediği kavramları inceleyelim.

AES (Advanced Encryption Standard; Gelişmiş Şifreleme Standardı)

Gizli mesajları veya bilgileri görmemesi gereken kişilerden korumanın bir yoludur. AES için şifreleme ve şifre çözme anahtarları aynıdır. DES'in zayıf yönleri kuvvetlendirilmiş halidir, DES’ten daha hızlıdır.

RSA Asimetrik Şifreleme

Zorluğunu çok büyük sayılarla işlem yapmasından alan asimetrik bir şifreleme algoritmasıdır. Simetrik şifrelemedeki gibi tek anahtar kullanılmasının yerine; biri gizli (Private Key) diğeri açık (Public Key) olmak üzere iki anahtar kullanılır. Güvenilirlik derecesi, şifrelemede kullanılan asal sayıların büyüklüğü ile orantılıdır.

Diffie-Hellman Anahtar Değişim

Gizli iletişimlerde kullanılabilecek ortak gizli anahtar üretir. Bu anahtar güvensiz açık ağlarda (internet) güvenli veri alışverişini sağlar. Ortak gizli anahtar üretilirken her iki taraf g ve p sayılarını belirler ve açık kanaldan iletirler. g ve p sayıları açık kanaldan iletilse de 3. Kişiler tarafından bilinmesinde mahsur yoktur. İletilen g ve p sayıları ortak gizli anahtarın hesaplanmasında kullanılacaktır.

HASH

Herhangi bir metnin şifrelenerek okunamaz veya önceden tahmin edilemez hale getirilmesi algoritması ve işlemidir.

PKI (Public Key Infrastructure) (Açık Anahtar Altyapısı)

HTTPS’teki Authenticity için kullanılan dijital sertifikaların üretilmesi, dağıtılması ve kimlik doğrulaması aşamasında kullanılabilmesi için gerekli altyapıyı sağlar.

Kavramları gördüğümüze göre sorulara geçebiliriz.

  1. Burada bir şifreli metinle karşı karşıyayız. Bu şifreli metin çeşitli tekniklerle şifrelenmiş olabilir. Bunu öğrenebilmek için bir “ipucu” na ihtiyacımız var. İpucunda ise “quipqiup'ı kullan” https://quipqiup.com/ sitesine gidelim ve şifreli metini yapıştıralım. Bu sayede şifreli metini çözmüş olduk.

 

     2. Burada gpg ve openssl in kullanımını göreceğiz. Kullanacağımız komutlar;

gpg --output original_message.txt --decrypt message.gpg

openssl aes-256-cbc -pbkdf2 -iter 10000 -d -in encrypted_message -out original_message.txt

2.1) “quote01” dosyasındaki 3. Kelime sorulmakta. Daha sonrasında ise bize verilen şifreyi (s!kR3T55) girerek encode ediyoruz. Bu işlemi diğer encode işlemlerinde de tekrarlamamız gerekecek.

2.2) “quote02” dosyasındaki üçüncü kelime sorulmakta.

 

  • 3) “quote03” dosyasındaki üçüncü kelime sorulmakta.

 

3)   Bu görevde kullanacağımız komutlar şunlardır;

openssl rsa -in private-key.pem -pubout -out public-key.pem

openssl pkeyutl -decrypt -in ciphertext -inkey private-key.pem -out decrypted.txt

1) Bob , Alice'ten kendisine gönderilen dosyayı aldı . İhtiyacınız olan anahtarı aynı klasörde bulabilirsiniz. Orijinal düz metnin ilk kelimesi nedir? Sorumuz bu şekilde. Task03 e gidip yukarıda belirttiğim komutu yazıyoruz. Şifreli metnin orijinalini decrypted.txt dosyasına çıkartıyoruz ve okuyoruz.

 

3.2) Bob'un özel RSA anahtarına bir göz atın. p'nin son baytı nedir?

Bu soruda öncelikle kodumuzu çalıştırıyoruz.

Burada prime1 =p, prime2=q dur. Buna göre bu soruyu cevaplıyoruz.

3.3) Bob'un özel RSA anahtarına bir göz atın. q'nun son baytı nedir?

Bu sorunun cevabı da yukarıda verilmiştir.

 

4) Diffie-Hellman Anahtar Değişimi

Bu soruda openssl dhparam -in dhparams.pem -text –noout  bu komutu kullanacağız. Task04 üç içerisinde bu komutu çalıştırıyoruz.

 4.1) Dosyada bir dizi Diffie-Hellman parametresi bulunabilir  dhparam.pem. Asal sayının bit cinsinden boyutu nedir?

Komutu çalıştırdığımızda parantez içerisinde bit sayısı yazmaktadır.

 4.2) Asal sayının son baytı (en önemsiz bayt) nedir?

En son bayt aşağıda gösterilmektedir.

5) HASH (Karma)

 

   5.1) Dosyanın SHA256 sağlama toplamı nedir  order.json?

 

  5.2) Dosyayı açın  order.json ve miktarı olarak  1000 değiştirin  9000. Yeni SHA256 sağlama toplamı nedir?

Dosyayı nano ile açıyoruz ve 1000 yazısını 9000 ile değiştiriyoruz.

  5.3) SHA256 ve anahtarı kullanarak  3RfDFz82, HMAC nedir  order.txt?

Aşağıdaki komutu yazıyoruz.

6) PKI ve SSL/TLS

6.1) Burada aşağıdaki komutu çalıştırıyoruz.

openssl x509 -in cert.pem –text | less

 

6.2) Bu sertifika hangi yıla kadar geçerlidir?

Yukarıdaki çıktıda “Not after : Feb 25 11:34:19  2039 GMT” olarak verilmiştir.

7) Parolalarla Kimlik Doğrulama

Yönetici parolasının MD5 karmasının olduğunu keşfettiğinizde bir sistemi denetliyordunuz  3fc0a7acf087f549ac2b266baf94b8b1. Orijinal şifre nedir?

Burada bir md5 hash i verilmiş ve bunu kırmamız istenmekte. Bunun için https://www.md5online.org/md5-decrypt.html bu siteye gitmemiz öneriliyor. Hash i yazıyoruz ve kırılmasını bekliyoruz.

 

8) Kriptografi ve Veri – Örnek

Burada verilen metni okumamız gerekmekte.

 

9) Çözüm

Kriptografi geniş bir konudur. Bu odada, kriptografide yaygın olarak kullanılan terimleri anlamanıza yardımcı olacak temel kavramlara odaklanmaya çalıştık. Bu bilgi, şifreleme ve karma oluşturma kullanan sistemlerin yapılandırma seçeneklerini anlamak için çok önemlidir.

 

Söylendiği üzere Kriptografi çok geniş bir konudur ve çok fazla araştırma yapmak gerekir. Umarım sizler için faydalı bir yazı olmuştur. Okuduğunuz için teşekkür ederim :) 

 

Merhabalar ben İlayda. Adli Bilişim Mühendisliği 3. sınıf öğrencisiyim. Yaklaşık 3. senedir siber güvenlikle ilgilenmekteyim. Bu alanda kendimi geliştirmek için araştırmalar yapıyorum ve Sibermetin aracılığı ile edindiğim bilgileri sizlerle paylaşıyorum. Yazılarım hakkında bana sormak istediğiniz soruları sosyal medya hesaplarım aracılığı ile bana iletebilirsiniz. Keyifli okumalar dilerim :)