C/C++ Şifreleme ve Şifre Çözme _ || L A N G E W E İ L E || _

Langeweile

Katılımcı Üye
30 Tem 2016
834
0
C:\User\
C/C++ Şifreleme ve Şifre Çözme

#Öncelikle Merhabalar#

Hazırladığım Anketin Süresi Dolmuş Bulunmakta, Sonuçlar Şaşırtmadı Aslında. Anket'e burdan gidebilirsiniz...
Kod:
http://www.turkhackteam.org/c-c/1456675-c-project.html



1.gif

WgvNQ4.gif

1.gif



Bu Konuda Öncelikle Bazı Şifreleme Çeşitlerini Anlatacağım, Sonrasında C++' Uyarlamalarımdan, Algoritmasından Bahasedeceğim.

Bu Konuma Diğerlerinden Biraz Daha
Özen Göstereceğim Çünkü Üyelere Yararlı Olmasını Ve Forumdaki C/C++ Bölümünde Sabite Alınmasını İstiyorum...


# C++ ŞİFRELEME VE ŞİFRE ÇÖZME #

Yukarıda Bahsettiğim Uygulayabileceğimiz Bazı Şifreleme Algoritmalarından Bahsetmeden Önce Kripyografinin Ne Olduğunu Bilmeyen Üyeler için Anlamını Veriyim, Önceden Bilen Kullanıcılar Bu Kısmı Atlayabilir.

Kriptografi


"Kriptografi, gizlilik, kimlik denetimi, bütünlük gibi bilgi güvenliği kavramlarını Sağlamak İçin Çalışan matematiksel yöntemler bütünüdür."
Yani Yazıcağımız (MERHABA) Kelimesini (jdıdk82k)' a Çevirebiliriz.
Bu Konuda Üstünde Duracağımız Bir Diğer Olay İse Bu Şifreyi Kırmak, (jdıdk82k) Şifresini (MERHABA) Kelimesine Geri Döndürmek.
o04pPo.jpg

Bir Mesaj Kişiye Ulaşmadan Önce Bir Anahtarla Şifrelenir Ve Alıcıya Yollanır. Anahtarı Sadece Alıcı Ve Yollayan Bildiği İçin Başkasının Eline Geçsede Okuyamaz.
Belki Havij Gibi Programlardan Bilen Vardır. SQL Açığını Bulsak Bile Bize Bilgileri Şifreli verir. Bizimde C++ Algoritmamızda Gidiceğimiz Yol Böyledir
Mesajı Şifreleriz Ve Arkadaşımıza Atarız Aynı Program Onda Da Olduğu İçin Şifreyi Kırar Ve Mesaja Ulaşır...



# C++'da KULLANICAĞIMIZ BAZI ŞİFRELEME ALGORİTMALARI #




SEZAR ŞİFRELEMESİ
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg


"Sezar Şifrelemesi. Tarihin ilk Kriptolojik Fikirleri İngilizce'de Transposition And Substitution Cipher Adını Taşır, Yani Yer Değiştirme Ve Harf Değiştirme Şifrelemesi. Bu Yöntemlerden İlki Bir Yazıdaki Harflerin Yerlerini Değiştirerek, İkincisi İse Harfleri Başka Harflerle Değiştirerek Elde Edilir."




KARE ŞİFRELEME
Nl0m0g.jpg

"Bu Şifrelemede Yine Sezar'a Aittir. Eski Çağlarda Kullanılan Bilgi Gizleme Yöntemlerinden Biri Kare Şifrelemedir. Bu Şifreleme Yönteminde Şifrelenicek Metin İçersindeki Boşluklar Çıkarılacak Soldan Sağa Doğru Bir Dikdörtgen İçerisine Yerleştirilir. Daha Sonra Bu Dikdörtgen İçersindeki Metinler Yukarıdan Aşağıya Doğru Yazılarak İlgili Metin Şifrelenmiş Olur."


# C++ ALGORİTMALARI #




SEZAR ŞİFRELEME

