To prevent some side-channel attacks in RSA, I've seen people use multiplicative blinding $$ a^d\bmod N=(r^{-1})^d(ra)^d\bmod N $$ or additive exponent blinding $$ a^d=a^{d+r\phi(N)}\bmod N. $$ However, I've recently come across something that might be called "modulus blinding" where the modulus $N$ is multiplicatively randomized and some other operations are performed (hard to follow the code I'm looking at).
I thought maybe this was protection against fault injection in CRT implementations, but the library I was looking at did this in both their "plain" and CRT implementation. Sorry I don't have more details; I'm specifically looking at NXP code mcuxClRsa_PrivatePlain.c and mcuxClRsa_PrivateCrt.c from an SDK for the FRDM-MCXN947 board (although I assume the code would be similar for other processors). Anyone can grab it after creating an NXP account.
If anyone can tell me what they're doing or might be doing (given my vague description), I'd appreciate it.
[Other weird things in that library: only 32 bits for the blinding in RSA and ECC (mcuxClEcc_Internal_GenerateMultiplicativeBlinding.c), so not uniformly random, and they do exponent blinding for RSA but by taking an exponent and dividing by a random 64-bit number $b$, $d=bq+r$, again not uniformly random, but maybe it's fine practically speaking.]