11. A method of privately searching for keyword criteria on streaming data, the method comprising: providing a dictionary of words each being either a keyword or an irrelevant word, each of the keywords having associated therewith a corresponding cipher-text having a correspondingly unique value that is an encryption of the number one under an additively homomorphic probabilistic Chosen Plaintext Attack-secure (CPA-secure) encryption scheme, and each of the irrelevant words having associated therewith a corresponding cipher-text having a correspondingly unique value that is an encryption of the number zero under the encryption scheme; providing a buffer with each slot therein initialized to contain an encryption of the number zero; receiving a plurality of electronic documents each comprising a plurality of words; for each of the plurality of electronic documents, performing the following: a) assign an initial value that is an encryption of the number zero to an encryption variable; b) look up each of the plurality of words in the dictionary; c) for each of the plurality of words found in the dictionary, plus-equal the corresponding cipher-text to the encryption variable; d) after sub-step c), encrypt the electronic document using the encryption variable; e) add the encrypted electronic document to one of the slots in the buffer.
11. A method of privately searching for keyword criteria on streaming data, the method comprising: providing a dictionary of words each being either a keyword or an irrelevant word, each of the keywords having associated therewith a corresponding cipher-text having a correspondingly unique value that is an encryption of the number one under an additively homomorphic probabilistic Chosen Plaintext Attack-secure (CPA-secure) encryption scheme, and each of the irrelevant words having associated therewith a corresponding cipher-text having a correspondingly unique value that is an encryption of the number zero under the encryption scheme; providing a buffer with each slot therein initialized to contain an encryption of the number zero; receiving a plurality of electronic documents each comprising a plurality of words; for each of the plurality of electronic documents, performing the following: a) assign an initial value that is an encryption of the number zero to an encryption variable; b) look up each of the plurality of words in the dictionary; c) for each of the plurality of words found in the dictionary, plus-equal the corresponding cipher-text to the encryption variable; d) after sub-step c), encrypt the electronic document using the encryption variable; e) add the encrypted electronic document to one of the slots in the buffer. 19. The method of claim 11 , wherein the encryption scheme allows computing polynomials of total degree two on cipher-texts, each of the keywords has associated therewith a second corresponding cipher-text having a correspondingly unique value that is an encryption of the number one, and each of the irrelevant words has associated therewith a second corresponding cipher-text having a correspondingly unique value that is an encryption of the number zero, step a) further comprises assigning a value that is an encryption of the number zero to a second encryption variable, step c) further comprises plus-equaling the second corresponding cipher-text to the second encryption variable; and step d) further comprises combining the second encryption variable with the encryption variable to produce an encryption of their product using a means provided by the encryption scheme, and storing the result in the encryption variable before multiplying the encryption variable by the electronic document to produce the encrypted electronic document.