Şifreleme.

Slides:



Advertisements
Benzer bir sunumlar
E-posta Forum Sohbet Sesli Görüntülü Konferans
Advertisements

Steganografi.
ASAL SAYILAR NERELERDE KULLANILIR ?
GÜVENLİ BİR E-POSTA UYGULAMASI: GÜ-POSTA
3 DÖNGÜLÜK SPN ALGORİTMASI İÇİN LİNEER KRİPTANALİZ UYGULAMASI
KONU :GÖRÜNTÜNÜN GEOMETRİK MODELLERİNİN KURULMASI
AES (Advanced Encryption Standart)
Elektronik ticarette güvenlik konusunda değerlendirilmesi gereken diğer bir konu da alıcıların elektronik ticaret sitelerinden alışveriş yapmak için vermek.
Değişkenler ve bellek Değişkenler
İNTERNET VE İLETİŞİM.
Dijital Dünyada Yaşamak
(Data Encryption Standard) Şifreleme Algoritması
SİMETRİK ŞİFRELEME SİSTEMLERİ VE ÖZELLİKLERİ
GAZİOSMANPAŞA ÜNİVERSİTESİ PAZAR MESLEK YÜKSEKOKULU
 Meltem KORCAY  Ayşe KUBİLAY
MD-5 (Message-Digest Algoritma).
Huffman Encoding by Snowblind.
OOP4 LAB.
Temel Şifreleme Yöntemleri
Özyinelemeli(Recursive) Algoritma Tasarımı
Anahtar Bağımlı Bir Şifreleme Algoritması (IRON )
ŞİFRELEME TEKNİKLERİ.
KRİPTO ALGORITMALARININ GELİŞİMİ VE ÖNEMİ
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
1.BELİRSİZ İNTEGRAL 2.BELİRSİZ İNTEGRALİN ÖZELLİKLERİ 3.İNTEGRAL ALMA KURALLARI 4.İNTEGRAL ALMA METODLARI *Değişken Değiştirme (Yerine Koyma)Metodu.
ARALARINDA ASAL SAYILAR
-2V +2V ab 0 255= bitlik hasssasiyet a: Analog, b: Dijital a=-0.45 ise b= →b= ADC (Analog to Digital Conversion):
İŞLETİM SİSTEMLERİ EYLÜL 2012.
ALT AĞLAR.
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
Asimetrik Şifreleme Sistemleri ve Özellikleri
Matematik Dersi üslü sayılar.
HATA DÜZELTEN KODLARA GİRİŞ
DİJİTAL ÖLÇÜLER.
Chapter 11: Exception Handling
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Asal Sayılar ve Çarpanlarına Ayırma
Resim Sıkıştırma Yonca BAYRAKDAR
CEBİRSEL İFADELERİ ÇARPANLARINA AYIRMA
ASİMETRİK ŞİFRELEME ALGORİTMALARINDA ANAHTAR DEĞİŞİM SİSTEMLERİ
PRODUCT CRYPTOSYSTEMS
AES S Kutusuna Benzer S Kutuları Üreten Simülatör
ASAL SAYILAR HAZIRLAYAN EYÜP GÜNER.
E-TICARET’TE GUVENLIK İZZET FURKAN EKİCİ BDTA-3020.
Şifreleme (Cryptography)
Sayı Sistemleri Geçen Hafta Kayan Noktalı Sayılar
ANALOG-SAYISAL BÜYÜKLÜK VE SAYI SİSTEMLERİ
Bilgi Teknolojisinin Temel Kavramları
İnternet Nedir Bilgisayar Ağları Ağ Çeşitleri
KIRKLARELİ ÜNİVERSİTESİ
Veri Madenciligi . Sınıflandırma ve Regresyon Ağaçları ( CART )
Adım Adım Algoritma.
METİNLERİ Matrislerle ŞİFRELEME
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
ÖMER ÜNALDI EDUROAM.
FAT VE NTFS DOSYA YAPISI
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
E-YEDEKLEMELİ SAKLAMA. E-Yedeklemeli Saklama E-Faturalarınız ve e-arşiv faturalarınız EDM e-fatura sistemine kaydolmanız ile beraber sistem üzerinden.
E-posta Forum Sohbet Sesli Görüntülü Konferans
MUHASEBE YEDEKLEME.
Algoritmalar II Ders 8 Açgözlü Algoritmalar.
RSA.
Temel Internet Kullanımı Y. Doç. Dr. M. Sıtkı İlkay Ekim 2006.
AES S Kutusuna Benzer S Kutuları Üreten Simulatör
Bilgisayar Mühendisliği Bölümü
YER DEĞİŞTİRME VE DEĞER DÖNÜŞTÜRME ÖZELLİĞİNE SAHİP GÖRÜNTÜ ŞİFRELEME ALGORİTMALARININ ANALİZİ Erdal GÜVENOĞLU Nurşen SUÇSUZ 
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Şifreleme

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.

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.

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.

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.

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.

Base64 Kodlama Veri DENEME Onaltılık Veri 44, 45, 4E, 45, 4D, 45 İkilik Veri 01000100 01000101 01001110 01000101 01001101 01000101 6’lı bloklar 010001 000100 010101 001110 010001 010100 110101 000101 6’lı bloklar(10luk) 17 4 21 14 17 20 53 5 Base64Çevrim REVORU1F

Base64 Kodlama (Artan Veri Olduğunda) İkilik Veri 00000001 Üç 8’li Bloğa Tamamlama 00000001 00000000 00000000 6’lı Bloklara Ayırma 000000 010000 000000 000000 Base64Çevrim AQ==

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.

Base64 İfade FA= İkilik İfade 000101 000000 000000 000000 8’lı Bloklara Ayırma 00010100 00000000 00000000 Orijinal Veri 0x14 (Onaltılık 14 verisi)

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);

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.

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.

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.

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

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

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.

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.

Başlıca kullanım alanları: E-posta gibi rutin uygulamalar Gömülü sistemler

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.

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.

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.

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).

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.

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.)

Ö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.

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.

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.

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.