http://theory.lcs. mit. edu/ rivest/md5. c lüler ağlıyor

pm filan da atabilirsin bu tip konularda. ftw

yaptıgım c calısmaları üzerinde şifreleme uygulamaları calısıorumsayı biciminde şifre koyabiliorum fakat bunun belli bir aralık icindeki tüm sayılar 1 er 1 er artıralarak rahatlıkla cozulecegını bildigimden dolayı hem harf hem sayı şeklinde şifrelemek istiorumrastgele harf nasıl üretirim şifreleme icin?rasgele sayı üretip bu sayıları harflere eşitlemek gbi bir düşüncem var ama nasıl uygulayacagım hakkında bilgi verirseniz sevınırım... başka türlü şifreleme taktikleri hakkında yardımcı olursanız daha da cok sevinirim...

#define SIZE 10#include #include #include #include int main { int a ; int toplam=0; int d1, k1, y1, a1, b, c, d, k, e, f, g, h, i, j, l, m, n, p, r, o, s, t, u, v, w, x, y, z; int dizi = ; srand(time(0)); for (k=0; k for (k = 0; k toplam += a ; printf ; scanf ;}rneginbu kodda dizideki harfleri nasıl cıkartıcam programda gosterıcem bir yardımcı olurmusunuz... dizideki değeri yazdırmak sorunum ozellik fprintf de yazdırmak?

burada bazı sayıları keyfi olarak seçtiğimiz değerleri ne kadar yüksek seçeresen çzmesi o derece zor olur ki. burda 855 sayısının alınan üssüne bakarsan bu buyuklukteki rakamları deneme yanılma yoluyla çzmek akıl işi değildir. burda nemli olan iki anahtarıda saklamak ve gerekli kişilerin bunsa sahip olduğunu bilmektir. ftw

RSA mesela şoyle. şurdan da bakabilirsin detayına burdakini az açıklayayım sana. http://en. wikipedia. org/wiki/RSAnce iki tane asal sayı seçeceksin. burda p=61 ile q=53 ü seçmiş. büyük asal sayı seçmemizin nedeni geri dnüştürmeye çalışan elemanlar için olasılık sayısını artırmak. java da biginteger sınıfını kullanarak 300 400 basamaklı asal sayılar seçersen sittin sene uğraşsa çzemez. neyse asallarımızı seçtik. bu asalların çarpımından bir n sayısı elde edeceğiz. bu bizim şifreleyici anahtarın birinci elemanı olacak. n=p q=3233şimdi bu asalların 1 er eksiği ile yeni bir çarpım elde edeceğiz bu da ln olsun. ln=(p-1) (q-1)= (61 1)(53 1) = 3120şimdi bu 3120 sayısından küçük bi asal bulmamız lazım. buna de "e" diyeceğiz burdan elde edeceğimiz yeni asal şifreleyici ikinci anahtar olacak. burda e yi 17 seçmiş. bizim şifreleyici anahtarımız oldu. şimdi son olarak karşıdaki inasnların bizim mesajımızı cevirmek için kullanacakları çzücü anahtarı elde etmemiz lazım. şimdi bu 17 rakamını oyle bir sayı ile carpacaksınki "ln" ye gre mod aldığında 1 çıkacak.17 2753 mod 3120=1 ediyor burdan 2753 ü seçmiş bu eleman. buna da "d" diyoruz. sen başka birşey seçebilirsin mod 1 olsun yeter. buda çzücü anahtarımız. şimdi gelelim şifrelemeye. sen aldığın metni rakama cevirmen lazım. rneğin A=65 gibi. metnini rakama cevirdikten sonra. metni şifreleyecen. rneğin burda 123 ü şifelemiş. 123^17mod3233=855bunu şifreledin bunu ve çzücü anahtarını çzecek olan kişiye vermen lazım. oda bunu o anahtar ile çzecek.855^2753mod3233=123 bylece veri çzülmüş oldu. aha da bu gelişmiş şifreleme algoritmalarından birinin anlatımıdır. ftw

saolasın tagext rsa yı kriptoloji comda okumuştum 1 hafta once sanırım, ama kod olarak yazım bicimi hakkında bilgi verdigin icin saolasın, bunu en kısa zmnda deniycem bir problem olursa kapını calarım;)firex hocam sanada teşekkür yontem ve ilgin icin...

Harfleri bir dizinin içine atarsın. Rastgele dizersin. Sonrada sayılarla yerlerini bulursun vs rn dizinin içinde gibi gidiyorsa 0 sayısına karşılık T 2'ye karşılık W gelir vs. Şifreleme tekniklerinde rastgele sayı üretilmesi sz konusu değildir. Çakışma yaratacağından. Gerisi sende bitiyor. Bir diziye karakter sayı vs at çarp bl topla sonuç dizideki herhangibir karaktere eşit olsun.