Patent ID: 8442221

Claim:
A method implemented by a machine including hardware logic or a processor for encrypting an input image, the input image comprising a plurality of pixels, each pixel having a pixel value of a plurality of bits, the method comprising: receiving the input image; (a) dividing the input image into a plurality of pixel groups, each pixel group comprising one or more pixels of the input image; (b) shifting the location of the pixel groups according to an encryption key; (c) reordering the plurality of bits within each pixel value for at least some of the pixel values of the input image according to the encryption key, wherein for each resulting pixel value that has been reordered, each bit of the resulting pixel value uniquely corresponds to and has an identical bit value as a bit in the pixel value before the reordering irrespective of the bit values representing the pixel values before the reordering, and at least one of the bits of the resulting pixel value has a bit position different from a bit position of the corresponding bit before the reordering, whereby an encrypted image is generated; and storing or transmitting the encrypted image.