O'zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti loyiha ishi Guruh: 13-21 Bajardi: Rahmonaliyev Toirjon Mahmudov Mohirjon Numonov Muxiddin Rustamov Farrux




Download 363,4 Kb.
bet10/10
Sana16.12.2023
Hajmi363,4 Kb.
#120246
1   2   3   4   5   6   7   8   9   10
int p = 2;
int q = 1048581;
int[] factors = { 2, 3, 7, 17, 19, 37, 163, 263, 433, 683 };
int[] exponents = new int[factors.Length];
int[] congruences = new int[factors.Length];
int x = 0;


for (int i = 0; i < factors.Length; i++)
{
exponents[i] = (int)Math.Pow(factors[i], (p - 1) / factors[i]);
// ...
}
4. Har bir faktor uchun kongruensiyani topish uchun sikl yuritiladi. Bu, nuqtalar Q_x va Q_y uchun kongruensiyalarni topishga xizmat qiladi:
for (int i = 0; i < factors.Length; i++)
{
// ...
int Q_x_congruence = Q_x % factors[i];
int Q_y_congruence = Q_y % factors[i];


for (int j = 0; j < factors[i]; j++)
{
if ((int)Math.Pow(j, exponents[i]) % factors[i] == Q_x_congruence)
{
congruences[i] = j;
break;
}
}
}


5. Pohlig-Hellman algoritmidagi asosiy hisob-kitob qismi boshlanadi. factors ro'yxatidagi faktorlar va ularning darajalari bo'yicha sikllar yuritiladi. Diskret logarifmni topish uchun yordamchi x o'zgaruvchisi ishlatiladi:
for (int i = 0; i < factors.Length; i++)
{
int q_i = (q - 1) / factors[i];
int y_i = 1;


for (int j = 0; j < factors.Length; j++)
{
if (j != i)
{
// ...
y_i = (y_i + t * exponent) % factors[i];
}
}


int factor_i = (int)Math.Pow(factors[i], exponents[i]);
x += y_i * (q / factor_i) % q;
}
6. Natijada topilgan diskret logarifm log_P_Q hisoblanadi va ekranga chiqariladi:
int log_P_Q = x % q;
Console.WriteLine("log_P_Q: " + log_P_Q);
natijani log_P_Q o'zgaruvchisida topasiz. Ushbu dastur berilgan elliptik egri va nuqtalar uchun diskret logarifmni topadi Pohlig-Hellman algoritmi yordamida.
Download 363,4 Kb.
1   2   3   4   5   6   7   8   9   10




Download 363,4 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



O'zbekiston respublikasi raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti loyiha ishi Guruh: 13-21 Bajardi: Rahmonaliyev Toirjon Mahmudov Mohirjon Numonov Muxiddin Rustamov Farrux

Download 363,4 Kb.