• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Kriptografi & Şifreleme (Encryption) Algoritması

Merhaba değerli Yazılımcı / Programcı arkadaşlar, Günümüz dünyasında Bilgisayarların yaygınlaşmasıyla birlikte milyonlarca insan tarafından çeşitli amaçlarla kullanılmaktadır. Örneğin; Bankalarda, Alışverişlerde, Vergi Dönüşümlerinde, Askeri Orduda, Öğrenci Kayıtlarında…

14.08.2012

Yazar: Muhammed ÖNAL (Google+)

Kategori: VB.NET

22661

 

 KRİPTOGRAFİ & ŞİFRELEME(Encryption) ALGORİTMASI &

YAZININ ASCII KODLARINA ÇEVRİLMESİ

Merhaba değerli Yazılımcı / Programcı arkadaşlar,

Günümüz dünyasında Bilgisayarların yaygınlaşmasıyla birlikte milyonlarca insan tarafından çeşitli amaçlarla kullanılmaktadır. Örneğin; Bankalarda, Alışverişlerde, Vergi Dönüşümlerinde, Askeri Orduda, Öğrenci Kayıtlarında… Gibi örnekleri çoğaltabileceğimiz alanlarda çeşitli ihtiyaçlar için kullanılmaktadır. Fakat Gizlilik konusu hemen hemen bu alanların hepsinin temel sorunudur. Bundan dolayı Bilgi Güvenliğinin yeri tartışmasız bir şekilde kabul görmüştür. Bilgi hırsızlarına karşı alabileceğimiz önlemleri düşündüğümüzde de başlı başına sorunlarla karşılaşmaktayız. Yazacağımız uygulamalara, programlara… Vb. başkaları tarafından erişimi engellemek ve şifre yöntemiyle yetkilendirdiğimiz kişiler veya bilgileri kimsenin anlamayacağı şekilde şifrelemek ise günümüz dünyasında olmazsa olmazlar arasına girmiştir. Şifreleme yöntemi neredeyse her alanda kendini göstermeye başlamıştır. Bu yazımızda VB.Net Programlama dilinde Şifreleme Algoritmasını(Algorithm of Encyrption) Flow chart (Akış Diyagramı) ile vererek örnek bir uygulama çerçevesinde verilen bir yazıyı şifreleyerek bir dizi sayı olan ASCII kodlarına nasıl çevrildiğini göreceğiz. Hemen akabinde ise oluşturduğumuz şifrenin nasıl çözümleneceğine dair yöntemimizi belirteceğiz.
Haydi, başlayalım değerli yazılım aşığı dostlarım;

 

Dersimize başlamadan önce belli başlı temel kavramları açıklayarak konumuza bir giriş yapalım sevgili arkadaşlar;

Söz konusu dersimiz Şifreleme ve Güvenlik ise; Güvenliği iki başlık şeklinde inceleyebiliriz.

{C}1-      Bilgisayar Güvenliği:
Verilerimizi korumak ve bilgi hırsızlarını engellemek ve bunlara karşı alınacak tedbirlerin tümü olarak açıklayabiliriz.

{C}2-      Ağ Güvenliği: 

Basit olarak iletişim güvenliği diyebiliriz.

Güvenlik Sisteminin (Bilgisayar ve Ağ Güvenliğini) oluşturan katmanlar mevcuttur. Peki, nedir bu katmanlar? Diye aklınıza hemen bir soru takılmış olabilir. Katmanlarımız açıklayacak olursak:

Tüm Sistemin Güvenliği(Security of System)

Güvenlik Protokolleri(Security of Protocols)

Kriptografi(Cryptography)

Bu katmanlar içerisinde en üstten başlayacak olursak;

Tüm Sistemin Güvenliği; Tüm Ayrıntıları içerir, Mesela; Yönetim Politikası, Kişilerin Eğitimi vs. içeren katmandır.

Güvenlik Protokolleri:  Kriptoloji Algoritmalarını kullanarak bazı işlevselliği sağladığımız katmandır.

Kriptografi: Güvenlik katmanları mekanizmasının yapıtaşı diyebiliriz.

