Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програмна система комп'ютерного клубу

Реферат Програмна система комп'ютерного клубу





//Перевірка взаємної простоти двох чіселIsSimple (Int64 a, Int64 b) {v [3]; (a, b, v); (v [0] == (Int64) 1) true;// Числа взаємно прості, якщо НОД=1false;

}

//Інверсія C по модулю PInverse (Int64 c, Int64 p) {v [3]; (p, c, v); (v [2] lt; 0) v [2] + p; v [2 ];

}

//Швидке зведення A в ступінь X по модулю PModPow (Int64 a, Int64 x, Int64 p) {r, b, s;=1;=a;=1L;// Встановлюємо біт в 1-у позицію (b lt; x) {(x amp; b) {// Якщо в поточній позиції стоїть одиниця=(r * s)% p;

}=(s * s)% p; *=2;// Рухаємо біт на наступну позицію

} r;

}

//Ступінь двойкіInt64 pow2 (int t) {x=1; (x lt; lt; t);

}

//Таблиця простих чисел решетом Ератосфена

#define MAXSIEVE 30000//Розмір решета * prime;// Таблиця знайдених чіселprimeLen=0;// Довжина таблиці

//ПросеіваніеSieve () {isPrime [MAXSIEVE]; i, j; (i=0; i lt; MAXSIEVE; i ++) isPrime [i]=true; [0]=isPrime [1]=false; (i= 2; (i * i) lt; MAXSIEVE; i ++) (isPrime [i]) (int j=i * i; j lt; MAXSIEVE; j +=i) [j]=false;

//Переписуємо (i=2; i lt; MAXSIEVE; i ++) (isPrime [i]) primeLen ++;=(int *) calloc (primeLen, sizeof (Int32));=0; (i=2; i lt; MAXSIEVE; i ++) {(isPrime [i]) {[j ++]=i;

}

}

}

//Випадкове непарне число довжиною k бітOddRandom (long k) {i; mask=1, n; -; (i=1; i lt;=k; i ++) |=1 lt; lt; i; (k lt; 16)=rand ();

else=(rand () lt; lt; 16) | rand (); |=1 lt; lt; k; amp;=mask; ((n amp; 1) == 0) n ++; n;

}

//Генерація простого числа розміром 32 біта методом Маурера

//Взято з книги Handbook of Applied Cryptography. Частина 4. Алгоритм 4.62RandomPrime (int k) {(primeLen == 0) Sieve ();// Створюємо таблицю простих чіселp, s; isPrime; (k lt;=20) {// Пошук випадкового простого тривіальним поділом, якщо число k достатньо маленьке {= OddRandom (k);=sqrt (p);=true; (int i=0; i lt; primeLen; i ++) {(prime [i] gt; s) break; ((p% prime [i]) == 0) {= false ;;

};

} (isPrime);

} while (true);

} {// Рекурсивне построеніеc=0.1, r; m=20; B=c * k * k;// Кордон тривіального поділу

//Генеруємо r - випадкове число від k/2 до km біт (k gt; 2 * m) {= rand ()/(double) RAND_MAX;=pow (2.0, s - 1.0);

} while (k - r * k lt;=m);=0.5;

//Обчислюємо просте меншого размераq=RandomPrime (r * k + 1); I=floor (pow2 (k - 1)/(2.0 * k)); R, n, a, b, d; success=false ; (! success) {

//Вибираємо кандидата в прості в інтервалі [I + 1, 2I] (true) {= random (I); (R lt; I) break;

} шифрування віртуальний алгоритм програма=R + I + 1;=2 * q * R + 1;// N - кандидат

//Перевірка тривіальним поділом по межі B (int i=0; i lt; primeLen; i ++) {((n% prime [i]) == 0); (prime [i] gt;=B) { (true) {= random (n - 4) + 2; ((a gt; 1) amp; amp; (a lt; (n - 1))) break;

}=ModPow (a, n - 1, n); (b == 1) {= ModPow (a, 2 * R, n);=GCD (b - 1, n); (d == 1 ) {n;

}

};

}

};

}

} p;

}



Назад | сторінка 6 з 6





Схожі реферати:

  • Реферат на тему: Закріплення знань учнів з теми: "Числа 1-10 та число 0"
  • Реферат на тему: Рішення задач цілочисельний арифметики (пошук дільників і простих чисел)
  • Реферат на тему: Ukrainian break-through in the European and World strategy of individual pr ...
  • Реферат на тему: Число Пі
  • Реферат на тему: Число як суще