Parameterization of OAEP on iOS

OAEP (i.e. Optimal Asymmetric Encryption Padding) as defined in RFC 2437 is

parameterized by the choice of hash function and mask generation function.

The hash function is usually either SHA-1 or SHA-2 while the only mask generation function defined is MGF1 which itself is

based on a hash function.

In the Security.framework this padding scheme is available as OAEP (deprecated as of iOS 15) and as properties of the SecKeyAlgorithm structure, e.g. rsaEncryptionOAEPSHA1. The documentation for both only reads

No overview available

but from the comments in SecKey.h can be gleaned that at least for rsaEncryptionOAEPSHA1

data is padded using OAEP padding scheme internally using SHA1.

So it seems that while using SecKeyAlgorithm the choice of hash function corresponds to selecting a property of the structure; the question that remains is whether this hash function is used for both the encoding scheme and the mask generation function. I suppose that this is in fact the case, but I am unable to find anything corroborating this.