Rsa, tam sayıların çarpanlara ayrılması ile oluşturulan public ve private key'e sahip (açık ve kapalı/özel anahtar) asimetrik açalışan şifreleme yöntemidir. Açık anahtar şifreleme algoritması, özel/kapalı anahtar ise çözülme algoritmasıdır. Yani şifrelemek için ayrı, çözmek için ayrı yöntem kullanır ve şifreleme algoritmasını bilmenin hiçbir önemi yoktur. Önemli olan şifrenin çözülme algoritmasıdır. Ne kadar büyük tam sayılar kullanılırsa o kadar güvenli olur fakat çözülmesi de zaman alır.
Basit olarak web sitesinin giriş örneğinden yola çıkalım.
Kullanıcı siteye giriş yapar ve login ekranına gider. Login ekranında sunucu şifreleme için açık anahtarını gönderir (açık anahtarı oluşturduğunda zaten özel/kapalı anahtarı da oluşturur). Kullanıcı bilgileri girer ve açık anahtar ile şifreleyip sunucuya gönderir. Sunucu sahip olduğu özel/kapalı anahtar ile şifreyi çözer ve giriş bilgilerini kontrol edip cevap gönderir.
Eğer .net kullanıyorsan rsa şifrelemesi için System.Security.Cryptography kütüphanesini kullanabilirsin.
https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx