2023-03-05 16:44:39 +00:00
|
|
|
<?php
|
|
|
|
|
2023-06-04 16:12:11 +00:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2023-03-05 16:44:39 +00:00
|
|
|
namespace phpseclib3\Tests\Unit\Math;
|
|
|
|
|
|
|
|
use phpseclib3\Math\BigInteger;
|
|
|
|
use phpseclib3\Math\PrimeField;
|
|
|
|
use phpseclib3\Tests\PhpseclibTestCase;
|
|
|
|
|
|
|
|
class PrimeFieldTest extends PhpseclibTestCase
|
|
|
|
{
|
2023-03-31 08:43:58 +00:00
|
|
|
public function testPrimeFieldWithCompositeNumbers(): void
|
2023-03-05 16:44:39 +00:00
|
|
|
{
|
|
|
|
$this->expectException('UnexpectedValueException');
|
|
|
|
|
|
|
|
$a = new BigInteger('65', 10);
|
|
|
|
$p = new BigInteger('126', 10); // 126 isn't a prime
|
|
|
|
|
|
|
|
$num = new PrimeField($p);
|
|
|
|
$num2 = $num->newInteger($a);
|
|
|
|
|
|
|
|
echo $num2->squareRoot();
|
|
|
|
}
|
|
|
|
}
|