Asimetrik Şifreleme Nedir ve Nasıl Çalışır?

Asimetrik Şifreleme Nedir ve Nasıl Çalışır?

Asimetrik şifreleme, güvenli bir iletişim için kullanılan bir yöntemdir Bu yöntemde, biri açık, diğeri gizli olan iki anahtar kullanılır Açık anahtar, isteyen herkes tarafından kullanılabilirken, gizli anahtar sadece sahibi tarafından kullanılır Asimetrik şifreleme, internet bankacılığı gibi günlük yaşamımızda kullandığımız birçok uygulamada kullanılmaktadır Daha fazla bilgi edinmek için makalemizi okuyabilirsiniz

Asimetrik Şifreleme Nedir ve Nasıl Çalışır?

Asimetrik şifreleme, internet üzerindeki iletişimlerin güvenliğini sağlamak için kullanılan bir şifreleme yöntemidir. Burada kullanılan temel ve en önemli kavram, her kullanıcının şifreleme ve şifre çözme işlemleri için iki ayrı anahtarı bulunmasıdır. Bu anahtarlar arasındaki matematiksel ilişki sayesinde, verilerin güvenliği ve gizliliği sağlanır.

Asimetrik şifreleme sistemi, simetrik şifreleme yöntemlerinden farklı olarak daha güçlü bir koruma sağlar. Bunun nedeni, simetrik şifrelemenin aynı anahtarın hem şifreleme hem de çözme işlemlerinde kullanılmasından kaynaklanan bir zafiyet olmasıdır. Ancak, asimetrik şifreleme sistemi, simetrik şifreleme yöntemlerine göre daha yavaş işlem yapması nedeniyle genellikle daha az kullanılır.

Asimetrik şifreleme yöntemi, web sunucuları ve tarayıcıları arasındaki SSL, TLS ve HTTPS protokollerinde kullanılır. Bunun yanı sıra, e-postaların güvenli iletilmesinin sağlandığı PGP protokolünde ve diğer birçok internet uygulamasında da kullanılmaktadır. Asimetrik şifreleme sistemi, internet kullanıcılarının bilgilerini güvende tutmak için hayati öneme sahip bir teknolojidir.


Temel Şifreleme Yöntemleri

Şifreleme yöntemleri, verilerin güvenliği için büyük önem taşır. Şifreleme yöntemleri temel olarak simetrik ve asimetrik şifreleme yöntemleri olarak ikiye ayrılır. Simetrik şifreleme yöntemlerinde, veriyi şifreleyip çözmek için kullanılan aynı anahtar kullanılırken, asimetrik şifreleme yöntemlerinde ise veriyi şifrelemek için kullanılan anahtar ile çözmek için kullanılan anahtar farklıdır.

Asimetrik şifreleme, güvenliği artırmak için tercih edilen bir yapıdır. Bu yöntemde, bir anahtar çifti kullanılır. Açık anahtarı bilinen kişi, bir mesaj göndermek istediğinde mesajı şifrelemek için alıcının açık anahtarını kullanır. Şifrelenen mesaj yalnızca alıcının gizli anahtarı ile çözülebilir. Bu nedenle, asimetrik şifreleme yapıları simetrik şifreleme yapılarından daha güvenlidir.

Bazı örneklerde olduğu gibi, asimetrik ve simetrik şifreleme yöntemleri birlikte kullanılabilir. Bu yöntemde, büyük dosyalar simetrik şifreleme ile korunurken, anahtarlar da asimetrik şifreleme yöntemi ile korunur. Bu, yüksek güvenlikli, hızlı ve verileri korumak için ideal bir yöntemdir.


Symmetric Key Encryption (TEA, AES, DES)

Simetrik anahtarlı şifreleme, verilerin korunması için kullanılan en yaygın yöntemlerden biridir. Bu yöntemde, aynı anahtar hem şifreleme hem de çözme işlemleri için kullanılır. Bilinen en popüler simetrik anahtarlı şifreleme yöntemleri arasında TEA (Tiny Encryption Algorithm), AES (Advanced Encryption Standard) ve DES (Data Encryption Standard) bulunmaktadır.

TEA, en basit simetrik anahtarlı şifreleme yöntemlerinden biridir. Bu yöntem, 64 bit veri bloklarını kullanarak şifreleme yapar. Şifreleme işlemi için bir anahtar kullanır. Block Cipher Mode kullanarak, TCypher Block Chaining (CBC) ve Cipher Feedback (CFB) gibi farklı şifreleme modlarını uygulayabilir.

DES esasen, American National Standards Institute tarafından önerilen bir şifreleme standardıdır. 56 bitlik anahtarına dayanan DES, üçlü DES olarak bilinen şifreleme yöntemine sahiptir. Feistel Cipher Structure adı verilen özel bir şifreleme yapısına sahiptir.

AES, daha güçlü ve daha güvenli bir simetrik anahtarlı şifreleme yöntemidir. Block Cipher Mode ile çalışır. Substitution-Permutation Network Structure adlı bir şifreleme yapısına sahiptir. AES, 128, 192 veya 256 bit anahtar boyutu seçenekleri sunar.

Tüm bu yöntemler, güvenli bir şekilde veri şifreleme işlemini gerçekleştirmek için tasarlanmıştır. Ancak simetrik anahtarlı şifreleme yöntemleri, güvenlik riskine karşı mümkün olan en iyi korumayı sağlamaz. Bu nedenle, asimetrik şifreleme yöntemleri genellikle daha güvenli olarak kabul edilir.


TEA (Tiny Encryption Algorithm)

TEA (Tiny Encryption Algorithm), simetrik anahtarlı bir şifreleme algoritmasıdır. Bir blok şifrelemesi algoritması olarak çalışır ve veriyi belirli bir boyutta bir blok olarak ele alır. TEA, DES'ten daha kolay anlaşılabilir ve daha basit bir algoritmaya sahiptir.

TEA'nın anahtar boyutu 128 bit olup, veri blokları 64 bitlik bir boyut kullanır. TEA, aynı zamanda Feistel şifre yapısına sahiptir, bu da gizli anahatarın kullanıcılara nasıl dağıtıldığına bağlı olarak veriyi şifrelemek veya deşifrelemek için kullanılabildiği anlamına gelir.

TEA, blok şifreleme modu olarak ECB, CBC ve CFB modlarını destekler. ECB modu blok şifreleme işlemini her blok için ayrı ayrı yapar. CBC modu, bir blok şifreleme işleminin önceki bloğun şifreli metnine dayandığı bir şifreleme yöntemidir. CFB modu da benzer olarak önceki şifreli metinlere dayalı bir şifreleme yöntemidir.

Mod Açılımı Özellikleri
ECB Electronic CodeBook Her blok ayrı ayrı şifrelenir, bloklar birbirinden bağımsızdır.
CBC Cipher Block Chaining Her blok önceki bloğun şifreli metnine dayalı şifrelenir, ilk bloğa özel bir iv değeri kullanılır.
CFB Cipher Feedback Önceki şifreli metinlerden üretilen bir geri besleme mekanizması kullanılır, her blok önceki bloğun şifreli metnine göre şifrelenir.

TEA ayrıca bir Feistel şifre yapısına sahiptir. Bu yapıda, veri bloğu iki yarıya ayrılır ve bunlar ardışık olarak işlenirler. Her turda, sol yarı blok sağ yarı blokla bir XOR işlemi yapar ve ardından şifreleme fonksiyonu ile işlenir. Sonra sol ve sağ yarı blokları değiştirilir ve işlem tekrarlanır.

TEA, DES algoritmasından daha hızlı bir şifreleme algoritmasıdır. AES ile kıyaslandığında ise daha yavaş çalışır ancak daha az bellek kullanır. TEA algoritması, basit bir şifreleme yöntemi arayanlar için iyi bir seçenektir.


