IP Library Granted Patent US 8,081,755
Granted Patent B2
US 8,081,755 · App. 11/419,468 · Granted Dec 20, 2011

JPEG2000 syntax-compliant encryption with full scalability

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,081,755
App. No.
11/419,468
Granted
Dec 20, 2011
Kind
B2
Abstract

A method and system is provided for encrypting an image compressed with a JPEG2000-based compression with minimal overhead so that the encrypted codestream is compliant with the syntax of the JPEG2000-based compression and can be scaled without decrypting. The encryption system generates, for each independent encryption segment of a codestream for an image, a unique initialization vector from a global initialization vector in such a way that the initialization vectors can be generated during decryption from the global initialization vector, even after truncation. The encryption system encrypts each independent encryption segment using its unique initialization vector. The encryption system ensures that the encrypted codestream is compliant with the syntax of the JPEG2000-based compression both as originally generated and as truncated by an encryption-unaware device.

Claims (36)

1. A method performed by a computing device for encrypting media data, the media data and the encrypted media data being a JPEG2000 compliant image, the method comprising:

providing a global initialization vector for the media data; adding the generated global initialization vector to a header of the media data;

identifying independent encryption segments of the media data, the independent encryption segments being codeword segments from code-blocks of the media data; and

for each identified independent encryption segment,

generating by the computing device an initialization vector for the independent encryption segment that is derived from the global initialization vector and from a unique identifier of the independent encryption segment; and

encrypting by the computing device the data of the independent encryption segment using the generated initialization vector for the independent encryption segment, the encrypted data being syntax-compliant with JPEG2000,

wherein the header with the global initialization vector and the encrypted data of each independent encryption segment without the initialization vector for each independent encryption segment form an encrypted JPEG2000 compliant image that can be truncated without having to decrypt the encrypted data of the independent encryption segments.

2. The method of claim 1 wherein the encryption scheme is a locally iterative encryption scheme.

3. The method of claim 2 wherein the locally iterative encryption scheme in cipher block chaining mode is applied to full encryption blocks and the locally iterative encryption scheme in cipher feedback mode is applied to a last partial encryption block.

4. The method of claim 1 wherein the encryption scheme is a ciphertext switching scheme.

5. The method of claim 1 wherein the unique identifier of the code-block includes an indication of tile, component, resolution level, precinct, subband, and coordinate of the upper left point of the code-block.

6. The method of claim 1 wherein the unique identifier is a combination of a code-block identifier and a coding pass index and the generating of the initialization vector includes XORing the global initialization vector with the unique identifier.

7. A system for encrypting media data so that it is compliant with a JPEG2000-based compression, comprising:

a memory storing computer-executable instructions of:

a component that identifies a global initialization vector for the media data;

a component that identifies code-blocks of the media data;

a component that identifies codeword segments of the code-blocks;

a component that identifies independent encryption segments from the codeword segments;

a component that generates an initialization vector for each independent encryption segment that is derived from the global initialization vector and from a unique identifier of the independent encryption segment;

a component that independently encrypts data of each independent encryption segment using the generated initialization vector for the independent encryption segment so that each encrypted independent encryption segment is JPEG2000-syntax compliant by iteratively encrypting the data of each independent encryption segment until the encrypted independent encryption segment is JPEG2000-syntax compliant;

a component that partitions code-blocks into code-block contributions to a packet so that when a bitstream is terminated at a code-block contribution to a packet, the remaining code-block contributions to a packet are JPEG2000-syntax compliant and can be decrypted; and

a component that generates a codestream that includes the identified global initialization vector; and

a processor for executing the computer-executable instructions stored in the memory.

8. The system of claim 7 wherein an independent encryption segment is a codeword segment from a code-block of a JPEG2000-based compression.

9. The system of claim 7 wherein an independent encryption segment is an intersection of a codeword segment and code-block contribution to a packet of JPEG2000-based compression.

10. The system of claim 7 wherein the component that encrypts generates syntax-compliant ciphertexts.

11. The system of claim 10 wherein the component that encrypts applies a locally iterative encryption scheme.

12. The system of claim 10 wherein the component that encrypts applies a ciphertext switching scheme.

13. The system of claim 7 wherein an independent encryption segment is either a codeword segment of a code-block or an intersection of a codeword segment and code-block contribution to a packet of JPEG2000-based compression, and the unique identifier of an independent encryption segment is a unique identifier of the code-block and an index to a first coding pass of the encryption segment.

14. A computer-readable medium containing a syntax-compliant encryption of data that is compressed using a JPEG2000-based compression, the syntax-compliant encryption being generated by a method comprising:

identifying a global initialization vector for the data; identifying code-blocks of the data;

identifying codeword segments of the code-blocks; identifying independent encryption segments from the code-blocks; for each identified independent encryption segment, generating an initialization vector for the independent encryption segment that is derived from the global initialization vector and from a unique identifier of the independent encryption segment; and

encrypting the data in the encryption segment using the generated initialization vector to generate ciphertext that is compliant with the syntax of a JPEG2000-based compression; and

generating a codestream that includes the identified global initialization vector and the encrypted data,

wherein each independent encryption segment is encrypted independently so that when an independent encryption segment is truncated from the data without decrypting the data, the non-truncated data is JPEG2000-syntax compliant and can be decrypted.

15. The computer-readable medium of claim 14 wherein an encryption segment is either a codeword segment of a code-block or an intersection of a codeword segment and code-block contribution to a packet of a JPEG2000-based compression, and the initialization vector for an independent encryption segment is generated from an image or frame initialization vector and a unique identifier of the code-block from which the codeword segment is generated and an index to a first coding pass of the encryption segment.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2006
From: ZHU, BIN; LI, SHIPENG; YANG, YANG
To: MICROSOFT CORPORATION
Reel/Frame 017942/0257 →