PHP - "лобовая" атака на RSA (взлом) - пример кода
Primary tabs
Ниже приведён пример кода на PHP, который может снести защиту (конечно же с коротким ключом) .
На моём компе, при открытой экспоненте :
$e = '565570077646207'
и модуле ($n)=
$n = '12341'
скрипт работал где-то 8 секунд
(и это, вроде даже долго для такого короткого ключа)
/*
эта функция расшифровывает блок данных
(из одного числа получает другое)
@param $e string - открытая экспонента
*/
function php_decrypt_rsa2($messageblock, $e , $n)
{
$en = Euler_quick_gmp_function($n); // функция эйлера от $n ($n- модуль)
// в следующей строке подбираем закрытую экспопенту d
$d = gmp_powm($e, gmp_sub(Euler_quick_gmp_function($en), '1'), $en); // (в этом заключается "взлом")
//echo '<br>d = = ' . gmp_strval($d);
$code = gmp_powm ($messageblock, $d, $n);
//echo '<br>расшифровано = ' . gmp_strval($code).'<br>';
return gmp_strval($code);
}
Код Euler_quick_gmp_function смотрите здесь = http://fkn.ktu10.com/?q=node/4249
- Log in to post comments
- 7526 reads