Block Cipher Mode

TEA (Tiny Encryption Algorithm), bir blok şifreleme algoritmasıdır. Veri blokları 64 bit uzunluğunda olduğu için, TEA, tam 64 bit veri bloklarını şifrelemek için tasarlanmıştır. Blok şifreleme modunun temel özelliği, tüm blokların aynı şekilde işlenmesi ve her blok için aynı şifreleme algoritmasının kullanılmasıdır. Bu nedenle, TEA'nın blok şifreleme modu, veri bloklarının birbirinden bağımsız işlenmesini ve çözülmesini sağlar.

TEA'nın blok şifreleme modunun detayları, her blok için ayrı ayrı şifreleme ve çözme işlemlerinin gerçekleştirilmesine dayanır. Algoritmanın anahtarı, her blok için ayrı ayrı kullanılan 128 bit uzunluğundaki anahtar bloğudur. Blokların şifrelenmesi için, her blok anahtar bloğu ile XOR işlemine tabi tutulur. Sonuç olarak, anahtar bloğu her blokta farklı olduğu için, şifrelenmiş veri blokları farklı olacaktır.


Feistel Cipher Structure

TEA, simetrik anahtarlı bir şifreleme algoritmasıdır. TEA’nın şifre yapısı Feistel şifre yapısına dayanır. Feistel şifre yapısı, blok şifrelemeye dayanan bir şifreleme yöntemidir.

Bu yapı bloktaki sembollerin her birini şifreleyen bir bölüm ve her birinin kendinden önceki sembole bağlı olduğu bir ağ gibi çalışır. İki ana bölümden oluşur:

  • round
  • key generator

Raund, blok şifrelemenin yapısını oluşturan ana kısımdır. Bu kısım, bloğun yarılarına bölünür ve ardından uygulanacak işlemler belirlenir. Bu işlemler arasında XOR, Rotate gibi işlemler yer alır.

Key generator ise her turda kullanılacak olan anahtarlardan sorumludur. Bu anahtarlar, blokun ilk yarısına uygulanan işlemlere bağlı olarak oluşturulur. Bu sayede bloktan bloğa farklı anahtarlar kullanılarak şifreleme işlemi daha güvenli hale getirilir.

TEA, bu yapıyı kullanarak verileri şifreler. Her bir blokta 2 adet 32 bitlik değişken kullanır ve her turdaki anahtarlar 4 kez kullanılır. Bu sayede kısa anahtarla güvenli bir şifreleme işlemi gerçekleştirilir.

Feistel şifre yapısı, TEA’nın blok şifrelemesi işlemini daha güvenli hale getirerek verilerin daha güvenli bir şekilde şifrelenmesini sağlar.


DES (Data Encryption Standard)

DES, Data Encryption Standard olarak bilinir ve simetrik anahtarlı bir şifreleme yöntemidir. Bu yöntem, 1970'lerde Amerika Birleşik Devletleri'nde Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilmiştir. DES, 56 bit bir anahtar kullanarak veriyi şifreler ve çözümler.

DES, blok şifreleme modunda çalışır. 64 bitlik bloklar halinde veri alır ve her bloğu 16 turda şifreler. Her turda, blok iki eşit parçaya ayrılır ve sağ parça sol parça ile birleştirilir. Bundan sonra, sağ parçadaki veriler bir karmaşık işleme tabi tutulur ve sonuç sol parça ile birleştirilir. Bu işlem 16 tur boyunca tekrarlanır ve son olarak, şifrelenmiş blok verisi ortaya çıkar.

DES, Feistel şifre yapısını kullanır. Bu yapının temel amacı, veriyi bloklara ayırmak ve her bloğu ayrı ayrı şifrelemektir. DES, Feistel şifre yapısı olarak tasarlandığından, blokları 16 turda şifreler ve bu sayede oldukça güvenilirdir. Şifreleme işlemi için kullanılan 56 bitlik anahtarın uzunluğu, günümüzdeki diğer şifreleme yöntemlerine göre oldukça kısadır ve bu yüzden DES, artık çok fazla kullanılmamaktadır.


Block Cipher Mode

DES, blok şifreleme modunda çalışan bir algoritmadır. Bu mod, şifrelenen veriyi bloklara ayırarak bir blokta şifrelenen veriyi diğer bloklardaki verilerden ayırır ve daha güvenli hale getirir. Blok boyutu 64-bit olan DES algoritması ile aynı blok boyutuna sahip diğer algoritmalar da blok şifreleme modunda çalışabilir.

Blok şifreleme modunda veriler, bir blok boyutu kadar olan küçük parçalara ayrılır. Bu blokların her biri ayrı ayrı şifrelenir ve ardından birleştirilerek orijinal mesaj elde edilir. Her blok aynı anahtar kullanılarak şifrelenir ve her blok için ayrı ayrı şifreleme ve deşifreleme işlemleri yapılır. Blok boyutu arttıkça şifreleme işlemi daha çok zaman alır, ancak güvenlik de artar.

Blok şifreleme modu, şifreleme sırasında blokların önceden belirlenmiş bir sırayla şifrelenmesini sağlar. Bu sayede şifreleme işlemi daha güvenli hale gelir. Eğer blok boyutu küçükse, veri şifresi kolayca çözülebilir. Ancak blok boyutu arttıkça, şifreleme işlemi daha güvenli hale gelir. Blok şifreleme modu, simetrik anahtarlı şifreleme yöntemlerinin en yaygın kullanılan yöntemidir.


Feistel Cipher Structure

DES (Data Encryption Standard), simetrik anahtarlı şifreleme yöntemlerinden biridir. DES, önceden belirlenmiş bir anahtar kullanarak verileri şifreleyen blok şifreleme modunda çalışır. Bu anahtar, verilerin hem şifrelenmesinde hem de çözülmesinde kullanılır.

DES, Feistel şifre yapısını kullanarak çalışır. Feistel şifre yapısı, blok şifreleme için kullanılan bir yapıdır. Bu yapıda, veri bloğu birkaç parçaya bölünür ve her parça ayrı ayrı işlenir. Sonra parçalar bir araya getirilerek yeniden oluşturulur. DES'in şifreleme adımlarında, 64 bit uzunluğundaki veri bloğu 16 tur boyunca işlenir. Her tur, 48 bit uzunluğundaki bir anahtar kullanılarak gerçekleştirilir.

DES'in Feistel şifrelemesinde, blok şifreleme ve deşifrelemede aynı adımları kullanılır, ancak anahtarların sırası ters çevrilir. Bu nedenle, DES'in şifreleme ve deşifreleme işlemleri aynıdır, sadece anahtarların kullanımı farklıdır.

DES Feistel Şifreleme Adımları
1. Veri bloğu, sol ve sağ parçalara bölünür.
2. Sağ parça, bir anahtar kullanılarak şifrelenir.
3. Şifrelenmiş sağ parça, sol parçayla XOR işlemine tabi tutulur.
4. XOR işleminden sonra, sağ ve sol parçalar yer değiştirir.
5. Adımlar, 16 tura kadar tekrarlanır.
6. 16. tur sonunda, sağ ve sol parçalar tekrar yer değiştirir.
7. Yeni veri bloğu oluşturulur.
8. İşlem, belirtilen tur sayısı kadar tekrarlanır.

Feistel şifre yapısı, DES algoritmasında kullanılan anahtarların güvenliğinin artırılmasına yardımcı olur. Anahtarın güvenliği, DES'in şifresinin çözülmesini zorlaştırır.


AES (Advanced Encryption Standard)