Cryptography (Crypt + Graphy), Kelimelerinin birleşmesinden meydana gelmiştir. Ve anlamı ise Gizli + Yazma anlamındadır. Peki,Kriptografi kelimesinin genel anlamı nedir? Dilerseniz bunu açıklayalım.

Kriptografi: Bilgi hırsızlarına karşı, bilginin güvenli bir şekilde alıcıya iletimini sağlamak amacıyla geliştirilmiş matematiksel yöntemlerdir.

Güvenlik mekanizmasına yapılan saldırılar iki çeşittir. Bunlardan biri Aktif Saldırılar (Active Attacks), diğeri ise Pasif Saldırılardır (Passive Attacks).

     àAktif Saldırılar

{C}-          Rol yapmak

{C}-          Gönderilen Eski mesajın tekrarlanması

{C}-          Aktarılan mesajın içeriğini değiştirme (Modification of Message)

{C}-          Hizmet dışı bırakarak engelleme (Interruption)

     àPasif Saldırılar

{C}-          Gönderilen Mesajın içeriğini edinme

{C}-          Sistem Trafiğinin akışını takip etme

Şeklinde gösterilebilir.

Eğer, bir sistemin Güvenliğini sağlamak istiyorsak bazı önemli gereksinimlere ihtiyacımız var demektir: Kriprografik bakış açısıyla güvenlik mekanizmasının koruma amaçları aşağıda verilen gereksinimleri karşılayabilmelidir:

{C}-          Gizlilik-Mahramiyet(Privacy)

Aktarımlarda verinin pasif saldırılardan korunarak şifrelenmesidir.

  Gönderici tarafta verinin şifreleme işlemlerinin gerçekleşmesi ve alıcı tarafta çözümlenmesi için Encryption-Decryption algoritmaları kullanılır. (Bu yazımızda bu konuya değineceğiz)

               Örneğin: Trafik akışının gizlenmesi gibi.

{C}-          Bütünlük (Data Integrity)

Aktarılan verinin bütünlünün sağlanmasıdır. Yani gönderilen mesajın içeriğinin değişmemesidir.

Verilerimize dair bütünlüğü sağlamak için HASH FUNCTION kullanılır. (Başka bir yazımızda HASH FUNCTION konusuna değineceğiz)

{C}-          Güvenirlik (Confidentiality)

Bilginin veya İletişim olayının doğrulanmış yetkili kişilerce yapılmasıdır. Bunlar dışında bu bilginin ve iletişimin okunmasına karşı korumadır.

{C}-          İnkâr Edememe  (non-repudation)

Gönderici tarafından gönderilen ve Alıcı tarafından alınan mesajın inkâr edilememesi olayıdır.

Mesela; Muhammed ÖNAL ile Veysel Uğur Kızmaz arasında bir para transferi yapıldığını düşünelim. Muhammed, Veysel Uğur’a  $1000 gönderdiyse , $2000 gönderdim diyemeyecek. Bu sistemin sağlanması için digital signature (e-imza) yöntemi kullanılır.

Şimdi ise, aşağıda verecek olduğumuz bazı önemli Güvenlik Saldırılarına karşı Kriptografi’ye gerçek anlamda niçin ihtiyaç duyduğumuzu anlamış olacağız.

İşte bu Güvenlik Saldırılarından bazıları:

 

{C}o   {C}Dinleme(Intercept):

Yetkilendirilmemiş yada kullanıcı kimliği doğrulanmamış bir tarafın kaynağa erişebilmesi ve bu kaynağı kopyalayabilmesidir.

Çözüm: Şifreleme (Encryption)

 

{C}o   {C}Engelleme (Interruption):

Kullanılan Sistemin kaynaklarından birinin kullanılamaz hale getirilmesidir. İletişim hattının kesilmesi gibi.

{C}o   {C}Donanım Çöktürmesi ve Yıkımı

{C}o   {C}Program ve Dosya silimi

{C}o   {C}DoS (hizmet aksattırma) saldırıları