Mantık : Kullanacağımız Harf Dizelerini Düşünmek Ve Alfabemizdeki Her Harfi CHAR Değeri Olarak Oluşturmak, Random Bir Harf Veya Sayı Değeri Vermek. İsterseniz Belirli Bir Düzene Görede Değerlerini Ayarlayabilirsiniz. Şifreyi Kirmak İçin Kodu Tersine Çevirin..
ÖRNEK 1;
Kod:
[I]#include<stdio.h>
#include<conio.h>
#include<locale.h>
#include<windows.h>
int main(){
	setlocale(LC_ALL ,"Turkish"); 
         char word;
		char a[] = "ad56";
		char b[] = "a62d";
		char c[] = "85ss";
		char d[] = "q546";
		char e[] = "pls5";
		char f[] = "fck7";
		char g[] = "sasd";
		char h[] = "a23d";
		char i[] = "k練n";
		char j[] = "8*7b";
		char k[] = "r-!t";
		char l[] = "62+s";
		char m[] = "+s/5";
		char n[] = "564!";
		char o[] = "!56f";
		char p[] = "+a$+";
		char r[] = "+a*f";
		char s[] = "af1f";
		char t[] = "aas9";
		char u[] = "assa";
		char v[] = "gay5";
		char y[] = "mrt6";
		char z[] = "cenk";
		char x[] = "+^#2";
		char w[] = "+7$1";
	system("color 0e");
        Beep(523,800);
         while(true){
		Beep(500,500);
		scanf("%s" ,&word);
		switch(word) {
            case 'a': 
	        printf("%s\n" ,a);
            break;
            case 'b':  
	        printf("%s\n" ,b);
            break;
            case 'c': 
           	printf("%s\n" ,c);
            break;
            case 'd': 
            printf("%s\n" ,d);
            break;
            case 'e': 
            printf("%s\n" ,e);
            break;
            case 'f': 
            printf("%s\n" ,f);
            break;
            case 'g': 
            printf("%s\n" ,g);
            break;
            case 'h': 
            printf("%s\n" ,h);
            break;
            case 'i': 
            printf("%s\n" ,i);
            break;
            case 'j': 
            printf("%s\n" ,j);
            break;
            case 'k': 
            printf("%s\n" ,k);
            break;
            case 'l': 
            printf("%s\n" ,l);
            break;
            case 'm': 
            printf("%s\n" ,m);
            break;
            case 'n': 
            printf("%s\n" ,n);
            break;
            case 'o': 
            printf("%s\n" ,o);
            break;
            case 'p': 
            printf("%s\n" ,p);
            break;
            case 'r': 
            printf("%s\n" ,r);
            break;
            case 's': 
            printf("%s\n" ,s);
            break;
            case 't': 
            printf("%s\n" ,t);
            break;
            case 'u': 
            printf("%s\n" ,u);
            break;
            case 'v': 
            printf("%s\n" ,v);
            break;
            case 'y': 
            printf("%s\n" ,y);
            break;
            case 'z': 
            printf("%s\n" ,z);
            break;
            case 'x': 
            printf("%s\n" ,x);
            break;
            case 'w': 
            printf("%s\n" ,w);	 
		}
  }
		}
	}
	getch();
	return 0;
}[/B]
(SEZAR ŞİFRELEMESİNİN ALGORİTMASINDA ANLAMADIĞINIZ BİR YER OLDU İSE YORUMLARDA BİLDİRİNİZ)
ÖRNEK 2;
Sezar Şifrelemesi İle İlgili Olan Konuma Gitmek İçin Link'e Tıklayınız...
Kod:
http://www.turkhackteam.org/c-c/1392459-mesajlarinizi-sadece-arkadaslariniz-okuyabilsin.html



KARE ŞİFRELEME

Bunun Mantığını Açıklama Gereği Duymadım Kodlara Bakınca Zaten Basitliğini Anlıyıcaksınız.Şifreyi Kirmak İçin Kodu Tersine Çevirin.
ÖRNEK 1;

Kod:
#include<stdio.h>
#include<cstring>

using namesoace std;
#define MAX 100 

int main() 
{
       int n, m, son_uzunluk;
       char cumle[MAX] [MAX];

        cin >> n >> m;
        for(int i = 0; i < n; i++) {
              cin >> cumle[i]; 
         }
         son_uzunluk = strlen(cumle[n-1])
         for(int i = 0; i< m;i++){
               for(int j = 0; j< n;++j){ 
                     if(j<n - 1 || i< son_uzunluk)
                           cout << cumle[j] [i];
          }
          cout << " ";
        }
    return 0;
}

(KARE ŞİFRELEMESİNİN ALGORİTMASINDA ANLAMADIĞINIZ BİR YER OLDU İSE YORUMLARDA BİLDİRİNİZ)


KODLARDAN BİRİ(SEZAR) "C" DİĞERİ(KARE) "C++" İÇİNDİR. SADECE MANTIĞINI VERDİM "C" OLANI "C++" A UYARLAYABİLİRSİNİZ...


Bir Sanraki Anket Konusunu Haftaya Paylaşacağım
[/I]
 
Son düzenleme:

XMX0

