Systems and methods for manipulating and managing computer archive files
10949394 ยท 2021-03-16
Assignee
Inventors
- Yuri Basin (Thiensville, WI, US)
- Michael J Beirne (Chicago, IL, US)
- James C Peterson (Menomonee Falls, WI, US)
- Karen L Peterson (Menomonee Falls, WI, US)
Cpc classification
Y10S707/99953
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H03M7/30
ELECTRICITY
H04L67/51
ELECTRICITY
Y10S707/99931
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S707/99943
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S707/99942
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H03M7/30
ELECTRICITY
Abstract
A computer program for managing and manipulating archive zip files of a computer. The program includes a system and method for opening, creating, and modifying, and extracting zip archive files. The program is fully integrated into Microsoft Windows Explorer and is accessed via Explorer menus, toolbars, and/or drag and drop operations. An important feature of the program is the archive manager which may be used to open a zip file, create a new zip file, extract zip files, modify zip files, etc. The program is integrated into Microsoft Windows Explorer using the shell name space extension application program interface developed by Microsoft.
Claims
1. A method of encrypting a file on a computer, said method including: receiving an electronic file at an application on a computer, wherein said application provides a graphical user interface including an optionally user-selectable setting to enable encryption of electronic data, wherein, when said user-selectable setting is actuated using said graphical user interface, said application performs the steps of: generating symmetric key data using random data; encrypting said electronic file to form a symmetric key data encrypted electronic file using said symmetric key data key; placing said encrypted electronic file in an electronic container file; and placing encryption information relating to said symmetric key data encrypted electronic file inside said electronic container file, wherein said electronic container file has been enhanced to allow encryption information relating to said symmetric key data electronic file to be placed inside said electronic container file, wherein said electronic container file is decryptable using said symmetric key data.
2. The method of claim 1 further including: compressing said electronic file before encrypting said file.
3. The method of claim 2 wherein said compressing employs a .zip-type compression algorithm.
4. The method of claim 2 wherein said compressing employs a Deflate-type compression algorithm.
5. The method of claim 1 wherein said electronic file is not compressed before encrypting.
6. The method of claim 1 wherein said electronic file includes a file characteristic, said method further including: encrypting said file characteristic to form an encrypted file characteristic; and placing said encrypted file characteristic in said symmetric key data encrypted electronic file.
7. The method of claim 6 wherein said file characteristic includes the name of said electronic file.
8. The method of claim 1 further including: receiving a public key; digitally signing said symmetric key data encrypted electronic file using a digital signature generated using said public key.
9. The method of claim 8 wherein said digital signature is a PKI based digital signature.
10. The method of claim 8 wherein said digital signature uses an X.509 based certificate.
Description
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION OF THE INVENTION
(17)
(18) The lowest level component is the compression/extraction engine 40. The compression/extraction component 40 consists of the actual compression, extraction, and crc-32 algorithms. These are written as a set of portable C language routines, with higher level C++ routines interfacing with the higher level file management component 30. The file management component 30 consists of the central directory 32 which holds a cached tree-like structure of the archive independent of the actual archive type. Actual archive implementation is used by the central directory 22 to read/write data to the archives 34 and the user interface 20. The central directory 32 consists of folder objects and file objects 36. A services object 38 is also part of the file management component 30. The services object 38 acts as a helper interface between the user interface component 20 and the file management component 30. The user interface 20 consists of a shell 22, a graphical user interface (GUI) 24, and a call level interface (CLI) 26.
(19) The data object 36 supports one or more standard file formats (Explorer or File Manager drag and drop), and one or more custom formats (zip compressed non-encrypted and zip compressed). When files are dropped from Explorer to the archive, the archive requests available standard data formats to compress the data. When files are dropped from archive to Explorer, Explorer requests available standard data formats. In this instance, the data object will need to uncompress the data. When files are dropped from one zip archive to another zip archive, the target archive will be able to detect the native data and copy it without modification. When files are dropped from an ARJ archive to a zip archive, the zip archive will be able to recognize only standard formats, as a result, the ARJ data object will uncompress the data and the zip archive will compress the data. So it is possible to convert data between different archives.
(20)
(21) The compression/extraction engine 40 and the file management component 30 form the data compression library that is used to build applications, such as the present invention, needing zip compatible compression and file management.
(22) The present invention provides a software utility program that is integrated into Microsoft Windows Explorer for managing and manipulating archive files without leaving the Explorer environment. The invention includes an archive manager which allows a user to open, view, modify (add/delete), and extract data from an existing archive, or create a new archive using modified Windows Explorer right-click context menus, pull-down menus, toolbars, copy and paste operators, or drag and drop operators.
(23)
(24) To extract individual files and/or folders archived in a zip file, a user opens the zip file in Explorer as discussed above and invokes the extract dialog, by selecting the Extract menu item in the right-click context menu. The Extract dialog appears,
(25) The present invention also allows a user to create a new zip file. The following is an example of the steps one might follow to create a new zip file. First, the user highlights the files and/or folders he wishes to archive. The user then clicks his right mouse button to bring up the context menu. PKZIP/Compress is then selected. The Save as dialog appears,
(26) Adding or deleting files in a zip file works somewhat differently than these same operations do in Explorer. For example, in Explorer, when a user highlights a file and clicks the delete key, that file is immediately deleted. The present invention includes an edit-before-saving function, so that when a user highlights a file and clicks the delete key, a graphic instruction cue icon is displayed directly to the left of the file icon, indicating that this file is to be deleted. Similarly, when a file is added to an archive, the program will display an add icon directly to the left of the file icon indicating that this file is to be added. In other words, a zip file is not actually modified until the user specifically instructs the program to save the zip file.
(27) The following is an example of the steps one might follow to modify an existing zip file. A user first locates and opens the zip file he wishes to modify. Next, the files and/or folders to add to the archive are specified by clicking the add toolbar button, thereby invoking the add dialog, or by dragging the files and/or folders from their source and dropping them at a destination. A user may alternately use the copy and past operation to specify files and/or folders to add to the archive. The program will display an add icon (such as plus symbol) indicating that these files and/or folders are to be added when the archive is saved.
(28) In a similar manner, a user may specify files and/or folders to delete in the archive by highlighting the files the user wishes to delete, and clicking the delete key, or by selecting the Delete menu item. The program will display a Delete icon (such as a circle with a slash through it) indicating that these files and/or folders are to be deleted when the archive is saved.
(29) After the user is finished modifying the zip file, the file may be saved by selecting the Save menu item available under the File menu, or by use of the right-click context menu. A user may also click the Save button on the toolbar. To save the modifications to another zip file, select the Save As or Save Copy As menu items.
(30)
(31) The present invention may also include many options which may be configured in the options tab dialog accessible via the menu/tool bar or via the right-click context menu. One option is the compression method. Under this option, a user may specify a compression algorithm other than the default algorithm. The compression algorithms to choose from may include Store, DCL Implode, and Deflate. By default, all files are compressed using the Deflate algorithm. As one example, a user may wish to use the Store feature for all JPEG files, since the compression ratios on files of this type are typically negligible. A user may specify a default method or extension specific method under the extension column. Depending on the compression method specified, a user may wish to configure one or more of the storage parameters, as described below.
(32) There are no available settings for the store method. The program simply archives the specified files without compression. Since the program does not expend time compressing files, this is the fastest method of archival.
(33) Under the DCL Implode method of compression, the dictionary byte size (i.e., 1024, 2048, 4096) a user wishes to use when compressing files is configurable along with the data type. The binary setting should be selected to optimize compression of program files or other non-text files. The ASCII setting should be selected to optimize compression of text files.
(34) Most zip utilities use the Deflate algorithm to compress files. Under this algorithm, the compression level may be set using a slide bar to specify the level of compression you wish to apply when archiving files. Moving the slide bar all the way left instructs the program to use the fastest method of compression. Moving the slide bar right increases the time the program expends compressing the file which, as a result, improves compression. Moving the slide bar all the way right instructs the program to apply maximum compression to files. This is the slowest method of file archival because the program must expend time maximizing compression on the files. Typically, applying maximum compression results in the smallest zip file.
(35) In addition, the dictionary kilobyte size may be selected when using the Deflate algorithm. The dictionary size is selectable between a 32K dictionary and a 64K dictionary. The 64K dictionary provides slightly better compression ratios, but may not be compatible with all zip utilities.
(36) The present invention also allows the user to digitally sign and encrypt the individual files archived in a zip file as well as the central end directory, and subsequently to authenticate and decrypt those files upon extraction. The signing and encrypting functionality is based on PKCS No. 7, and related public key encryption standards and is therefore compatible with security functionality in other applications such as Microsoft's Internet Explorer. Signing a zip file allows one to detect whether a zip file's integrity has been compromised. Encrypting a file denies access to the file's contents by unauthorized users.
(37) Before a user can sign or encrypt files, he must first have a digital certificate with which to sign or encrypt. A digital certificate may be obtained from VeriSign or Thawte or from another certificate authority.
(38) The present invention also provides a software utility program that integrates the compression/extraction engine into Microsoft Outlook to compress, encrypt and authenticate email attachments without leaving the Outlook environment. The invention includes a toolbar button and a tooltray menu that allows turning the compression of email attachments on or off. The compression of email attachments reduces the storage and transfer time of email messages and can reduce the spread of common email attachment viruses.
(39) The system of the present invention may further include a more generally applicable mail attachment compressor module. Most email programs support sending file attachments along with the main body of the email message. Most users can choose to send the attached file as it originally exists, or compress it prior to attachment to the mail message so it is smaller and more efficient to send and store. Currently, the file to be attached must be manually compressed outside the email program and then attached using the attachment features of the email program. The mail attachment compressor module of the present invention integrates compression into the standard Microsoft Outlook mail message edit form so compressing attachments can be done automatically as the message is sent. The mail attachment compressor module also provides the ability to digitally sign attachments as they are sent for greater security.
(40) After installing the program of the present invention, the mail form of Microsoft Outlook will have two additional buttons in its standard toolbar. These buttons include a Toggle Compression button and an Options button. If the Toggle Compression button is not depressed (the default state), all mail attachments will be compressed automatically when the standard send button is used to send the message. Attachments already compressed when attached will be left as is, while attachments that are not compressed will be compressed into a single .ZIP file that will replace the original uncompressed attachments. When the Toggle Compression button is depressed, the compression will not be done and the files will be sent as attached. The Options button will display the Options configuration dialogs from the compression/extraction engine so that the compression actions can be configured. The primary use of this button is to configure digital certificates, but any configurable parameters supported by the compression/extraction engine can be set. These parameters include digital certificates, passwords and compression method options.
(41) Operation of the mail attachment compressor program is initiated by installing the mail attachment compressor module software onto the users system, and initiating Microsoft Outlook. If the mail attachment compression feature is enabled through the toggle button, the attachments will automatically be compressed when the message is sent using the send button. If the mail attachment compression feature is not enabled, then the attachments will be sent unaltered.
(42) The components of the mail attachment compressor module provide the functionality to be implemented within Microsoft Outlook and provide integration between this module and the underlying compression/extraction engine. When compressing an attachment, the files to be compressed will be passed off to the compression/extraction engine of the underlying software program. After compression, the compressed file will be reattached to the original message, the original copies of the attachments that are now compressed will be removed from the message, and any temporary files created during compression will be deleted.
(43) The mail attachments module uses the compression/extraction engine to hook directly into Microsoft Outlook to allow users to compress email attachments into zip files. This module provides an automation hook so that email attachments appended to Outlook mail messages can be automatically compressed when the message is sent.
(44) The Scan and Add dialog of the archive manager is invoked via the Scan and Add toolbar button or the Explorer File/right-click menu. Once the user is finished specifying files to add to the archive manager list, the user clicks OK to add the selected file shortcuts to his list and return to Explorer, or he clicks Apply to add the selected files and remain in the Scan and Add dialog. The options available via this dialog include Files and Folders, multiple selection scan, and Scan and Add form. The archive manager allows the user to add unopened archives to the archive manager list, and to add multiple files using the multiple selection scan option under the archive manager.
(45) While the invention has been described with reference to preferred embodiments, those skilled in the art will appreciate that certain substitutions, alterations and omissions may be made without departing from the spirit of the invention. Accordingly, the foregoing description is meant to be exemplary only, and should not limit the scope of the invention set forth in the following claims.