Denial-of –Service, olarak bilinir. DoS saldırılarında hack etme olayı yoktur. DoS,saldırılarında tamamen kullanılan kaynaklar vasıtasıyla müşteriler ve ziyaretçilere geçici veya uzun süreli hizmeti kesintiye uğratmaktır.Bu saldırı tipinde yakalanmamak için Zombi adı verilen aracı bilgisayarlar vasıtasıyla gerçekleştirilir. Saldırılar bu Zombi aracı bilgisayarlar vasıtasıyla yapılarak aynı anda bir çok bilgisayarın saldırmasını sağlar ve kendi IP adresini ve kimliğini gizler.

 

Örneğin: wwww.Gittigidiyor.com sitesine DoS saldırısı olduğunu varsayalım. Bu Zombi denilen aracı bilgisayarlar vasıtasıyla yapılacağından , www.GittiGidiyor.com ticaret sitesinin müşterilerine ve kullanıcılarına hizmet vermeyi durdurarak milyarlarca maddi zarar vermiş olurlar.

 

 

Kripto grafik Temellerde, Klasik bir Şifreleme(Encyrption) olayının blok diyagramı aşağıdaki gibidir:


Blok diyagramımızı kısaca açıklayalım ve verilen ifadelerin ne anlama geldiğini gösterelim.

Key-Anahtar: Algoritma içinde kullanılan sadece alıcı ve gönderenin bildiği bilgilerdir.
Plaintext: Düz / Açık metindir. Orijinal mesajı içerir.
ciphertext: Kodlanmış mesajdır.
Cipher (Şifreleme Tekniği): Kolay ve anlaşılır bir metni anlaşılmaz hale getiren Şifreleme Algoritmasıdır.
Encrypt (E)-Şifrelemek: Verilen Düz metni, şifreli metine dönüştürme işlemidir.
Decrypt (D)-Deşifrelemek: Şifreli bir metni, düz metine geri çevirme işlemidir.
Kriptanaliz (Cryptanalaysis /Codebreaking): Anahtarı bilmeden şifreli metni, düz metine dönüştürme prensipleridir.

{C}—  Kriptoloji=Kriptografi+Kriptoanaliz (kelimelerinin birleşimi Kriptoloji bilimini doğurmuştur)

 

Bu bilgileri verdikten sonra örnek uygulamamıza geçerek Algoritmamızı yazalım.

ÖRNEK UYGULAMA:

Bir yazının şifrelenmesi olayı 3 aşamadan oluşur. Bu aşamaları sıralayacak olursak, şöyle diyebiliriz:

{C}1-      Verilen Yazının karakterleri ASCII kodlarına çevrilir

{C}2-      {C}Kodlar, gerekiyorsa başlarına 0(sıfır) konarak 4 haneli yapılır ve bütün kodlar sıralı halde String değişkeni şeklinde tutulur.

{C}3-      Sıralı halde yazdığımız kodlar, bir baştan, bir sondan karakter alınarak tekrar düzenlenir.

Evet, arkadaşlar göstermiş olduğumuz gibi Verilen bir yazının Şifrelenmesi için bu üç aşamanın gerçekleşmesi gerekir. Şimdi dilerseniz, kısa bir örnek dâhilinde vermiş olduğumuz bu aşamalara açıklık getirelim ve zihnimizde daha kalıcı hale getirelim.

Örneğin:

“Yazılım” kelimesinin şifrelenmesi

1.       Y a z ı l ı m karakterleri ASCII kodlarına çevrilir.

Y=121

A=97

Z=122

I=105

L=108

I=105

M=109

2.       Kodların başına 0(sıfır) konarak 4 haneli hale getirilir

0121

0097

0122

0105

0108

0105

0109

Ve sıralı halde bir String değişkenine yazılır:  0121009701220105010801050109

 

3.       Sayının ortasına kadar, önce baştan sonra sondan rakam alınarak tekrar yazılır.