AES olarak da bilinen Advanced Encryption Standard, simetrik anahtarlı şifreleme yöntemleri arasında yer almaktadır. AES, DES algoritması yerine kullanılmaya başlanan daha güvenli bir algoritmadır. AES, 128 bit, 192 bit ve 256 bit anahtar boyutlarıyla kullanılabilen bir algoritmadır.

AES'in blok şifreleme modu, mesajı bloklara ayırır ve her bloğu ayrı ayrı şifreler. Bu işlem sırasında, her blok için aynı anahtar kullanılır. Daha sonra, blokların şifrelenmesiyle şifreli metin oluşturulur. AES'in Substitution-Permutation Network (SPN) yapısı, DES algoritmasının Feistel şifre yapısına benzer bir stratejidir. SPN yapısı, veriyi bir dizi adımda küçük bloklara ayırır ve her blok için farklı bir anahtar kullanır.

AES, DES'ten daha hızlı ve daha güvenlidir. AES algoritması, dünya genelinde çeşitli uygulama ve sistemlerde kullanılmaktadır. Özellikle, Wi-Fi şifrelemesi, disk şifreleme ve sanal özel ağlarda kullanılan AES algoritması, AES'in yaygın olarak kullanıldığı alanlardandır.


Block Cipher Mode

AES, blok şifreleme modunu kullanarak şifreleme işlemlerini gerçekleştirir. Blok şifreleme modu, şifrelenecek metnin, belirli bir blok boyutuna bölünerek sırayla işleme alınması anlamına gelir. Bu sayede, veriler daha güvenli bir şekilde şifrelenebilir. AES'in blok boyutu, 128 bit olarak belirlenmiştir.

Blok şifreleme modu, ECB, CBC, CFB ve OFB gibi farklı modlarla gerçekleştirilebilir. ECB modu, blokların eşit boyutlara bölünebilmesi için gereken dolgu (padding) işlemi yapılmadan sırayla şifrelenmesini sağlar. Bu mod, benzer blokların şifrelerinin de benzer olmasına yol açar ve güvenlik açısından sorun teşkil edebilir.

CBC modu, bloklar arasındaki bağıntıyı kesmek için önceki bloğun şifrelenmiş hali ile XOR işlemi yaparak şifreleme işlemini gerçekleştirir. Bu sayede, benzer blok şifreleme sonuçları vermeyen daha güvenli bir şifreleme sağlanır. CFB ve OFB ise geri bildirimli şifreleme modlarıdır ve blokların daha dinamik bir şekilde şifrelenmesini mümkün kılar.

Block Cipher Modes Comparison Table
Mode Description Encryption Decryption
ECB Electronic Codebook Independent block encryption Independent block decryption
CBC Cipher Block Chaining Previous block ciphertext XOR with current plaintext Decrypt current block and XOR with previous ciphertext
CFB Ciphertext Feedback Encrypt previous ciphertext and XOR with current plaintext Encrypt previous ciphertext and XOR with current ciphertext
OFB Output Feedback Encrypt the output of previous block and XOR with current plaintext Encrypt the output of previous block and XOR with current ciphertext

Blok şifreleme modlarından hangisinin kullanılacağı, verinin türüne, güvenlik ihtiyacına ve performans gereksinimlerine göre değişebilir. AES'in blok şifreleme modu, farklı modlar kullanarak daha güvenli, hızlı ve esnek bir şifreleme yapısını mümkün kılar.


Substitution-Permutation Network Structure

AES'in Substitution-Permutation Network (SPN) şifre yapısı, AES algoritmasının en önemli özelliğidir. Bu yapının amacı, açık metni şifrelemek için kullanılan anahtarın XOR edilerek ardışık matematiksel işlemlere tabi tutulmasıdır. SPN yapısı, AES algoritmasının en temel ve önemli adımlarından biridir.

