function 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; }