コード例 #1
0
 public Form1()
 {
     InitializeComponent();
     textBoxP.Text   = "2147483647";
     textBoxG.Text   = NumbersOperations.Random(2, BigInteger.Parse(textBoxP.Text) - 1).ToString();
     textBoxK_B.Text = NumbersOperations.Random(2, BigInteger.Parse(textBoxP.Text) - 1).ToString();
 }
コード例 #2
0
ファイル: ElGemal.cs プロジェクト: JulliaS/InfoProtection
        public static void Encode(BigInteger p, BigInteger g, BigInteger k_B, BigInteger m_A, out BigInteger r, out BigInteger e)
        {
            var d_B = BigInteger.ModPow(g, k_B, p);

            BigInteger k_A;

            do
            {
                k_A = NumbersOperations.Random(2, p - 1);
            }while (BigInteger.GreatestCommonDivisor(k_A, p - 1) != 1);

            r = BigInteger.ModPow(g, k_A, p);
            e = (BigInteger.ModPow(d_B, k_A, p) * (m_A % p)) % p;
        }