1. A method for encoding a message into digital information, the digital information including a plurality of digital blocks, comprising the steps of: transforming, using a processor, each of the digital blocks, into a frequency domain using a transform function that transforms from time or space to temporal or spatial frequency; identifying a subset of resulting frequencies using amplitudes associated with the resulting frequencies and a primary mask; for each one of said digital blocks, selecting from said message, based upon said message and a convolution mask, selected message information and; encoding, using said processor, the selected message information for each digital block into a corresponding transform of that digital block by altering the amplitudes associated with said subset of resulting frequencies, depending upon a value associated with the corresponding selected message information.