1. A data processing system comprising: a memory configured to store confidential data and non-confidential data; a cache memory which is configured to cache data stored in the memory and which comprises a first cache memory region and a second cache memory region; a pre-calculation circuit configured to pre-calculate data based on the cryptographic data to be used in a cryptographic algorithm, wherein the pre-calculated data are data which are to be used in course of the execution of the cryptographic algorithm in an order that is characteristic for a cryptographic key used in the cryptographic algorithm, and wherein the execution time of the cryptographic algorithm is independent of the order of the pre-calculated data; an initializing circuit configured to store the pre-calculated data in the second cache memory region; a processing circuit configured to carry out, in a confidential state of the data processing system, a cryptographic algorithm which operates on the confidential data and on the non-confidential data, wherein the confidential data are cached using the first cache memory region and the non-confidential data are cached using the second cache memory region; and an invalidating circuit configured to invalidate the first cache memory region when the data processing system switches from the confidential state into a non-confidential state.