SPN yapısı, yine bir blok şifreleme modunda çalışır. Açık metin ilk olarak bir blok boyutunda ayrılır. Daha sonra, her bir blok ayrı ayrı şifrelenir. SPN yapısı, şifreleme sırasında dört temel adımdan geçer. Bu adımlar şunlardır:

  1. Substitution: Bu adımda, bloktaki her bir byte, önceden belirlenmiş bir S-box tablosuna göre değiştirilir.
  2. Permutation: Bu adımda, bloktaki byte'lar belirlenmiş bir permutation fonksiyonuna göre yer değiştirir.
  3. Round Key: Bu adımda, AES anahtarları kullanılarak Round Keyler oluşturulur.
  4. XOR: Bu adımda, oluşturulan Round Keyler bloktaki byte'lara XOR edilir.

Yukarıdaki adımlar, tek bir turda gerçekleştirilir. Ancak, şifreleme işlemi birden fazla turda gerçekleştirilir. Her tur sonunda, bloktaki byte'lar tekrar her bir adımdan geçer ve işlem tekrarlanır. Bu nedenle, SPN yapısı, AES algoritmasında kullanılan en güvenli şifreleme yöntemlerinden biridir.

SPN yapısı, AES algoritmasında kullanılan birçok farklı S-box tablosu ve permutation fonksiyonları ile birlikte çalışabilir. Bu farklılıklar, şifreleme yöntemini daha güvenli hale getirirken, aynı zamanda daha karmaşık hale de getirir. Ancak, doğru şekilde kullanıldığında, SPN yapısı, AES şifreleme yönteminin güvenilirliğini sağlayan temel yapı taşlarından biridir.


Asymmetric Key Encryption (RSA)

Asimetrik şifreleme, açık anahtarlı şifreleme olarak da bilinen bir şifreleme yöntemidir. Bu yöntemde, iki farklı anahtar kullanılır: açık anahtar ve gizli anahtar. Açık anahtar, belirli bir mesajın şifrelenmesinde kullanılırken, gizli anahtar, mesajın çözülmesinde kullanılır. Bu yöntem, mesajın güvenliği açısından çok yüksek bir seviyede olduğu kabul edilir.

RSA, en yaygın kullanılan asimetrik şifreleme algoritmasıdır. Bu algoritma, Adi Shamir, Ron Rivest ve Leonard Adleman tarafından 1978 yılında geliştirilmiştir. RSA'nın en büyük avantajı, güvenli bir iletişimin yapılabilmesi için gereken anahtarların değiş tokuş edilmesinde problem yaşanmamasıdır. Ayrıca, RSA algoritması matematiksel hesaplamalar yapar ve bu hesaplamalar, mesajın şifrelenmesinde kullanıldığı gibi, mesajın çözülmesinde de kullanılır.

RSA, açık anahtar ve gizli anahtar olarak iki farklı anahtar kullanır. Açık anahtar, mesajın şifrelenmesinde kullanılırken, gizli anahtar, mesajın çözülmesinde kullanılır. Gizli anahtarın kimlik bilgileri, kullanıcının bilgisayarında saklanırken, açık anahtar kullanıcının halka açık bir şekilde paylaşılır. Bu sayede, herkes açık anahtarını kullanarak bir mesajı şifreleyebilir, ancak sadece gizli anahtara sahip olan kullanıcı bu mesajı çözebilir.

RSA algoritması, güvenli iletişimler yapan birçok uygulama tarafından kullanılır. Özellikle e-posta iletişimlerinde kullanılan Pretty Good Privacy (PGP) ve SSL, TLS, HTTPS protokolleri, RSA ile çalışan algoritmalardır. Bunların yanı sıra, bankacılık uygulamaları, online ödeme sistemleri ve diğer güvenlik gerektiren uygulamalar da RSA algoritmasını kullanırlar.

Sonuç olarak, asimetrik şifreleme teknolojisi, güvenli bir iletişim sağlamak için çok önemlidir. RSA algoritması, bu teknolojinin en yaygın kullanılan ve güvenilir algoritmalardan biridir. Ayrıca, diğer uygulamalar da RSA algoritmasını kullanarak güvenli bir iletişim sağlayabilirler.