A method for confidentially querying the presence of a record in a database hosted by a server, said records being stored in the database in the form of digital fingerprints, each digital fingerprint being obtained by hashing a record using a public hash function and each row of the database containing the digital fingerprints sharing their first m > 1 bits, characterised in that: - a first user has a symmetric stream cipher key and a second user has an at least additive homomorphic cryptosystem; - the rows of the database are encrypted using said stream cipher by adding masks each having the size of a row of the database; - the first user authorises access to the database to the second user by encrypting the inverse masks using the public key of said homomorphic cryptosystem and by transmitting the inverse masks thus encrypted to the server; - the rows of the database are transcrypted in the homomorphic domain by adding to said rows the inverse masks thus encrypted; - the second user calculates the digital fingerprint of the record using said public hash function and deduces therefrom an integer value, q m, corresponding to the first m bits; - the second user constructs a query in the form of a first vector of size 2 m consisting of a homomorphic cipher of the value "1" in position q m and homomorphic ciphers of the value "0" in the other positions, the query being transmitted to the server; - the server evaluates in the homomorphic domain the scalar product between the first vector and a second vector of size 2 m consisting of the encrypted rows of the database, the result being transmitted as a response to the second user; - the second user decrypts said response using the private key of his homomorphic cryptosystem and deduces therefrom the clear content of the row q m of the database; - the second user searches whether the digital fingerprint of the record is among the digital fingerprints of the row q m thus obtained. - a first user has a symmetric stream cipher key and a second user has an at least additive homomorphic cryptosystem; - the rows of the database are encrypted using said stream cipher by adding masks each having the size of a row of the database; - the first user authorises access to the database to the second user by encrypting the inverse masks using the public key of said homomorphic cryptosystem and by transmitting the inverse masks thus encrypted to the server; - the rows of the database are transcrypted in the homomorphic domain by adding to said rows the inverse masks thus encrypted; - the second user calculates the digital fingerprint of the record using said public hash function and deduces therefrom an integer value, q m, corresponding to the first m bits; - the second user constructs a query in the form of a first vector of size 2 m consisting of a homomorphic cipher of the value "1" in position q m and homomorphic ciphers of the value "0" in the other positions, the query being transmitted to the server; - the server evaluates in the homomorphic domain the scalar product between the first vector and a second vector of size 2 m consisting of the encrypted rows of the database, the result being transmitted as a response to the second user; - the second user decrypts said response using the private key of his homomorphic cryptosystem and deduces therefrom the clear content of the row q m of the database; - the second user searches whether the digital fingerprint of the record is among the digital fingerprints of the row q m thus obtained.