Şuan nasıl anlatsam bilemedim.
parolayı oluşturdum. Sonra txt de attım. O txt dosyasını da usb yükledim. O usb taktığım pc nin içinde o dosyayı kontrol edicek. Sonra da ekran açılacak…
Şuan nasıl anlatsam bilemedim.
parolayı oluşturdum. Sonra txt de attım. O txt dosyasını da usb yükledim. O usb taktığım pc nin içinde o dosyayı kontrol edicek. Sonra da ekran açılacak…
Oluşturmam çok uzun sürebilir.
takılan bilgisayarın öncelikle usb portları dinlenmeli usb nin takıldığı disk c diskine çıkarılmalı çünkü her windowsda c vardır. çıkarıldıktan sonra o dizine girip o .txt dosyasını okuyup şifreyi alabilir.
Python da bir dosyayı şifrelemek için modül varmı?
Bilinen bir teknik kullanirsaniz baskasi ugrasip o sifreyi cozebilir.
Bulunacağını pek sanmıyorum. Dosyanın kopyalanmasını engelleme de yapıcam.
Dosyayi sifreledin. Sifreleme anahtarini nerede tutacaksin? Her nerede tutuyorsan, txt’ye koyulan parolayi oraya koy?
Evet. Bilinmeyen bir teknik kullanilirsa da, baskasi ugrasmadan o sifreyi cozebilir.
Bu modül ile şifrelemeye çalışcam.
Niye ki? Kendi tekniğimizi üretirsek başkası nasıl uğraşmadan çözecek?
Şifreleme algoritması kendinizin diye kırılmayacak bir kanun yok herhalde illahaki kırılacaktır sonuç olarak tüm şifreleme türleri ilk çıktığında ilk çıkaran insanlarındı ve sizin yaptığınız şifreleme algoritmaları ne kadar sağlam olabilir ? o tarz algoritmalar için ne kadar zaman ugraşılıyor iki üç saniyelik bir iş değil.
bu modül ile şifrelemeye çalışacağım derken attığınız modül os modülünün chmod özelliğini göstermiş ve aldığı parametreler ise okuma kipi yazma kipi v.s bu bir şifreleme değildir izin olayları bunlar.
Yanlış yazmışım. o modül oluşturduğum dosyanın kimlerin kullanabileceği için bir özellik.
İki üç saniyeden kısa sürer.
chars = "A B C Ç D E F G Ğ H I İ J K L M N O Ö P R S Ş T U Ü V Y Z".split(" ")
import random
random.shuffle(chars)
numbers = list(range(1, 30))
random.shuffle(numbers)
algorithm = dict(zip(chars, numbers))
Üretilebilecek en basit algoritma. İçine + , * -
gibilerini de atıp güçlendirilebilir. Şifreleme içinse; (bir şifreleme algoritmasının a.json içinde olduğunu varsayalım.)
import json
a = json.load("a.json")
def parse(data, algorithm):
assert isinstance(data, str)
assert isinstance(algorithm, dict)
d = ""
for i in data:
d += str(algorithm.get(i, " ")) + "."
return d.strip(".")
password = "FKDKENUEF"
print(parse(password, a))
Kod çalıştığı zaman sadece nokta çıktısı veriyor. Şurayı değiştirmek lazım
algorithm = dict(zip(numbers, chars))
yerine
algorithm = dict(zip(chars, numbers))
Birisi dönüştürme için gerekli json dosyasını ele geçirse tüm şifreleri çözebilir. Anahtarlamalı olmayan şifrelemelerde bir verinin çıktısının ne olduğunu brute force ile bulmak,tahmin etmek mümkün. Şifrelemeyi bit düzeyinde yapmak daha güvenlidir.
Bir de AES şifreleme algoritmasının nasıl çalıştığına bakın isterseniz
http://bilgisayarkavramlari.sadievrenseker.com/2009/06/03/aes-ve-rijndeal-sifreleme/
bende sana onu diyorum zaten senin yaptığın şu algoritmayı bir insan çözemiyecek mi zannediyorsun yani şuanda yapmış olduğun bu algoritmayı sağlam olarak mı görüyorsun md5 v.s gibi şeyler neden kırılamıyor sence 3 saniye veya 2 saniye demi oluyor bunlar ?
ayrı ayrı satırlarda assert yazmanıza gerek yok and ile birleştirip tek assert ile yapabilirsiniz.
assert isinstance(data,str) and isinstance(algorithm,dict)
herhangi birisi false döndürdüğü zaman yine AssertionError yükselticektir ikisininde doğru olduğu durumda devam edicektir.
Haklısınız. Bunlar Brute Force ile çözülebilir. Bit düzeyinde yapmak derken tam olarak neyi kast ediyorsunuz?
Bit düzeyinde işlem yapmaktan kastım, elinizdeki bilgiyi önce binary hale getirmek ve sonra da bunu çeşitli bit operatörleri ile(and,or,exor,shift vs) değiştirmektir.
Monoalphabetic substitution cipher. Bilinen en eski sifreleme yontemi olabilir. Ilkokulda QBASIC’le yazmistim, keyspace 256! buyuklugunde oldugu icin kirmanin imkansiz oldugunu dusunuyordum. Sonra frekans analizini ogrendim…
MD5 sifreleme algoritmasi degil.
Lutfen yapmayin. Birbirleriyle alakasiz assert’leri ayri satirlarda gormek istiyoruz.
Yukaridaki ASCII data da binary. Hatta bilgisayara alabildigin butun data tanim geregi binary.
Burada sanirim demek istedigin “diffusion kullan”. Veya “substitution cipher/ECB kullanma”.
Aslında haklısınız binary tabiri yanlış olmuş. Kısaca demek istediğim eldeki veriyi bitleriyle oynayarak(kaydırma,xor’lama vs) şifrelemeye çalış. Buna diffusion mu deniyor acaba?