1. An encryption method for providing both data confidentialityand integrity for a message, comprising the steps of: receiving an input plaintext string comprising a message and padding it as necessary such that its length is a multiple of &lgr; bits; partitioning the input plaintext string a length that is a multiple of &lgr; bits into a plurality of equal-size blocks of &lgr; bits in length; creating an MDC block of &lgr; bits in length that includes the result of applying a non-cryptographic Manipulation Detection Code (MDC) function to the plurality of the equal-size blocks; making one and onlyone processing pass with a single cryptographic primitive over each of said equal-size blocks and the MDC block to create a plurality of hidden ciphertext blocks each of &lgr; bits in length; and performing a randomization function over said plurality of hidden ciphertext blocks to create a plurality of output ciphertext blocks each of &lgr; bits in length.