Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Şifreleme
2
Base64 Base64 şifrelemeden ziyade sayı sistemidir
İkilik sayı sistemi base2, onluk sayı sistemi base10, onaltılık sayı sistemi ise base16'dır. 64'lük sayı sisteminin en önemli özelliği 6bit ile ifade edilebilmesidir. "111111" verisinin 10'luk karşılığı 63 olacaktır. Yani 6 bit ile 64 adet farklı karakter kodlayabiliriz.
3
Base64'ün temel mantığı, 8 bitlik ifadeleri, 6 bitlik bloklar halinde ifade edip artan verileri ise farklı bir karakter ile görüntülemeye dayanır. Base64'ün harfsel gösterimi ise sırası ile A-Z, a-z ve 0-9'dur. Bunlardan ayrı olarak '+' ve '/‘ işaretleri kullanılır. Artık veriler ise '=' ile gösterilir.
4
Tüm 8 bitlik veriler, 6 bitlik ifadelere dönüştürülüp görülebilir karakterler seklinde ifade edilir.
Bu özellik Base64'ü metin tabanlı iletişim kurallarının gözde aktarım şekli haline getirir. Resim, müzik, çalıştırılabilir dosyaları tüm ASCII karakterler yerine görülebilir karakterler seklinde ifade edebiliriz. Base64 kodlama bu özelliği sayesinde E-posta aktarımı gibi belli başlı iletişim kurallarında ikili dosyaların kolayca aktarılmasını sağlar.
5
Resim, müzik gibi ikilik verileri hiç bir dil kodlamasına bağımlı kalmadan veritabanlarına, XML dosyalarına kolayca ekleyebilirsiniz. Base64 bir şifreleme algoritması değildir. Fakat metinlerinizi kolayca herkesin okuyamayacağı bir biçime getirip, yine aynı kolaylıkla eski haline getirebilirsiniz.
7
Base64 Kodlama Base64 kodlamada öncelikle yapılması gereken şey; veriyi 3'er karakterlik bloklara ayırmaktır. 3'er bayt uzunluğundaki veriler, 4 adet 6 bitlik bloklar oluşturur. (3 x 8 = 4 x 6) Bu bloklar ise kolayca Base64 karakter tablosuna göre ifade edilir.
8
Base64 Kodlama Veri DENEME Onaltılık Veri 44, 45, 4E, 45, 4D, 45
İkilik Veri 6’lı bloklar 6’lı bloklar(10luk) Base64Çevrim REVORU1F
9
Base64 Kodlama (Artan Veri Olduğunda)
İkilik Veri Üç 8’li Bloğa Tamamlama 6’lı Bloklara Ayırma Base64Çevrim AQ==
10
Base64 Geri Kodlama Base64 kodlamada veriyi kodlarken 3'er li bloklara bölüyorduk. 3 x 8 bit = 4 x 6 bit. Yani her 3 baytlık blok 4 baytlık yeni bir blok olarak bize geri dönmektedir. Bir başka değişle giren veri %33 oranında uzayıp çıkacaktır. Geri kodlama işleminde ise veri 4'erli guruplar halinde alınır. Base64 karakter tablosuna göre geri kodlanır. "=" karakteri bulunan 4'erli bir adet gurup bulunabilir. Bu artan veriyi gösterir.
11
Base64 İfade FA= İkilik İfade 8’lı Bloklara Ayırma Orijinal Veri 0x14 (Onaltılık 14 verisi)
12
C# Kodlama public static string Base64Encode(string normalMetin) {
var narmalMetinBytes = System.Text.Encoding.UTF8.GetBytes(normalMetin); return System.Convert.ToBase64String(narmalMetinBytes); } public static string Base64Decode(string base64DonusturulmusData) var base64EncodedBytes = System.Convert.FromBase64String(base64DonusturulmusData); return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
13
Blowfish Blowfish algoritması, en çok kullanılan güçlü anahtar tabanlı şifrelemelerden biridir. Önemli belgelerinizi, yazışmalarınızı bu algoritmayı kullanarak şifreleyebilirsiniz. Yeni bir sistem tasarlarken istemci - sunucu arasındaki veri transferini bu algoritmayı kullanarak kısmen güvenli hale getirebilirsiniz. Blowfish, simetrik bir şifreleme sunar.
15
Blowfish algoritmasında anahtar boyutu, asgari 32 bit azami 448 arasında olmalıdır.
Genelde ön tanımlı olarak 128 bit uzunluğunda alınır. Şifrelemeye girecek blokların uzunlukları ise 64 bittir.
16
Algoritması Blowfish ‘te veriler 64 bitlik bloklar halinde şifrelenir. Algoritma 2 kısımdan oluşur: anahtarın genişletilmesi ve şifreleme. Anahtar genişletmede en fazla 468 bit uzunluğunda olan anahtar çok sayıda alt anahtarlarla 4168 bite genişletilir Veriler, basit bir fonksiyonun 16 kez kullanılmasıyla şifrelenir. Her turda anahtara bağımlı permutasyon ve veriye bağımlı yer değiştirme işlemleri yürütülür.
17
4 S kutusunun her birinde 256 kayıt vardır:
Blowfish ‘te 32 bitlik 18 adet alt anahtar bulunmaktadır: P1, P2,..., P18 4 S kutusunun her birinde 256 kayıt vardır: S1,0, S1,1,..., S1,255 S2,0, S2,1,..., S2,255 S3,0, S3,1,..., S3,255 S4,0, S4,1,..., S4,255
18
Blowfish 16 turdan oluşur ve giriş verisi 64 bittir (x olsun)
Blowfish 16 turdan oluşur ve giriş verisi 64 bittir (x olsun). Buna göre şifreleme işlemi şöyle yapılır: x ‘i 32 bitlik 2 parçaya böl: xL, xR For i = 1 to 16: xL = xL ⊕ Pi xR = F(xL) ⊕ xR xL ve xR ‘yi takas et xL ve xR ‘yi takas et (son takası geri al) xR = xR ⊕ P17 xL = xL ⊕ P18 xL ve xR ‘yi geri birleştir
19
Avantajları Şu ana kadar bilinen bir Blowfish şifre kırıcı mevcut değildir. Piyasada kullanılan en hızlı öbek şifreleyicilerdendir. İçerdiği karmaşık anahtar çizelgesi şifrenin kırılmasını zorlaştırmıştır. Herkesin kullanımına açıktır. Kullanmak için lisans alma problemi yoktur.
20
Dezavantajları Çalışmak için 4 kilobyte RAM'den daha fazla belleğe ihtiyaç duyarlar. Bu nedenle ilk akıllı kartlar gibi en küçük gömülü sistemlerde kullanılamazlar. 232'den fazla veri öbeğini şifrelemek, Blowfish'in zayıflayıp doğum günü saldırılarıyla bilgi sızdırılmasına sebep olabilir.
21
Başlıca kullanım alanları:
E-posta gibi rutin uygulamalar Gömülü sistemler
22
DES (Data Encryption Standard)
DES, Federal Information Process Standard (FIPS) olarak geçen resmi standartlara girmiş bir algoritmadır. Anahtarın DES algoritmasında 8bayt uzunluğunda olma zorunluluğu, gelişen işlemci teknolojisi ile bu şifreleme algoritması ile şifrelenen verilerin 24 saatten kısa sürede çözülmesine neden olmaktadır. Bu nedenle DES artık güncelliğini yitirmiş bir algoritmadır. DES, simetrik bir şifreleme algoritmasıdır. Tek anahtar ile şifreleme ve geri şifreleme işlemleri yapılabilmektedir.
23
DES, algoritmasının günümüzde kullanılmaması üzerine bu algoritmanın çeşitli türevleri geliştirilmiştir. Örneğin, 3DES (TripleDES) algoritmanın 3 defa iki farklı anahtar ile şifrelenmesini sağlamaktadır. Bu manada kırılması oldukça güç bir algoritması ortaya çıkar. Bir diğer DES türevi algoritma ise AES (Advanced Encryption Standart)'dir. Bu algoritma günümüzde oldukça sık kullanılan gelişmiş bir algoritmadır. 128, 192 veya 256 bitlik anahtar boyutlarına 128 bitlik blok boyutlarına sahiptir.
25
RC4 RC4 belirlenen anahtar ile veriyi şifreleyen bir algoritmadır.
Kullanımı herhangi bir lisans gerektirmemektedir. Değişken anahtar uzunluğuna sahiptir. Bilinen kötü anahtara sahip değildir. Şifreleme hızı oldukça yüksektir. Anahtar boyutu 40 ve 256 bit arasında olmalıdır.
27
RSA RSA, Ron Rivest, Adi Shamir, Len Adleman adlı üç adet MIT'li akademisyenin bulduğu ortak anahtarlı asimetrik bir algoritmadır. Bu algoritma, ilk ortak anahtarlı (public-key) asimetrik şifreleme algoritmasıdır. RSA, bir asimetrik algoritma olarak iki anahtar barındırır. Birisi herkes tarafından bilinen ortak anahtar (public-key) diğeri ise geri şifreleme işleminde kullanılacak olan özel anahtardır (private-key).
28
Bir RSA kullanıcısı iki büyük asal sayının çarpımını üretir ve seçtiği diğer bir değerle birlikte ortak anahtar olarak ilan eder. Seçilen asal çarpanları ise saklar. Ortak anahtarı kullanan biri herhangi bir mesajı şifreleyebilir, ancak şu anki yöntemlerle eğer ortak anahtar yeterince büyükse sadece asal çarpanları bilen kişi bu mesajı çözebilir. RSA şifrelemeyi kırmanın çarpanlara ayırma problemini kırmak kadar zor olup olmadığı hala kesinleşmemiş bir problemdir.
29
Anahtar Üretimi İki adet birbirinden değişik asal sayı seçin, bunların adını da p ve q koyalım. Güvenlik amacıyla p ve q sayıları rastgele seçilmeli ve yakın uzunlukta olmalıdırlar. Bu sayılar asallık testi kullanılarak etkin bir şekilde bulunabilir. n=p*q hesaplayın. n özel ve ortak anahtarlar için mod değeri olarak kullanılacaktır. Bu sayıların totientı olan hesaplayın. Bir tam sayı üretin ve adını da e koyun. Bu sayı, koşuluna uygun olmalı ve ile en büyük ortak böleni 1 olmalıdır (başka bir deyişle ve kendi aralarında asal olmalıdır). e ortak anahtar olarak açıklanır. Bit uzunluğu kısa olan ve küçük Hamming Ağırlığına sahip e değerleri (yaygın olarak 0x10001 = 65,537) daha verimli şifreleme sağlarlar. Fakat küçük e değerleri (örneğin 3) bazı durumlarda güvenliği azaltabilir. olacak şekilde bir d'yi belirleyin. d özel anahtar üssü olarak saklanır. d değeri genellikle Genişletilmiş Öklid Algoritması kullanılarak hesaplanır. Ortak anahtar mod değeri olan n’den ve ortak üs olan e’den oluşur. Özel anahtar ise mod değeri olan n’den ve özel üs olan ve gizli kalması gereken d’den oluşur. (p,q,p(n) değerleri de gizli kalmalıdır çünkü d’yi hesaplamada kullanılırlar.)
34
Örnek olarak; Ayse ve Ali arasında özel bir e-posta gönderilecektir.
Ayşe, Aliye bir e-posta yazar. E-postayı yazdıktan sonra RSA algoritması kullanarak ikisi tarafından bilinen ortak anahtar ile şifreler. Ali, e-postayı açmak için yalnız kendinin bildiği özel anahtar ile geri şifreleme yapar. Mesaj artık güvenli bir şekilde Alinin eline geçmiştir.
35
Ortak Anahtarlı Asimetrik Şifrelemeler,
Askeri güvenlik, e-ticaret siteleri, VPN (Virtual Private Network - Özel Sanal Ağlar) gibi yüksek güvenlik çözümleri isteyen siteler tarafından kullanılır.
36
Temelde RSA şifrelemesi iki asal sayının çarpımına dayanır.
Çok büyük basamaklı iki asal sayının çarpımının hangi iki asal sayı olduğunu bulmak oldukça zordur.
37
RSA algoritmasının kullanım sahasına örnek verecek olursak SSH (Secure Shell) programının kullanıcı yetkilendirilmesini verebiliriz. SSH genelde unix sistemlerde kullanılan uzak komut kabuğudur. Genelde uzaktaki makinelerin komut istemine düşmek için SSH kullanılır. Telnetten en önemli farkı ise aradaki haberleşme şifrelenerek gerçekleşir.
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.