Example #1
0
 public string Decrypt()
 {
     foreach (var ch in encryptedMessage.Trim().Split(' '))
     {
         var res = BigInteger.ModPow(int.Parse(ch), d, n);
         decryptedMessage += Alphabet.GetCharRSA(((int)res + n) % n);
     }
     return(decryptedMessage);
 }
Example #2
0
 public string Encrypt()
 {
     foreach (var ch in message)
     {
         int charIndex = Alphabet.GetCharCodeRSA(ch);
         maxCharCode = charIndex > maxCharCode ? charIndex : maxCharCode;
         if (maxCharCode >= n)
         {
             throw new Exception($"Индекс буквы {Alphabet.GetCharRSA(maxCharCode)} = {maxCharCode} больше/равно n = {n}");
         }
         var res = BigInteger.ModPow(charIndex, e, n);
         encryptedMessage += res + " ";
     }
     return(encryptedMessage);
 }