0
$\begingroup$

As part of rooting a device, I need to generate a 2048-bit RSASSA-PSS signature using SHA256 as the hash and MGF1-SHA256 as the mask function, for an update file I created. I can choose any key; but in case I need to, a 256-bit key is given to me. [namely, 49db67e9a6f198be22b03e84dedd69b834ba67d42e017d2f1ef08f0203010001]

However, I have no clue what those terms mean (e.g. mask function???). I have found a specification sheet online, that details how these encryption algorithms work. Would I have to follow all the steps in that file one by one, or has this algorithm already been programmed somewhere, in a way that I can provide the file and the key, and it can give me the 256-byte hash?

Is this an okay question to ask on the crypto site, or would I have to ask it elsewhere?

$\endgroup$
1
  • $\begingroup$ Note: Usually the meta.crypto.se isn't all too active and it thus can take days until you get a response here. That said, your question on the main site seems fine. $\endgroup$
    – SEJPM
    Commented May 22, 2016 at 12:37

1 Answer 1

1
$\begingroup$

Asking about the PSS padding and mask generation functions is on-topic here. But walking you through rooting a particular device is not.

Another problem is that your question seems rather confused. 32-byte key doesn't make much sense in the context of 2048 bit RSA, you might be talking about the 256 bit message hash. And the device has likely hardcoded a public key it uses to verify signatures, in which case you won't be able to produce a signature it validates unless you know the corresponding private key.

$\endgroup$
1
  • $\begingroup$ So the 32-byte (256-bit) quantity that the system uses is labeled as "Key". Whether it's private or public, I do not know, but I do get to choose it.case private: then I need only to encrypt the file with the given (default) key, and I'm done. case public: then I cannot use the given key. I have to generate another public-private key pair, encrypt the message with the private key, and set my "key" to be the public key. So in either case, encrypting this file should be possible given the set-up. Or am I missing something? Also, the 2048-bit "signature" is the end result of the algorithm $\endgroup$
    – Alex
    Commented May 25, 2016 at 20:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .