Bilgisayara özel değerlerden private key üretmek çok iyi çalışmayabilir. Örneğin bilgisayarda birden fazla MAC adresi olabilir. Çözme işleminden önce bilgisayarın ethernet kartı değiştirilmiş olabilir. Disk başka cihaza taşınmış olabilir.
Şifrleyenin kendisini kısıtlamasına gerek yok. Oradaki "Personal ID" zaten aynı işi görüyor.
Bu değer bilgisayar özelliğinden üretilmiş ya da rastgele üretilmiş hiç önemi yok. Private Key'i almak için bu numarayı söylemek yeterli olacak. Hem MAC adresini almayı bilmeyene anlatmak daha zor. Ya Private Key bu Personal ID numarasından üretilmiştir ya da bu "Personal ID" geri döndürülebilecek şekilde private keyden.
Benim fikrim personal id değerinin tamamen rastgele üretildiği (olmasa da hiç farketmez) ve bu değer kullanılarak bir private key üretildiği ve bu kaullanılarak dosyaların şifrelendiği.
Adamın yapacağı şey sadece sizden bu Personal ID değerini alıp algoritmasına sokup Private Key'i tekrar üretmek ve size göndermek. Siz de yazılıma bu Private Key değerini gireceksiniz ve gerisini size verdiği yazılım halledecek.
Moral bozmak istemem ama;, kırma işine gelince;
@nt 64 karakterli bir anahtarı Brut Force yöntemi ile çözemezsiniz (yani çok şanslı değilseniz). Kabaca ortalamada 2 üzeri 4093 deneme (her karakter için 64 alternatif olduğunu varsayarak) yapmak lazım. Kaç basamaklı bir sayıdan bahsediyoruz bilmiyorum ama 1000-1200 basamaklı diye tahmin edebilirim. Tabi çok şanslısınızdır daha milyonda birlik dilimde denk gelirsiniz anahtara, 1-2 ayda çözersiniz o ayrı. Diğer türlü bir ömür sürer.
Ayrıca personal id 64 karakter diye private key de 64 karakter diye birşey de yok.
Çözebilmek için şu yöntemlerle yaklaşılabilir:
1- Virüs dosyasını temin edip assembler kodundan private key üretme yöntemini bulmaya çalışmak. (eğer private key random üretiliyor ve geri döndürülebilir olarak bu key ile personal id üretiliyorsa private key üretme algoritması virüsün iiçnde değildir. Bu yol işe yaramaz) (eğer virüs internetten bir servis çağırarak private key ürettiriyorsa yine bu algoritma dışarıdadır ve işe yaramaz)
2- Şifrelenmiş dosyaların şifrelenmemiş yedekleri varsa bunları karşılaştırarak analiz yapmak. Bu da çok zor ve deterministik olmayan bir yöntem.
Her iki yöntem de zor veileri seviyede uzmanlık istiyor. Programı geliştiren kişinin de bu konuda uzman, daha önce binlerce kırma denemesi görmüş ve art niyetli olduğunu düşünürsek burada bizim iki dakikada aklımıza gelmeyen bir sürü önlem de almış olabileceğini tahmin edersiniz.