Jump to page: 1 2
Thread overview
July 03, 2010

Yeni bir projeyle karşınızdayım.Amacım şifreleme algoritmaları oluşturmak ve bu algoritmaları kullanan şifreleme programları yazmak.İlk olarak aklımda bir düşünce var.

Öncelikle daha önceden yazılmış algoritmaları kullanabiliriz.Sonra bu işte ustalaşınca kendimiz algoritma oluşturabiliriz.Bana katılmak isteyenler konuya mesaj yazarlarsa sevinirim.

Yorumlarınızı bekliyorum.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Şöyle düşündüm:

Program çalışacak ve kullanıcıdan bir değer isteyecek(anahtar).Anahtara göre şifreleme yapılacak ve anahtar doğru girildiğinde geri dönüş olacak.Ayrıntıları burada konuşursak programın anlamı kalmaz.Çünkü şifreleme programı.Şu adrese e-posta atabilirsin.

Derslerde Hata Atma ve Yakalama'dayım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Tamam.Şimdi kapatmam gerekiyor.Açık kaynak kodlu geliştiririz.Yorumlarınızı yazmaya devam ediniz.Fikirlerinizi sabah okuyacağım.

Evet,anahtar kullanmak bence şifreleme için çok uygun bir yöntem.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Derslerinizde neredesiniz. Biraz ilerleyin. Benimde aklımda zaten şifreleme projesi yazmak vardı.
Ancak şifreleme projesinde geri dönüş olacak mı olmayacak mı ?

Örneğin : Can Alpay Çiftçi yazdığımızda şifreleyici 1234312345412 diye bir sayı veriyor. Bu sayıyı şifreliyiciye verdiğimizde Can Alpay Çiftçi yazacak mı ? Yoksa md5 gibi Bir çok giriş olduğu halde çıkış değeri sabit olduğundan geri dönüşüm olmayacak mı ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Buradan konuşabiliriz. Anahtar sözcük olduğu için( sanırım buna bazıları bayrak diyor. ) bu proje açık kaynak kodlu olabilir. Ben daha öncede zaten Ali Bey ile böyle bir şeyden konuşmuştum.

Zaten kırılamayacak hiç bir şifreleme yöntemi olmadığı için açık kaynak kodlu olması daha iyi. En azından hatalarımızı daha kolay gideririz.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Tamam şu biçimde ilerleriz:

İlk önce siz dersleri bitirmeye odaklanın. Buna odaklanırken ise versiyonlama nasıl kullanılır öğrenin.(git olabilir, svn olabilir benim için farketmez. Ancak svn windowsta Gui(grafiksel kullanıcı arayüzü) ile çok kolay kullanılabiliyor. Bu yüzden size onu öneririm. )

Siz derslerinizi bitirirken bu konuda şifreleme hakkında konuşuruz.

En başta anlaştığımız şeyler şifreleme bayraklı olacak. Örneğin gizle("Can", "Kadir") dediğimizde 142 değerini oluşturuyorsa gizle("Can","Ali") 473 değeri gibi farklı değerler verecek.

Şifrelemede şifrede hangi karakterler var olacağı çok önemli. Sadece sayılar mı ? Yoksa başka karakterler mi ? Bence bütün ascii karakterleri olmalı. Ne kadar çok karakter o kadar daha güvenli olur.

Şifrelerken şifre metinden çokta uzun olmamalı. Hatta aynıya yakın ve hatta mümkünse şifre metinden daha kısa olmalı. Bunun için şifrelerken basit bir sıkıştırma algoritmasıda yazarız.

Ayrıca sezar yöntemi denen bir yöntem var. İlk önce ondan yararlanırız. Her ne kadar binlerce yıllık bir yöntem olduğu için pek güvenli olmasada güvenliği bir derece arttırır.

Şuan aklıma bunlar geliyor. Daha sonra zaten uzun uzun konuşuruz.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 04, 2010

Aklımda şöyle bir şey var:
Galiba Sezar algoritması böyleydi.Kullanıcıdan metni alacağız.Sonra bir bayrak(anahtar) alacağız.Şifreleme yaparken de bütün ASCII karakterleri bir diziye ekleyeceğiz.Aldığımız bayrak değeri mutlaka bir sayı olmalı.Çünkü aldığımız metni harf harf okuyacağız.Sonrasında harflerin dizideki indekslerini bulacağız.İndeks değerlerini bayrak değeri kadar artıracağız.Sonra ekrana şifreli metini yazdıracağız.Sonra bir bayrak daha alacağız.İlk bayrağın değeri ile ikinci bayrağın değerini çarpacağız.Geri dönüşme işinde ise kullanıcıya bayrak değerlerinin çarpımını soracağız.İkinci bayrağı soracağız.Çarpımı ikinci bayrağın sonucuna bölerek ilk bayrağın değerini bulacağız.Sonra şifreli metindeki değerlerin indekslerini ilk bayrak kadar geri alacağız.Metni göstereceğiz.

Bence oldukça güvenli bir yöntem olur.Çünkü kullanıcıdan 2 adet değer istiyor.Şifrenin kırılması için önce bunları bilmek gerekiyor.Ayrıca şöyle bir avantajımız var.Eğer kullanıcı değerlerden birini yanlış girerse şifreli metin anlamsızlaşacaktır.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 03, 2010

Benim için de bu aşamada D olması önemli.

Şifreleme konularında da bulaşmayı istemeyecek kadar bilgim var. :) Bana çok karmaşık bir konu olarak geliyor. Onun için bu projeyi kenardan izlemeyi tercih edeceğim. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 04, 2010

Alıntı:

>

Bana çok karmaşık bir konu olarak geliyor.

Merak etmeyin. Kendi adıma konuşursam olayı karmaşık hale getiremeyecek kadar bilgim az :-)
Ben bu aşamada tek bayrağa güveniyorum.

Benim bildiğim sezar önemli belgelerinde kendince basit bir şifreleme yaparmış. Her karakteri başka bir karakter ile ifade edermiş. Böylece kendisi bunu kolayca okuyabilir başkasıda okuyamaz. Çünkü o zamanlarda bunu ilk düşünen o. Şimdi bu yöntem bir işe yaramaz ancak şifre biraz daha karmaşık gözüksün diye bunu yaparız.

Ben şunu düşünüyorum.

İki tane sınıf oluştururuz. Biri şifreleme, diğeri sıkıştırma.
şifreleme sınıfında herkes kendine göre bir şifreleme işlevi yazar ve bu şifreyi çözme işlevi yazar. Sıkıştırmada da herkes kendince bir sıkıştırma sonrada sıkışmış veriyi açma işlevi yazar. Daha sonra bütün bu işlevleri şifrele işlevi ile çağırırız ve oldukça güvenli bir şifre olabilir. Örneğin bu işlevleri farklı sıraylada çağırırsak bir sürü farklı şifreleme olur. Bu kadar çok kombinasyonun çözülmesi çok kolay olmaz diyeceğim.(Emin değilim. Açık kaynak olmasa öyle olurdu. Ancak açık kaynak yazmak istiyorum ben.)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 10, 2010

Bayrak sayesinde çok basit bir şifreleme aracı yaptım. Ve sanıyorum ki bunu iki argümanın olması gereken değeri bilmeden kimse bulamaz. :-D

import std.stdio;
void main()
{
   dchar[] gizle(dchar[] şifre, dchar[] bayrak)
   {
       dchar[] yeniŞifre;
       int sayı;
       int say=bayrak.length;
       foreach(ref karakter; şifre){
           sayı=say%bayrak.length;
           yeniŞifre~=cast(int)karakter+cast(int)bayrak[sayı];
       }
       return yeniŞifre;
   }
writeln(gizle("Alicvs"d.dup,"Can"d.dup));
dchar[] a=gizle("Alicvs"d.dup,"Can"d.dup);
writeln(a.length);

   dchar[] giziAç(dchar[] şifre, dchar[] bayrak)
   {
       dchar[] yeniŞifre;
       int sayı;
       int say=bayrak.length;
       foreach(ref karakter; şifre){
           sayı=say%bayrak.length;
           yeniŞifre~=cast(int)karakter-cast(int)bayrak[sayı];
       }
       return yeniŞifre;
   }

writeln(giziAç(a,"Can"d.dup));
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2