Why is processing power and memory in smartcards so limited?
Why is it that common smartcards like the SLE5528 are almost always limited to &lt;16K of available memory, and a very slow 8 bit processor? What is the limiting factor that makes it technologically/economically infeasible to raise these limits?


It's the extra price caused by the security features that drive up the price. Technically you can't compare the non volatile memory of smart-cards with normal flash or eeprom memory. For example it is possible to open up normal flash memory, bond wires onto the die and read out the memory content. With smart-cards this should not be possible (or more realistically: It should be so complicated and expensive that it's not worth it).

The same is true for the CPU. Smart-card CPUs have a ton of built-in security features that aren't required for normal CPUs at all. They should for example not leak any information on the code that they execute by the amount of current they draw, or leak anything by RF radiation. 

That said, all these side-channel blindings have a price not only in the manufacturing cost but also in computational performance. It's just more important to be secure than to be fast.

That said, smart-cards with more memory are available. You can buy them with more than 100kb memory. They are expensive though.

The recommendation in the comments to change the keys from RSA to ECC is a very good one. The key size of ECC compared with RSA at the same level of security is much smaller. So you get more out of your limited non volatile memory. ECC is also likely to be faster.