0
0 9
0 9 1
0 9 1 0
0 9 1 0 2
0 9 1 0 2 1
0 9 1 0 2 1 1
0 9 1 0 2 1 1 0
0 9 1 0 2 1 1 0 0
0 9 1 0 2 1 1 0 0 5
0 9 1 0 2 1 1 0 0 5 0
0 9 1 0 2 1 1 0 0 5 0 0
0 9 1 0 2 1 1 0 0 5 0 0 9
0 9 1 0 2 1 1 0 0 5 0 0 9 1
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2 0
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2 0 0
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2 0 0 5
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2 0 0 5 1
0 9 1 0 2 1 1 0 0 5 0 0 9 1 7 0 0 8 1 0 2 1 2 0 0 5 1 0 = Şifre

Evet, arkadaşlar gördüğünüz gibi sıralı olarak son yazdığımız String, bizim elde ettiğimiz Şifre’mizdir.
Şimdi dilerseniz bunu programatik olarak Visual Studio platformunda kod sayfamız içerisinde gösterelim.

 

Visual Studio 2010 ile Windows proje formumuzu açalım:
Proje Adı:
yaziSifreleme


Açılan Formumuza 1 label kontrolü = lblSifre
                                  
1 buton kontrolü = btnSifrele    ekleyelim. Bu kontroller,kullanıcıdan alınan metinin şifrelenip form üzerindeki lblSifre adındaki label kontrolünde görüntülenmesini sağlayacaklardır.

             

Açılan formumuza lblDesifre adında bir label kontrolü ve btnSifreyiCoz adında da bir buton kontrolü ekleyelim.
Eklediğimiz bu kontroller şifrelenmiş metinin lblSifre kontrolünden alınarak, şifrelenip görüntülenmesini sağlayacaktırlar.

 

 

           

 

 

   ÖNEMLİ NOT:    Şifreleme algoritmasının tüm kodları btnSifrele kontrolünün Click olayında yazılacaktır.


Buraya kadar Visual Studio ortamında yapacaklarımız adım adım anlatarak göstermiş olduk. Şimdi de ASCII kodlarına Çevirme işleminin Algoritmasını Flow Chart olarak verelim:

 

ASCII kodlarına çevirme algoritması

1.        1. Şifrelenecek metinin girilmesi için gerekli kodu yazın. Bir metin girilene kadar kullanıcıdan metin istemek için Do Loop Until döngüsünü kullanın.

 

 

 

2.         2.Girilen yazının karakterlerini bir dizide toplamak için String değişkeninin ToCharArray() metodunu kullanın.

 

 

3.        3.Karakterlerin ASCII kodu karşılığını tutmak için kodlar isminde bir dizi oluşturun. Oluşturduğunuz bu Karakterler dizisindeki tüm elemanlar üzerinde işlem yapmak için bir döngü kurun. Karakterler dizisindeki her karakteri Asc hazır fonksiyonu ile ASCII koduna çevirin.

 

4.        4. Bu algoritma sonunda elde edilen kodlar dizisi, şifrelenecek olan metinin her karakterinin ASCII kodunu tutar. Bu dizi diğer algoritmanın giriş değeri olarak kullanılacaktır.

 

Sıralı Kodlara Çevirme Algoritması

 

Evet, arkadaşlar bir önceki algoritmamız verilen bir kelimenin ASCII kodlarına çevrilmesine dair algoritmamızdı. Burada vereceğimiz algoritma ise ASCII kodlarını Sıralı Kodlara Çevirme işlemini elde edecek algoritmadır. Yukarıda çevirdiğimiz ASCII kodlarını bir kez daha irdelemiş olursak, unutmamız gereken en önemli nokta; ASCII karakter kodları 0 ile 255 arasındadır. Yani toplamda 256’dır. Ve yine belirtmiştik, her kod maksimum 3 haneli olacaktır. Şifre oluşturduğumuzda ise küçük bir düzenleme yaparak bu kodların başına 0 (sıfır) getirerek 4 haneli hale getirmiştik.

 

En son yaptığımız işlem ise her karaktere ait ASCII kodunu yazdıktan sonra bu kod dizisini Sıralı halde belirtmiştik. Burada yapacağımız işlem ise diziden çektiğimiz kodları SiraliKodlar adlı bir String değişkenine yazabiliyor olacağımızdır.

 

