![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 09/2007 Yer: Ist
Mesaj: 9
|
RSA şifreleme algoritmasını kullanarak verileri şifreleyen bir program yazmıştım zamanında, bunu da paylaşayım dedim . ( RSA hakkında bilgi için: http://en.wikipedia.org/wiki/RSA )Kod: import time
q=int(raw_input('Lutfen bir asal sayi giriniz:'))
p=int(raw_input('Lutfen bir asal sayi daha giriniz:'))
x=int(raw_input('Sifrelemek istediginiz sayiyi giriniz:'))
n=p*q
f=(p-1)*(q-1)
if x>f:
print "Veri guvenliginiz icin daha buyuk asallar giriniz.",time.sleep(3), exit()
for e in range(1,f):
if f%e==1:
print
for d in range(1,f):
if (d*e)%f==1:
print
print 'Verinizin sifrelenmis hali:', x**e%n
cik=raw_input('Cikmak icin bir tusa basin' )
|
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 09/2007 Yer: Ist
Mesaj: 9
|
Tabi ki şifreli veriyi çözmekte gerekir, onun içinde: Kod: q=int(raw_input('Lutfen ilk anahtari girin:'))
p=int(raw_input('Lutfen ikinci anahtari girin:'))
x=int(raw_input('Sifrelenmis veriyi giriniz:'))
n=p*q
f=(p-1)*(q-1)
for e in range(1,f):
if f%e==1:
if e>f/2:
print ''
for d in range(1,f):
if (d*e)%f==1:
print ''
print 'Sifrelenmis veriniz:', x**d%n
cik=raw_input('Cikmak icin bir tusa basin ')
|
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 06/2007
Mesaj: 45
|
asal sayıyı da rastlantısal olarak atamak lazım aslında ve tabiki bi kaç yüz basamaklı olmalı ki bi işe yarasın eline sağlık. c de yapacam en kısa zamanda. yazıp paylaşabilmem dileğiyle.. hatta şimdi aklıma geldi bi dosyaya önceden büyük asalların listesini atayım ordan rand olarak alsın. daha hızlı olabilir yoksa her şifrelemede asal sayı hesaplatsam yaşlanırım.
|
| | |
| | #4 (permalink) |
| İptal Durumu Üyelik Tarihi: 04/2004 Yer: M86
Mesaj: 1,092
|
büyük asal sayılar üretmek için miller rabin primality test'i kullanabilirsiniz. Bir ara python ile oynarken bunu yapıp yayınlamıştım http://aspn.activestate.com/ASPN/Coo.../Recipe/511459 |
| | |
| | #5 (permalink) |
| Üye Üyelik Tarihi: 09/2007 Yer: Ist
Mesaj: 9
|
Asallık kontrol etmek için Wilson Teoremini kullanan bi program yazmıştım, kodları aşağı da: Kod:
x=int(raw_input('Bir sayi giriniz: '))
def fact(n):
if n==0:
return 1
else:
return n*fact(n-1)
if fact(x-1)%x==x-1:
print x, 'Asal'
else:
print x, 'Asal degil'
raw_input('Cikmak icin bir tusa basin ')
|
| | |
| | #6 (permalink) |
| İptal Durumu Üyelik Tarihi: 04/2004 Yer: M86
Mesaj: 1,092
|
Rescusion limit'e ulaşıyorsun. Şöyle yazarsan olur. Ancak factoriyel hesaplamak zor olduğu için bu teknik büyük sayılar için kullanışlı değil.(5-6 haneli sayılarda denediğinde göreceksin )Kod: #!/usr/bin/env python
def factor(x):
ret = 1
while x > 0:
ret = ret * x
x = x - 1
return ret
def checkPrime(x):
if (factor(x - 1) % x) == (x - 1):
print x,"is a prime number"
else:
print x,"is not a prime number"
def main():
checkPrime(6029)
if __name__ == "__main__":
main()
|
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Mod Python | Raiden | Python / Zope | 3 | 28/08/2008 13:25 |
| Python | laucian | Python / Zope | 13 | 23/07/2008 22:20 |
| C/C++ ve python | perros | Python / Zope | 5 | 03/06/2007 02:35 |
| Python | hgedek | Python / Zope | 2 | 16/04/2007 16:17 |
| python | Desktop | Python / Zope | 7 | 19/12/2006 13:48 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |