A method for confidentially processing data stored on a platform, the data being stored in a database, in a form encrypted by stream encryption, using a key stream generated from a symmetric key, the confidential processing being performed on request from a client having generated beforehand a private key and public key pair of a homomorphic cryptosystem and having transmitted said public key to the platform, characterised in that: a request management module, receiving a request from the client ( PR ( i a)), generates a plurality of requests for access ( arq 1,..., arq n) to data blocks ( B 1,..., B N) and transmits these requests to a transcryption module; the transcryption module, receiving a request for access ( arq n) to a data block, transmits the access request to an access request prediction module which returns thereto a list ( Ω n) of indexes of data blocks the access to which is predicted; the transcryption module reads the data block ( B n) in the database and determines whether a corresponding key stream block is present in a cache of the transcryption module, and if not, adds the index of the absent block to said list of indexes of data block, said list of indexes of data blocks being supplied to a homomorphic calculation module ( KSHC); the homomorphic calculation module ( KSHC) is adapted to calculate, in the homomorphic domain, homomorphic ciphertexts of key stream blocks corresponding to the indexes of data blocks of said list, and to transmit the homomorphic ciphertexts of the key stream blocks to the transcryption module as they are obtained; the transcryption module stores the homomorphic ciphertexts of the key stream blocks in the cache, and transcrypts the data blocks the access to which is requested by adding them respectively with the homomorphic ciphertexts of the corresponding key stream blocks, read from the cache; the transcryption module transmits the data blocks thus transcrypted to the request management module which performs, in the homomorphic domain, the processing on the data blocks thus transcrypted corresponding to the request; the request management module transmits to the client the result of the processing, in an homomorphically encrypted form. a request management module, receiving a request from the client ( PR ( i a)), generates a plurality of requests for access ( arq 1,..., arq n) to data blocks ( B 1,..., B N) and transmits these requests to a transcryption module; the transcryption module, receiving a request for access ( arq n) to a data block, transmits the access request to an access request prediction module which returns thereto a list ( Ω n) of indexes of data blocks the access to which is predicted; the transcryption module reads the data block ( B n) in the database and determines whether a corresponding key stream block is present in a cache of the transcryption module, and if not, adds the index of the absent block to said list of indexes of data block, said list of indexes of data blocks being supplied to a homomorphic calculation module ( KSHC); the homomorphic calculation module ( KSHC) is adapted to calculate, in the homomorphic domain, homomorphic ciphertexts of key stream blocks corresponding to the indexes of data blocks of said list, and to transmit the homomorphic ciphertexts of the key stream blocks to the transcryption module as they are obtained; the transcryption module stores the homomorphic ciphertexts of the key stream blocks in the cache, and transcrypts the data blocks the access to which is requested by adding them respectively with the homomorphic ciphertexts of the corresponding key stream blocks, read from the cache; the transcryption module transmits the data blocks thus transcrypted to the request management module which performs, in the homomorphic domain, the processing on the data blocks thus transcrypted corresponding to the request; the request management module transmits to the client the result of the processing, in an homomorphically encrypted form.