Üye
8 Eyl 2016
213
0
İZMİR
Eline sağlık konuyu okudum, sabite alınsa iyi olur. Yanlız fonksiyonları biraz daha açıklasaydın keşke azıcık karmaşık...
 

hakki hakyemez

Yeni üye
8 Eyl 2007
37
0
::1
#Öncelikle Merhabalar#

Hazırladığım Anketin Süresi Dolmuş Bulunmakta, Sonuçlar Şaşırtmadı Aslında. Anket'e burdan gidebilirsiniz...
Kod:
http://www.turkhackteam.org/c-c/1456675-c-project.html



1.gif

WgvNQ4.gif

1.gif



Bu Konuda Öncelikle Bazı Şifreleme Çeşitlerini Anlatacağım, Sonrasında C++' Uyarlamalarımdan, Algoritmasından Bahasedeceğim.

Bu Konuma Diğerlerinden Biraz Daha
Özen Göstereceğim Çünkü Üyelere Yararlı Olmasını Ve Forumdaki C/C++ Bölümünde Sabite Alınmasını İstiyorum...


# C++ ŞİFRELEME VE ŞİFRE ÇÖZME #

Yukarıda Bahsettiğim Uygulayabileceğimiz Bazı Şifreleme Algoritmalarından Bahsetmeden Önce Kripyografinin Ne Olduğunu Bilmeyen Üyeler için Anlamını Veriyim, Önceden Bilen Kullanıcılar Bu Kısmı Atlayabilir.

Kriptografi


"Kriptografi, gizlilik, kimlik denetimi, bütünlük gibi bilgi güvenliği kavramlarını Sağlamak İçin Çalışan matematiksel yöntemler bütünüdür."
Yani Yazıcağımız (MERHABA) Kelimesini (jdıdk82k)' a Çevirebiliriz.
Bu Konuda Üstünde Duracağımız Bir Diğer Olay İse Bu Şifreyi Kırmak, (jdıdk82k) Şifresini (MERHABA) Kelimesine Geri Döndürmek.
o04pPo.jpg

Bir Mesaj Kişiye Ulaşmadan Önce Bir Anahtarla Şifrelenir Ve Alıcıya Yollanır. Anahtarı Sadece Alıcı Ve Yollayan Bildiği İçin Başkasının Eline Geçsede Okuyamaz.
Belki Havij Gibi Programlardan Bilen Vardır. SQL Açığını Bulsak Bile Bize Bilgileri Şifreli verir. Bizimde C++ Algoritmamızda Gidiceğimiz Yol Böyledir
Mesajı Şifreleriz Ve Arkadaşımıza Atarız Aynı Program Onda Da Olduğu İçin Şifreyi Kırar Ve Mesaja Ulaşır...



# C++'da KULLANICAĞIMIZ BAZI ŞİFRELEME ALGORİTMALARI #




SEZAR ŞİFRELEMESİ
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg
9gZ0NQ.jpg


"Sezar Şifrelemesi. Tarihin ilk Kriptolojik Fikirleri İngilizce'de Transposition And Substitution Cipher Adını Taşır, Yani Yer Değiştirme Ve Harf Değiştirme Şifrelemesi. Bu Yöntemlerden İlki Bir Yazıdaki Harflerin Yerlerini Değiştirerek, İkincisi İse Harfleri Başka Harflerle Değiştirerek Elde Edilir."




KARE ŞİFRELEME
Nl0m0g.jpg

"Bu Şifrelemede Yine Sezar'a Aittir. Eski Çağlarda Kullanılan Bilgi Gizleme Yöntemlerinden Biri Kare Şifrelemedir. Bu Şifreleme Yönteminde Şifrelenicek Metin İçersindeki Boşluklar Çıkarılacak Soldan Sağa Doğru Bir Dikdörtgen İçerisine Yerleştirilir. Daha Sonra Bu Dikdörtgen İçersindeki Metinler Yukarıdan Aşağıya Doğru Yazılarak İlgili Metin Şifrelenmiş Olur."


# C++ ALGORİTMALARI #




SEZAR ŞİFRELEME

Mantık : Kullanacağımız Harf Dizelerini Düşünmek Ve Alfabemizdeki Her Harfi CHAR Değeri Olarak Oluşturmak, Random Bir Harf Veya Sayı Değeri Vermek. İsterseniz Belirli Bir Düzene Görede Değerlerini Ayarlayabilirsiniz. Şifreyi Kirmak İçin Kodu Tersine Çevirin..
ÖRNEK 1;
Kod:
[I]#include<stdio.h>
#include<conio.h>
#include<locale.h>
#include<windows.h>
int main(){
	setlocale(LC_ALL ,"Turkish"); 
         char word;
		char a[] = "ad56";
		char b[] = "a62d";
		char c[] = "85ss";
		char d[] = "q546";
		char e[] = "pls5";
		char f[] = "fck7";
		char g[] = "sasd";
		char h[] = "a23d";
		char i[] = "k練n";
		char j[] = "8*7b";
		char k[] = "r-!t";
		char l[] = "62+s";
		char m[] = "+s/5";
		char n[] = "564!";
		char o[] = "!56f";
		char p[] = "+a$+";
		char r[] = "+a*f";
		char s[] = "af1f";
		char t[] = "aas9";
		char u[] = "assa";
		char v[] = "gay5";
		char y[] = "mrt6";
		char z[] = "cenk";
		char x[] = "+^#2";
		char w[] = "+7$1";
	system("color 0e");
        Beep(523,800);
         while(true){
		Beep(500,500);
		scanf("%s" ,&word);
		switch(word) {
            case 'a': 
	        printf("%s\n" ,a);
            break;
            case 'b':  
	        printf("%s\n" ,b);
            break;
            case 'c': 
           	printf("%s\n" ,c);
            break;
            case 'd': 
            printf("%s\n" ,d);
            break;
            case 'e': 
            printf("%s\n" ,e);
            break;
            case 'f': 
            printf("%s\n" ,f);
            break;
            case 'g': 
            printf("%s\n" ,g);
            break;
            case 'h': 
            printf("%s\n" ,h);
            break;
            case 'i': 
            printf("%s\n" ,i);
            break;
            case 'j': 
            printf("%s\n" ,j);
            break;
            case 'k': 
            printf("%s\n" ,k);
            break;
            case 'l': 
            printf("%s\n" ,l);
            break;
            case 'm': 
            printf("%s\n" ,m);
            break;
            case 'n': 
            printf("%s\n" ,n);
            break;
            case 'o': 
            printf("%s\n" ,o);
            break;
            case 'p': 
            printf("%s\n" ,p);
            break;
            case 'r': 
            printf("%s\n" ,r);
            break;
            case 's': 
            printf("%s\n" ,s);
            break;
            case 't': 
            printf("%s\n" ,t);
            break;
            case 'u': 
            printf("%s\n" ,u);
            break;
            case 'v': 
            printf("%s\n" ,v);
            break;
            case 'y': 
            printf("%s\n" ,y);
            break;
            case 'z': 
            printf("%s\n" ,z);
            break;
            case 'x': 
            printf("%s\n" ,x);
            break;
            case 'w': 
            printf("%s\n" ,w);	 
		}
  }
		}
	}
	getch();
	return 0;
}[/B]
(SEZAR ŞİFRELEMESİNİN ALGORİTMASINDA ANLAMADIĞINIZ BİR YER OLDU İSE YORUMLARDA BİLDİRİNİZ)
ÖRNEK 2;
Sezar Şifrelemesi İle İlgili Olan Konuma Gitmek İçin Link'e Tıklayınız...
Kod:
http://www.turkhackteam.org/c-c/1392459-mesajlarinizi-sadece-arkadaslariniz-okuyabilsin.html



KARE ŞİFRELEME

Bunun Mantığını Açıklama Gereği Duymadım Kodlara Bakınca Zaten Basitliğini Anlıyıcaksınız.Şifreyi Kirmak İçin Kodu Tersine Çevirin.
ÖRNEK 1;

Kod:
#include<stdio.h>
#include<cstring>

using namesoace std;
#define MAX 100 

int main() 
{
       int n, m, son_uzunluk;
       char cumle[MAX] [MAX];

        cin >> n >> m;
        for(int i = 0; i < n; i++) {
              cin >> cumle[i]; 
         }
         son_uzunluk = strlen(cumle[n-1])
         for(int i = 0; i< m;i++){
               for(int j = 0; j< n;++j){ 
                     if(j<n - 1 || i< son_uzunluk)
                           cout << cumle[j] [i];
          }
          cout << " ";
        }
    return 0;
}

(KARE ŞİFRELEMESİNİN ALGORİTMASINDA ANLAMADIĞINIZ BİR YER OLDU İSE YORUMLARDA BİLDİRİNİZ)


KODLARDAN BİRİ(SEZAR) "C" DİĞERİ(KARE) "C++" İÇİNDİR. SADECE MANTIĞINI VERDİM "C" OLANI "C++" A UYARLAYABİLİRSİNİZ...


Bir Sanraki Anket Konusunu Haftaya Paylaşacağım
[/I]

dostum bu switch case ne böyle? string array içinde yapabilirsin.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.