Пример #1
0
size_t find_next_coprime(const prime *const ps, size_t nps, prime p) {
    p |= 1;
    while (1) {
        if (is_coprime(ps, nps, p)) {
            return p;
        }
        p += 2;
    }
}
Пример #2
0
uint64_t get_encryption_value(uint64_t n, uint64_t eu, uint64_t xseed)
{
	uint64_t e;

	srand( xseed );
	e = find_nearest_prime_number( rand() % n, GET_NEAREST_BIGGER );
	while (!is_coprime(e, eu)) {
		e = find_nearest_prime_number( rand() % n, GET_NEAREST_BIGGER );
		if (e == (uint64_t)-1) {
			DPRINTF("%s: Invalid prime number for e\n", __FUNCTION__);
			return e;
		}
	}

	DPRINTF("%s: Encryption value found 0x%"PRIx64"\n", __FUNCTION__, e);
	return e;
}
Пример #3
0
inline bool is_coprime (const vector<T, REFCNT>& x)
{
    return is_coprime(x, factory<T>());
}
Пример #4
0
inline bool is_coprime (const T& a, const T& b)
{
    return is_coprime(a, b, factory<T>());
}