• 20-09-2021, 11:34:55
    #1
    Selamun aleykum, uzun süredir üzerinde çalıştığım basit bir oyun var. Oyun verilerini (Json) sifrelemem gerekiyor.

    Kriptolojiden pek anlamıyorum. Aes 128 algoritması iyi olur diye düşündüm. Performans ve güvenlik açısından. Fakat 2 tam gündür düzgün bir algoritma bulamadım. Niye düzgün bir örneği yok şifreleme algoritmalarının?

    Unity projeme uyarlamak için az da olsa mantığını anlamam gerekiyor. Zaten öyle çok karmaşık bir şey de istemiyorum. Oyun verileri kurcalanmasın yeter. İleride bu konuda değişiklik bütün verileri kırabilir ondan endişe ediyorum. Onun için düzgün bir örnek algoritma öneriniz var mı?
  • 20-09-2021, 11:58:45
    #2
    JSON stringleri şifreleme için, Türkçe kaynak iletilmezse, İngilizce kaynak için buraya bakabilirsiniz. Bu şifreleme yöntemini, binary dosyalarınız için de kullanabilirsiniz.
  • 20-09-2021, 12:17:54
    #3
    mkozdogan adlı üyeden alıntı: mesajı görüntüle
    JSON stringleri şifreleme için, Türkçe kaynak iletilmezse, İngilizce kaynak için buraya bakabilirsiniz. Bu şifreleme yöntemini, binary dosyalarınız için de kullanabilirsiniz.
    Hocam her kullanıcıya özel bir şifreleme istiyorum aslında. Anahtarı cihaza kaydedip şifreli oyun dosyasının paylaşılmasını önlemek. Tabiki kırılması imkansız algoritma yok elbette ama başlangıç ve en azından orta seviye hilecilerden korunmak istiyorum.

    Uygulama içi satış düşünüyorum. Oyun çevrimdışı olacak. Şifreleme sistemini bir standartta tutup diğer oyunlarda da kullanma niyetim var. O yüzden sağlam bir şey arıyorum.

    İkili koda çevirme basit ve hızlıdır fakat verileri bozuyor. Yeni bir güncellemeyle eklenen değişkenler bütün veriyi yok ediyor. Şifrelemede en korktuğum şey de bu verilerin kırılması.
  • 20-09-2021, 14:17:12
    #4
    Yada yine 2 gündür kurcaladığım algoritmalardan birisi hakkında da yardım eden olursa sevinirim. Dosya boyutunu 3 katına çıkarıyor. Anahtar uzunluğuyla mi ilgili anlamadım. Kriptoloji bilmiyorum. Ne yaparsam şifrelenmiş dosya boyutunu düşük tutabilirim.

    https://gist.github.com/magicsih/be0...52856feb96ce8c
  • 22-09-2021, 09:57:23
    #5
    Şifreleme maliyetli bir iştir hocam, gerek performans gerek boyut anlamında fazla olabilir. Eğer güçlü bir şifreleme ve boyutu küçültmek istiyorsanız, üstteki metodlardan kullanıp daha sonra Text compression yaparsınız. Daha çok gzip kullanılıyor. Aşağıdaki örneği deneyebilirsiniz

    https://stackoverflow.com/a/17993002


    Basit bir şeyler arıyorsanız Xor ile şifreyin. Yapılan matematiksel islem de basittir. Xor alma ile ilgili

    http://www.csharpnedir.com/articles/read/?id=180

    Bu üstteki linkte açıklama ve örnek mevcut. Geri çözmek (decrypt) için ise aynı metodu şifrelenmiş metin ile çağırırsanız çözülür.