function rsa_sign($message, $private_key, $modulus, $keylength) { $padded = RSA::add_PKCS1_padding($message, false, $keylength / 8); $number = RSA::binary_to_number($padded); $signed = RSA::pow_mod($number, $private_key, $modulus); $result = RSA::number_to_binary($signed, $keylength / 8); return $result; }