C# AES şifreleme başlangıç vektörü

Bahsettiğiniz şey diffie-hellman olabilir mi? Böyle bir şey buldum da C# Şifreli Mesajlaşma – Diffie Hellman + AES Şifreleme

Sen bunu sifre saklamak icin istemiyor musun? Sifrenin ne oldugunu bilmene gerek yok. One-way encryption yapacaksin. ( crypto hashing )
Bunu da md5, sha128 gibi hizli hashing fonksiyonlari ile yapmayacaksin ve salt kullanmalisin.

Ne DH'a ne de AES'e bu yuzden ihtiyacin yok, gerek de yok; cunku guvenligi azaltir. Sezar zaten sifreleme degil, o oneri ya trolluyor ya da haberi yok dunyadan.

Kullanacagin key de kodda tutulmaz, network'de simetrik sifreleme key'i paylasilmaz (bkz MITM saldirisi) remote server sana aciktan AES key'i gondermez zaten senin AES key'ini baska remote server da bilmemeli. ECC memory de de sifrelenip saklanir. Sunucunun kullandigi memory'ye baska uygulamalar erisebilirler root yetkisi varsa, bunu bilemezsin eger hosting tamamen sana ait degilse. Oyle kredi karti bilgilerini falan String'e yazayip calistirayim bunlar amator isler.

Hassas bilginin RAM'de kisa sureli de olsa tutulmasi bile basli basina risklidir -> CWE - CWE-316: Cleartext Storage of Sensitive Information in Memory (4.12)

O halde nasil yapicam diye soruyorsan, once her seyi koda yazip; bastan uca sifrelemenin calistigini gorup sonra adim adim KMS sistemleriyle entegre olmayi ve volatile RAM kullanimini ogrenebilirsin.
 
Son düzenleme:
Sizin yapmak istediğiniz tek yönlü şifreleme.

Bunun için AES kullanırsanız güvenlik açığı yaparsanız. AES simetrik şifreleme yapar.
Uçtan uca şifreleme yapmak istiyorsanız eğer Public/Private key mantığını öğrenmeniz gerekiyor. Tabii bunun için RSA algoritmasını bilmeniz gerekir.

Boş yere key ürettiğiniz için aynı key ile geri açılabilir şifreleme.

Lakin hashing yönteminde bu durum öyle değil.

Hashing algoritmalarında tek yönlü işlem yapılır. Dosyanın veya bir stringin değeri alınarak algoritma ile değer oluşturulur. MD5 ve SHA-1 bypass edilebiliyor. Temel seviyede güvenlik istiyorsanız SHA-256 kullanmalısınız.

Tabii tek başına hashing yeterli değil. Salting dediğimiz yöntemi hashing içine dahil etmeniz gerekir güvenlik için.

Salting dediğimiz yöntem dosyanın ham değeri + salt değer. Yani başına veya sonuna ekletebilir öyle hash alabilirsiniz.

Çok fazla yöntem ve seneryo var, size kalmış.

Detaylı bilgi almak isterseniz rehberime bakabilirsiniz.

 
İlk mesajımda yeterince açık ifade edemedim sanırım. Şifreleme çift yönlü olmalı, kullanıcı ne girerse veritabanında o saklanacak bu şifre olabilir veya olmayabilir. Ama şifrelenmiş veriden orijinal veriye geri dönüş yapılabilmeli. RAM'de kısa süreli bulunan verinin çalınmasına karşılık koruma falan fazla abartı geldi bana o kadar güvenli olmasına gerek yok.
 
@Inwinint üst kısımda yazdım lakin tam okumamışsınız sanırım.

O zaman uçtan uca şifreleme yapmanız gerekiyor. RSA algoritmasını öğrenmeniz ve Public/Private key mantığını bilmeniz gerekiyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı