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
- 7049 reads