Masking is the process of replacing operations (internally to some cryptographic algorithm) on intermediate values with operations on secret shared values. Then, even if some number of these secret-shared values leak (say due to various side-channel attacks), one can maintain security (due to the information-theoretic security of the secret-sharing scheme).
I'm interested in the possibility of masked bigint arithmetic. Namely, one represents $x\in \mathbb{Z}_{2^{2048}}$ (for example) as
$$x = \sum_{i = 0}^{63} x_i 2^{32i}$$
where each $x_i \in\mathbb{Z}_{2^{32}}$, and we sill be masking each $x_i$ individually. Standard addition and multiplication of the masked shares are rather straightforward --- I'm in particular curious how one deals with carrying.
This seems like the kind of thing that someone should have worked-out in the literature, specifically to mask RSA implementations. But I haven't been able to find anything (I've seen some discussion of masked RNS implementations of RSA, which is more straightforward conceptually). Is it known how to mask BigInt arithmetic?