Şimdi, programatik olarak adımlarımızı yazalım ve kullanacağımız değişkenleri belirleyelim:

 

1-      Diziden çekeceğimiz kodları sıralı bir halde tutmak için SiraliKodlar adlı bir değişken tanımlamamız gerekir. Ve daha sonra ilk yazdığımız ASCII kodlarını çevirme Algoritmasından alınan ASCII kodlarını tutan kodlar dizisi üzerinde bir döngü kurarız.

 

 

               

 


İşlemimize ait algoritmamız ise aşağıdaki gibidir.


Sıralı kodlara çevirme algoritması.

Önemli Uyarı: Sıralı Kodlar’a ekle (4 numaralı aşama) için yazılacak tüm kodlar While döngüsü içinde yazılmalıdır.

 

Bu döngüdeiçinde kullanılacak ASCII kodunu bir değişkene atan kodumuzu yazmalıyız.



      
' Alogritma - 1 numaralı aşama

       
 Dim AsciiKodu As String = kodlar(j)

 

 

2-       AsciiKodu değişkeninde tutulan Ascii kodununun 4 haneli hale getirilmesi için kaç tane sıfır ekleyeceğimizi bulmamız gerekir. Yukarıda belirtmiştik, Ascii kodları maksimum 3 haneli olur. Ve 0 ile 255 arasında bir değerdir. Şifre yapabilmek için ve 4 haneli hale getirmek için Ascii kodunun başına 0 (sıfır) koyarız. ( kaç sıfır yazabileceğimizi bulmak için 4- ascii kodu karakter kodu sayısı)

 

 

 


Dim eklenecek As Byte = 4 - AsciiKodu.Length

 

 

3-     {C}Eklenecek sayı kadar çalışacak bir döngü içinde, sıfır ekleme işlemini yapmamız gerekir.

 


   For i = 0 To eklenecek - 1

     ' Alogritma - 3 numaralı aşama

      AsciiKodu = AsciiKodu.Insert(0, 0)

   Next

 

 

4-      Düzenlenmiş AsciiKodu değerini SiraliKodlar değişkenine yazmamız gerekir ve sayacı(counter) bir artırarak diğer ASCII koduna geçmemiz gerekir.

 


  ' Alogritma - 4 numaralı aşama

       
    SiraliKodlar &= AsciiKodu

       
    j += 1

 

 

Algoritma sonunda ortaya çıkardığımız değer, karakterlerin 4 haneli ASCII kodlarını tutan bir String değişkenidir. Bu değişken, diğer algoritmayı tekrar düzenlemek üzere kullanacağız.

 

Evet, arkadaşlar adım adım verilen bir metinin ya da yazının şifreye çevrilmesi algoritmasına doğru gitmekteyiz. Bir sonraki algoritmamız, hiç kuşkusuz ki Şifre oluşturma Algoritması olacaktır. O zaman, zaman kaybetmeden bu algoritmamızı da Flow Chart şeklinde verelim ve gerekli açıklamaları yapalım.

 

Şifre Oluşturma Algoritması

Bir önceki algoritmada elde ettiğimiz SiraliKodlar değişkeni halen istediğimiz şifreli metin değildir. Çünkü 4 haneli kodlar sıralı bir şekilde durur ve kolayca çözülebilir. Şifrenin ilk bakışta anlaşılmasını daha da zorlaştırmak için, sıralanmış kodları biraz daha karıştırmamız gerekir.

 

Yapacağımız işlemlere dair algoritmamız aşağıdaki gibi olacaktır.

 



Şifrenin oluşturulması Algoritması

 

1-     Döngüde kullanacağımız j sayacını(counter) sıfırlamamız gerekir ve şifrenin tutulacağı değişkeni tanımlamamız gerekir.

 


  'Algoritma 1 numaralı aşama

   j = 0

   Dim Sifre As String

 


      2-  SiraliKodlar değişkeni üzerinde yapacağımız işlem sayısı, bir baştan, bir sondan seçim işlemi gerçekleştirdiğimiz için, değişkenin uzunluğunun yarısı kadardır. Sayacın bu uzunluğa kadar tanımlı olan bir döngü oluşturmamız gerekir.

 


'Algoritma 2 numaralı aşama

 Do While j < SiraliKodlar.Length / 2

 j += 1

 Loop

 

 
     3- Şifreye, SiraliKodlar değişkeni’nin j indisli karakterini eklememiz gerekir.


'Algoritma 3 numaralı aşama

 Sifre &= Mid(SiraliKodlar, j + 1, 1)

 

    4- Şifreye, SiraliKodlar değişkeninin uzunluk – j indisli karakterini eklememiz gerekir. Buradaki aşamada yazılacak tüm kodlar Do while döngüsü içine yazmamız gerekicek.

'


'Algoritma 4 numaralı aşama

Sifre &= Mid(SiraliKodlar, SiraliKodlar.Length - j, 1)

 

 

5.    Son olarak Ortaya çıkan şifre, girilen metinin ASCII kodlarının karışık düzende tutulması ile oluşturulur.

 


lblSifre.Text = "Girdiğimiz Metinin Şifrelenmiş hali: " & Sifre

 

 

 

Evet, arkadaşlar algoritmalarımız bu şekildedir. Bir çok kodu ve değişkeni nasıl tanımlayacağınızı, bunun yanı sıra karar aşamalarında hangi döngüleri kullanacağınıza dair bilgileri sizlerle paylaşmış olduk. Bilgi güvenliğini sağlamak için Kriptografi ve Şifreleme teknikleri olmazsa olmazlar arasındadır.  Algoritmalarımız yazımız içinde mevcuttur. Eğer,iyi programa bilgisine sahipseniz, eksik bıraktığımız yerleri sizler tamamlayabilirsiniz.

 

Bugünlükte bizden bu kadar diyor ve makalemizin sonuna gelmiş bulunuyoruz. Kafanıza takılan soru işaretleri var ise mail yoluyla sorularınızı iletebilirsiniz.

Yazılım ve Programlama aşkı ile tutuştuğumuz bir sonraki yazımızda görüşmek dileğiyle.

 NOT:
Bu makalemizde de gerek yerli gerek yabancı kaynakları tarayarak ve gerek kendi bilgi ve tecrübelerimizden kattığımız Programlama dünyasında Vb.Net ve Kriptografi & Bilgi Güvenliği, başlıklarında verilen bir metinin Şifrelenmesi ve Ascii kodlarına çevrilmesine ilişkin algoritmaları ve bunlara dair açıklama ve metotları birlikte irdelemiş olduk. Bir sonraki yazımızda ise Şifreyi nasıl çözeceğimizi yani Decryption Algoritmasını sizlerle irdelemiş olacağız. Programlama dünyasının bu büyülü dünyasına adım atan arkadaşlara yol gösterici olması amacıyla faydalı olması dileğiyle. Bir sonraki makalemizde görüşmek dileğiyle şimdilik hoşça kalın.

Kaynak:   Muhammed ÖNAL,2012. NET Programming languages  & Examples
                 Bilge Adam, .Net Programlama Yazılım Uzmanı 1
                 William Stalling, Cryptography and Network Security 5.th edition


Saygılarımla;

Muhammed ÖNAL
Bilgisayar Mühendisi
RFID Sistemleri Uzmanı
BT Yönetişimcisi

Blog:  http://www.muhammedonal.com
Web : http://www.yazilimdilleri.net


Copyright © Muhammed ÖNAL , 2012

 

 

Yazar Hakkında

Muhammed ÖNAL

Muhammed ÖNAL

www.muhammedonal.com

Bilgisayar Mühendisi | RFID Sistemleri Uzmanı | BT Yönetişimcisi | Strateji Planlama ve İş Geliştirme 2015 itibariyle sağlık sektöründe Bilgi Sistemleri Yöneticisi ve Üst yönetim Stratejik Planlama ve İş Geliştirme Koordinatörü pozisyonunda çalışmaktadır.

Sosyal Medya

ORANLAR

  • 22661izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 124113
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 71306
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51908
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