Method and system for multiple symmetric decryption of .ZIP files
The present invention provides a method of integrating existing strong encryption methods into the processing of a .ZIP file to provide a highly secure data container which provides flexibility in the use of symmetric and asymmetric encryption technology. The present invention adapts the well established .ZIP file format to support higher levels of security and multiple methods of data encryption and key management, thereby producing a highly secure and flexible digital container for electronically storing and transferring confidential data.
1 . A method of providing access to data in a .Zip file format data container, said method including:
receiving a data container constructed in accordance with a .Zip file format, said data container including:
first symmetric key data;
second symmetric key data; and
an encrypted data file,
wherein said first symmetric key data was derived by symmetrically encrypting, using a first symmetric key, an intermediate symmetric key that was used to encrypt said encrypted data file,
wherein said second symmetric key data was derived by symmetrically encrypting, using a second symmetric key, said intermediate symmetric key that was used to encrypt said encrypted data file
receiving a decryption key input;
providing the option of:
using said first symmetric key data in combination with said decryption key input to recover said intermediate symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired first symmetric key; and
using said second symmetric key data in combination with said decryption key input to recover said intermediate symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired second symmetric key; and
providing access to said decrypted data file.
2 . The method of claim 1 further including decompressing said decrypted data file.
3 . The method of claim 2 wherein said decompressing employs a Lempel-Ziv (LZ)-type data decompression algorithm.
4 . The method of claim 2 wherein said decompressing employs a Deflate-type data decompression algorithm.
5 . The method of claim 2 wherein said decompressing employs a Burrows-Wheeler Transform (BWT)-type data decompression algorithm.
6 . The method of claim 1 wherein said decrypted data file is not decompressed.
7 . The method of claim 1 wherein at least part of one of said first symmetric key, said second symmetric key, and said intermediate symmetric key is composed of random data.
8 . The method of claim 7 wherein at least part of said first symmetric key is composed of a first set of random data and at least part of said second symmetric key is composed of a second set of random data.
9 . The method of claim 8 wherein said first set of random data is not equal to said second set of random data.
10 . The method of claim 1 wherein at least part of said decryption key is received from a user.
11 . The method of claim 10 wherein at least part of said decryption key is a password.
12 . The method of claim 1 wherein said desired first symmetric key input is different from said desired second symmetric key input.
13 . The method of claim 1 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 128 bits.
14 . The method of claim 1 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 192 bits.
15 . The method of claim 1 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 256 bits.
16 . The method of claim 1 wherein said symmetrically decrypting said encrypted data file uses an AES decryption decoding operation.
17 . The method of claim 1 wherein said symmetrically decrypting said encrypted data file uses a 3DES decryption decoding operation.
18 . A method of providing access to data in a .Zip file format data container, said method including:
receiving a data container constructed in accordance with a Zip file format, said data container including:
first symmetric key data;
second symmetric key data; and
an encrypted data file,
wherein said first symmetric key data was derived from a first symmetric key that was used to symmetrically encrypt said encrypted data file,
wherein said second symmetric key data was derived from a second symmetric key that was used to symmetrically encrypt said encrypted data file,
receiving a decryption key input;
providing the option of:
using said first symmetric key data in combination with said decryption key input to recover said first symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired first symmetric key; and
using said second symmetric key data in combination with said decryption key input to recover said second symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired second symmetric key; and
providing access to said decrypted data file.
19 . The method of claim 18 further including decompressing said decrypted data file.
20 . The method of claim 19 wherein said decompressing employs a Lempel-Ziv (LZ)-type data decompression algorithm.
21 . The method of claim 19 wherein said decompressing employs a Deflate-type data decompression algorithm.
22 . The method of claim 19 wherein said decompressing employs a Burrows-Wheeler Transform (BWT)-type data decompression algorithm.
23 . The method of claim 18 wherein said decrypted data file is not decompressed.
24 . The method of claim 18 wherein at least part of one of said first symmetric key and said second symmetric key is composed of random data.
25 . The method of claim 24 wherein at least part of said first symmetric key is composed of a first set of random data and at least part of said second symmetric key is composed of a second set of random data.
26 . The method of claim 25 wherein said first set of random data is not equal to said second set of random data.
27 . The method of claim 18 wherein at least part of said decryption key is received from a user.
28 . The method of claim 27 wherein at least part of said decryption key is a password.
29 . The method of claim 18 wherein said desired first symmetric key input is different from said desired second symmetric key input.
30 . The method of claim 18 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 128 bits.
31 . The method of claim 18 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 192 bits.
32 . The method of claim 18 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 256 bits.
33 . The method of claim 18 wherein said symmetrically decrypting said encrypted data file uses an AES decryption decoding operation.
34 . The method of claim 18 wherein said symmetrically decrypting said encrypted data file uses a 3DES decryption decoding operation.
35 . A method of providing access to data in a data container, said method including:
receiving a data container designed for containing compressed files, said data container including:
first symmetric key data;
second symmetric key data; and
an encrypted data file,
wherein said first symmetric key data was derived by symmetrically encrypting, using a first symmetric key, an intermediate symmetric key that was used to encrypt said encrypted data file
wherein said second symmetric key data was derived by symmetrically encrypting, using a second symmetric key, said intermediate symmetric key that was used to encrypt said encrypted data file
receiving a decryption key input;
providing the option of:
using said first symmetric key data in combination with said decryption key input to recover said intermediate symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired first symmetric key; and
using said second symmetric key data in combination with said decryption key input to recover said intermediate symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired second symmetric key; and
providing access to said decrypted data file.
36 . The method of claim 35 further including decompressing said decrypted data file.
37 . The method of claim 36 wherein said decompressing employs a Lempel-Ziv (LZ)-type data decompression algorithm.
38 . The method of claim 36 wherein said decompressing employs a Deflate-type data decompression algorithm.
39 . The method of claim 36 wherein said decompressing employs a Burrows-Wheeler Transform (BWT)-type data decompression algorithm.
40 . The method of claim 35 wherein said decrypted data file is not decompressed.
41 . The method of claim 35 wherein at least part of one of said first symmetric key, said second symmetric key, and said intermediate symmetric key is composed of random data.
42 . The method of claim 41 wherein at least part of said first symmetric key is composed of a first set of random data and at least part of said second symmetric key is composed of a second set of random data.
43 . The method of claim 42 wherein said first set of random data is not equal to said second set of random data.
44 . The method of claim 35 wherein at least part of said decryption key is received from a user.
45 . The method of claim 44 wherein at least part of said decryption key is a password.
46 . The method of claim 35 wherein said desired first symmetric key input is different from said desired second symmetric key input.
47 . The method of claim 35 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 128 bits.
48 . The method of claim 35 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 192 bits.
49 . The method of claim 35 wherein at least one of said first symmetric key, said second symmetric key, and said intermediate symmetric key has a key length of at least 256 bits.
50 . The method of claim 35 wherein said symmetrically decrypting said encrypted data file uses an AES decryption decoding operation.
51 . The method of claim 35 wherein said symmetrically decrypting said encrypted data file uses a 3DES decryption decoding operation.
52 . The method of claim 35 wherein said data container is constructed in accordance with a .Zip file format.
53 . A method of providing access to data in a data container, said method including:
receiving a data container designed for containing compressed files, said data container including:
first symmetric key data;
second symmetric key data; and
an encrypted data file,
wherein said first symmetric key data was derived from a first symmetric key that was used to symmetrically encrypt said encrypted data file,
wherein said second symmetric key data was derived from a second symmetric key that was used to symmetrically encrypt said encrypted data file,
receiving a decryption key input;
providing the option of:
using said first symmetric key data in combination with said decryption key input to recover said first symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired first symmetric key; and
using said second symmetric key data in combination with said decryption key input to recover said second symmetric key to symmetrically decrypt said encrypted data file to form a decrypted data file when said decryption key is a desired second symmetric key; and
providing access to said decrypted data file.
54 . The method of claim 53 further including decompressing said decrypted data file.
55 . The method of claim 54 wherein said decompressing employs a Lempel-Ziv (LZ)-type data decompression algorithm.
56 . The method of claim 54 wherein said decompressing employs a Deflate-type data decompression algorithm.
57 . The method of claim 54 wherein said decompressing employs a Burrows-Wheeler Transform (BWT)-type data decompression algorithm.
58 . The method of claim 53 wherein said decrypted data file is not decompressed.
59 . The method of claim 53 wherein at least part of one of said first symmetric key and said second symmetric key is composed of random data.
60 . The method of claim 59 wherein at least part of said first symmetric key is composed of a first set of random data and at least part of said second symmetric key is composed of a second set of random data.
61 . The method of claim 60 wherein said first set of random data is not equal to said second set of random data.
62 . The method of claim 53 wherein at least part of said decryption key is received from a user.
63 . The method of claim 62 wherein at least part of said decryption key is a password.
64 . The method of claim 53 wherein said desired first symmetric key input is different from said desired second symmetric key input.
65 . The method of claim 53 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 128 bits.
66 . The method of claim 53 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 192 bits.
67 . The method of claim 53 wherein at least one of said first symmetric key and said second symmetric key has a key length of at least 256 bits.
68 . The method of claim 53 wherein said symmetrically decrypting said encrypted data file uses an AES decryption decoding operation.
69 . The method of claim 53 wherein said symmetrically decrypting said encrypted data file uses a 3DES decryption decoding operation.
70 . The method of claim 53 wherein said data container is constructed in accordance with a .Zip file format.