WO1998047259A2 - File encryption method and system - Google Patents

File encryption method and system Download PDF

Info

Publication number
WO1998047259A2
WO1998047259A2 PCT/US1998/004621 US9804621W WO9847259A2 WO 1998047259 A2 WO1998047259 A2 WO 1998047259A2 US 9804621 W US9804621 W US 9804621W WO 9847259 A2 WO9847259 A2 WO 9847259A2
Authority
WO
WIPO (PCT)
Prior art keywords
constant value
checksum
information file
file
encryption key
Prior art date
Application number
PCT/US1998/004621
Other languages
French (fr)
Other versions
WO1998047259A9 (en
WO1998047259A3 (en
Inventor
Guy L. Fielder
Paul N. Alito
Original Assignee
Fielder Guy L
Alito Paul N
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25212430&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO1998047259(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fielder Guy L, Alito Paul N filed Critical Fielder Guy L
Publication of WO1998047259A2 publication Critical patent/WO1998047259A2/en
Publication of WO1998047259A3 publication Critical patent/WO1998047259A3/en
Publication of WO1998047259A9 publication Critical patent/WO1998047259A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Definitions

  • the invention relates generally to a method and system for protecting an information file from unauthorized access, and more specifically to the encryption of a message or file in accordance with a deterministic encryption key which is highly resistant to discovery through brute force attack or cryptographic analysis, and which obviates the need for key directories or other permanent key management records.
  • Data encryption technology is basically classified into two technology types: symmetric or asymmetric.
  • An example of a symmetric encryption key is provided in the Data Encryption Standard, FIPS PUB 46-2; DATA ENCRYPTION STANDARD (DES), 1993 December 30.
  • the RSA encryption technology named for its inventors, Rivest, Shamir, and Adleman, is an example of asymmetric or public key encryption.
  • Symmetric encryption uses the same key to both encrypt and decrypt an information file.
  • Asymmetric encryption uses two keys which share a relationship such that information encrypted with one key can be decrypted only with the second key.
  • Symmetric encryption is much faster than asymmetric encryption, and is therefore better suited for bulk encryption of data files.
  • Encryption algorithms are characterized as being either reversible or irreversible. Symmetric and asymmetric encryption algorithms are reversible. A reversible algorithm is one where data is recoverable from its encrypted state back to its cleartext state.
  • An example of an irreversible algorithm is the secure hash algorithm as defined in FIPS PUB 180-1, SECURE HASH STANDARD (SHS), 1995 April 17. Secure hash algorithms were originally used to detect alterations to an information file, whether intentional or unintentional. It is not surprising, therefore, that the output of the algorithm is called a message integrity code (MIC) or message digest (MD). Other characteristics of hash algorithms are that the output is always the same binary length regardless of the size of the input.
  • MIC message integrity code
  • MD message digest
  • an input having a large binary length may be mapped to an output having a shorter binary length.
  • an output having a shorter binary length may be mapped to an input having a shorter binary length.
  • Encryption keys may in addition be classified as deterministic or non-deterministic.
  • a deterministic encryption key is one which is repeatable each time a specific input is applied to the encryption key generator. Different inputs produce different outputs.
  • a non-deterministic encryption key is one which cannot be repeated with a same input to the encryption key generator. For example, a random number generator provides a non-deterministic result.
  • File encryption methods and systems are disclosed in U.S. Patent Nos. 5,421 ,006;
  • U.S. Patent No. 5,421,006 discloses the use of an integrity verification system, but does not disclose the generation of a substantially irreversible and deterministic encryption key, the use of many-to-few bit mapping, or the recovery of constant value headers.
  • U.S. Patent No. 5,065,429 does not disclose the generation of a substantially irreversible and deterministic encryption key, a message integrity code, or the use of many-to- few mapping of bits.
  • U.S. Patent No. 5,309,516 does not employ file headers, provide for the checking of the integrity of the encrypted files and headers, or use a many-to-few bit mapping in its key generation to frustrate brute force attacks.
  • U.S. Patent No. 5,495,533 discloses the use of file headers, file trailers, and a message authentication check field in the header to protect against any modifications to the header fields.
  • the patent does not disclose the use of the file header in the generation of an encryption key, the generation of a deterministic but non-predictable symmetric encryption key, or the use of file trailers at the end of an encrypted message file to authenticate the encrypted message file header.
  • General information related to file encryption techniques may be found in "Applied
  • a constant value associated with an information file and a checksum are each stored in the header of the file.
  • the constant value and a secret E-Key Seed are used to generate a deterministic but non-predictable, pseudo-random, symmetric encryption key which obviates the need for key directories or other key records to recover the key.
  • the key generation method which is used employs two many-to-few bit mappings to make the encryption key highly resistive to brute force trial and error attacks, and a secure hash function which produces a message digest of constant binary length (no matter the binary length of the input) to defeat any attempt to discover the inputs necessary to regenerate the key.
  • the information file thereafter is encrypted with the deterministic encryption key which is destroyed upon use, and the encrypted information file and constant value are concatenated and operated upon by a secure hash function to produce a message integrity code (MIC).
  • MIC message integrity code
  • the MIC, a redundant constant value, and a redundant checksum are stored as trailers to the encrypted information file, and are used to verify the integrity of the encrypted information file and file header, and to recover a corrupted constant value.
  • a method and system for protecting sensitive information files and messages from access by unauthorized parties, whether stored in a computer memory or exchanged over a transfer medium between sending and receiving stations.
  • Each document or message file is created in normal operation.
  • a constant value or message is logically combined to a secret bit sequence (E-Key Seed) to perform a many-to-few bit mapping which shuffles the bits and provides a pseudo-random result.
  • the result then is applied through a secure hash function generator to perform a second many-to-few bit mapping and provide a pseudo-random message digest.
  • the message digest in turn may be truncated to a desired bit length to provide a deterministic but non-predictable, pseudo-random, symmetric encryption key which is used to encrypt the message or information file to be protected.
  • the deterministic encryption key is destroyed immediately after use.
  • the constant value and encrypted message thereupon are secure hashed to create a message integrity code (MIC) that is used to detect any alterations to the encrypted information file that may have occurred intentionally or unintentionally.
  • MIC message integrity code
  • both a constant value and a checksum bit sequence are added as a header at the beginning of an encrypted file, and a redundant constant value and checksum bit sequence are added after the message integrity code as a trailer at the end of the encrypted file to accommodate recovery of a constant value that may have been corrupted.
  • Figure 1 is a functional block diagram of an encrypted file transmission system of which the present invention is a part;
  • Figure 2 is a graphical illustration of a formatted encrypted file used in the system of Figure 1 ;
  • Figure 3 is a logic flow diagram of a method of generating a symmetric, and deterministic but non-predictable encryption key in accordance with the invention by using a constant value associated with the formatted encrypted message of Figure 2 and a secret sequence of plural bits (E-key seeds);
  • FIG 4 is a logic flow diagram of a method for developing a message integration code (MIC);
  • Figure 5 is a plan illustration of a message file format which provides message integrity protection, constant value recovery, and encryption key regeneration;
  • Figure 6 is a graphical illustration of the data fields making up a cleartext constant value as used in the invention. DESCRIPTION OF PREFERRED EMBODIMENTS
  • a first station 1 which may comprise a personal computer, workstation, or server desires to transfer information by way of a transmission medium 2 to a second station 3.
  • the medium 2 may be a LAN, WAN, VAN (value added network such as MCI or Sprint), or TELCO (telephone exchange) communication link, the Internet, a local intranet, or a wireless cellular phone link.
  • the station 3 also may be a personal computer, workstation, server, or other computing device able to execute software code.
  • a data file 10 is shown with a constant value 1 1, a message integrity code (MIC) 12, and an encrypted information area 13.
  • the constant value is in cleartext (not encrypted) to accommodate normal file administration processes.
  • An encryption key is generated from the constant value and a secret E- Key Seed, and the message to be transmitted is encrypted through use of the key.
  • a message integrity code 12 thereafter is formed by performing a secure hash on the constant value 1 1 and the encrypted message appearing in area 13 as will be more particularly described below.
  • the benefits resulting from the above method are that the message cannot be altered in any way without causing a change in the MIC 12, and that even when the integrity code indicates that the message has been altered, neither the encryption key to the encrypted message, nor the message itself has been compromised.
  • a further degree of security is added by using a strong cryptographic method to generate the encryption key.
  • the bits of the E-Key Seed 20 and the constant value 1 1 thereby are randomly mixed and mapped from a large binary length to a smaller binary length.
  • the bit shuffling algorithm continues to shuffle bits by wrapping the smaller of the inputs with the larger of the inputs until all bits of the larger input have been processed.
  • the result C is applied as an input to a secure hash function generator 22 to produce a message digest 23.
  • the hash algorithm performed by the function generator 22 provides a deterministic but non-predictable result. That is, the encryption key may be used to both encrypt and decrypt information files, and when a same input is used, the same encryption key is generated. However, even when the constant value is known, the encryption key that results from the bit shuffling and hashing cannot be predicted. The output changes dramatically, however, if even one bit of the input is changed.
  • the hash function may be any of the well-known hash functions including those set forth in Table I below.
  • the SHA or secure hash algorithm is used.
  • the message digest 23 may be truncated to provide a deterministic, non-predictable, pseudo-random, symmetric encryption key 24 which has a desired bit length.
  • the desired bit length may be less than or equal to the bit length of the message digest 23.
  • an alternative embodiment would perform multiple passes of the key generator operation and concatenate each pass to the previous pass(es) to create a key length greater than the message digest length normally created by the hash function.
  • the input can be a designated part of the message digest output, an interim logic function value, or the constant value input can be divided into the number of parts which would create a key of the desired length. It is to be understood that trie bit-shuffling operation performed by the function generator 21 of Figure 3, where two functions are combined to shuffle bits, could include numerous algebraic or logic functions which are executed in series to further protect the E-Key Seed from being discovered.
  • the deterministic, regenerative encryption key thus formed is used to encrypt the message or information file 13 that is to be protected. More particularly, information file 13 is applied to an encryption processor 30 where the deterministic encryption key 24 is used to encrypt the file.
  • the encrypted file at the output of processor 30 is concatenated with the constant value 1 1 , and the result is applied to a secure hash function generator 31 to create the message integrity code (MIC) 12 to detect alterations to the encrypted information file.
  • MIC message integrity code
  • a bit sequence checksum 40 such as, by way of example, a CRC- 16 checksum, is performed on the constant value 1 1 and added after the constant value at the beginning of an encrypted information file 41 , and a redundant constant value 42 and redundant checksum 43 are added after the message integrity code 12 at the end of the encrypted information file 41.
  • the message integrity code 12 thus is formed from the first constant value but not the redundant constant value. If a test of the message integrity code (regeneration of the MIC by the process set forth in Figure 4 followed by a comparison of MIC codes) indicates that the message integrity is lost, the constant value 1 1 and redundant constant value 42 are compared. If they match, the encryption key can be regenerated by using the constant value 11 and E-Key Seed as before described in connection with the description of Figure 3. If not, the checksum 40 and redundant checksum 43 are tested to determine which constant value is correct.
  • both the checksum 40 and the redundant checksum 43 fail to indicate a correct constant value, the user can read the cleartext constant value and cognitively correct errors. Corrections can be compared against the checksum until there is a match. If the constant value cannot be recovered, however, the encryption key cannot be regenerated and the encrypted information file is lost.
  • FIG. 6 shows the various bit fields that could make up a constant value 1 1.
  • a length byte 50 indicates the total number of bytes in the constant value 1 1. The length byte is necessary because a number of the remaining bit fields of the constant value are of variable length.
  • the E-Key Seed ID 51 which is used as a table look-up tag associated with the corresponding E-Key Seed stored in an E-Key Seed table.
  • the E-Key Seed ID is automatically entered as that of the host system. A user is prompted, however, to either accept the ID or assign another. In this manner, files may be shared between PCs, workstations, and workgroups that normally use different E- Kcy Seeds.
  • the encryption algorithm 52 is optional to accommodate communication interoperability between parties that normally use different encryption algorithms.
  • the original file extension 53 is used to keep track of the extension to the file so that it can be restored to its original state as recognized by the application program which created the file. That is, when a file is encrypted, the file is assigned a new extension so that the file manager can track the file.
  • the next occurring bit field is the author/owner field 54 that identifies the author or owner of a file and thereby accommodates archival searches.
  • the summary information field 55 is used by either the encryption file manager or the user. Because the constant value is concatenated to the encrypted file in cleartext, it can be used to assist in the management of the sensitive files without requiring the file to be decrypted to disclose actual contents.
  • the audit entry field 56 is a field created by the file manager and is used to audit compliance with security policies without risking exposure of sensitive information or invading an employee's privacy.
  • the checksum field 57 is a simple CRC-16 translation of the constant value in its final form. A CRC-32 or other error correction algorithm could be used as well.
  • a cleartext constant value is added at the beginning of an information file that is to be protected.
  • the constant value and a secret E-Key Seed are combined by one or more logic and/or algebraic functions to provide a bit shuffling and a mapping of a large number of bits to fewer bits.
  • the result is operated upon by a secure hash algorithm which provides a message digest which has a constant bit length output for any input, and which may be truncated to provide a deterministic, non-predictable, pseudo-random, symmetric encryption key which is not predictable.
  • the encryption key so formed is used to encrypt the information file, and thereafter is destroyed.
  • the encrypted information file and the constant value then are concatenated and operated upon by a secure hash algorithm to produce a message integrity code or MIC that is stored as a trailer after the end of the encrypted information file.
  • a checksum of the constant value is calculated and added to the header of the information file after the constant value, and a redundant constant value and a redundant checksum are added as trailers after the MIC.
  • the MIC is used to detect any alterations to the encrypted information file, and the checksums are used to recover the constant value in the event that either the constant value or the redundant constant value is corrupted.
  • the constant value 1 1 may be a random number or file name extension
  • the operand used in the bit-shuffling function generator 21 could be any algebraic, logical or encryption operand
  • plural bit shuffling function generators could be used before and after the secure hash function generator 22 in generation of an encryption key as illustrated in Figure 3
  • any hash function including those set forth in Table I may be the operand for the secure hash function generator 22.

Abstract

A file security system is disclosed in which both a deterministic, non-predictable, pseudo-random, symmetric encryption key (24) and an encrypted information file (41) are highly resistant to cryptographic analysis or brute force trial-and-error attacks. The encryption key (24) is formed by first combining a constant value (11) and a secret E-Key Seed (20) in accordance with a logic function to shuffle bits (21) to form a first many-to-few bit mapping to provide a first pseudo-random result, and by operating upon the result with a secure one-way hash algorithm (22) to perform a second many-to-few bit mapping and thereby to provide a pseudo-random message digest (23). The message digest (23) may be truncated to provide a deterministic encryption key (24). The information file (13) to be protected is then encrypted with the encryption key (24), and thereafter the encryption key (24) is destroyed by the file manager of the host system.

Description

FILE ENCRYPTION METHOD AND SYSTEM
FIELD OF THE INVENTION
The invention relates generally to a method and system for protecting an information file from unauthorized access, and more specifically to the encryption of a message or file in accordance with a deterministic encryption key which is highly resistant to discovery through brute force attack or cryptographic analysis, and which obviates the need for key directories or other permanent key management records.
RELATED APPLICATIONS
Copending applications filed on the same date and having same inventors are "Secure
Deterministic Encryption Key Generator System and Method", Serial No. ; "Bilateral Authentication And Information Encryption Token System And Method", Serial No. ; and "Bilateral Authentication And Encryption System", Serial No.
BACKGROUND OF THE INVENTION
When computer systems were comprised of a mainframe central processing unit (CPU) and a number of dumb terminals, data file protection consisted of protecting against unauthorized access to the CPU, since all sensitive information resided in CPU memory. With the introduction of the personal computer (PC), a migration to local computing through the use of centralized host/server systems began. Again, the conventional wisdom was that sensitive information could be protected by guarding against unauthorized access to the host/server system. Both desktop and laptop PCs over the past few years have rapidly increased their computing power, and have rapidly increased their local storage capacity due to the falling cost per megabyte of hard disk memory. The mobility of PCs through use of cellular as well as cable networks, the shift from centralized host/server systems to distributed systems, and the interconnection of LANs (local area networks), WANs (wide area networks), and the Internet have further exacerbated the problem of protecting sensitive information in such a decentralized environment.
The most widely accepted method of protecting information stored in a computer system or communicated over networks is the use of data encryption. Data encryption technology is basically classified into two technology types: symmetric or asymmetric. An example of a symmetric encryption key is provided in the Data Encryption Standard, FIPS PUB 46-2; DATA ENCRYPTION STANDARD (DES), 1993 December 30. The RSA encryption technology named for its inventors, Rivest, Shamir, and Adleman, is an example of asymmetric or public key encryption.
Symmetric encryption uses the same key to both encrypt and decrypt an information file. Asymmetric encryption uses two keys which share a relationship such that information encrypted with one key can be decrypted only with the second key. Symmetric encryption is much faster than asymmetric encryption, and is therefore better suited for bulk encryption of data files.
Encryption algorithms are characterized as being either reversible or irreversible. Symmetric and asymmetric encryption algorithms are reversible. A reversible algorithm is one where data is recoverable from its encrypted state back to its cleartext state. An example of an irreversible algorithm is the secure hash algorithm as defined in FIPS PUB 180-1, SECURE HASH STANDARD (SHS), 1995 April 17. Secure hash algorithms were originally used to detect alterations to an information file, whether intentional or unintentional. It is not surprising, therefore, that the output of the algorithm is called a message integrity code (MIC) or message digest (MD). Other characteristics of hash algorithms are that the output is always the same binary length regardless of the size of the input. Thus, an input having a large binary length may be mapped to an output having a shorter binary length. Further, if only one bit in a message or file is changed, approximately 50% of the bits in the output change. There is no known relationship between the input and output of a hash algorithm which may be used to recover the input from the output. Thus, even brute force trial-and-error attacks become prohibitive in time and cost.
Encryption keys may in addition be classified as deterministic or non-deterministic. A deterministic encryption key is one which is repeatable each time a specific input is applied to the encryption key generator. Different inputs produce different outputs. A non-deterministic encryption key is one which cannot be repeated with a same input to the encryption key generator. For example, a random number generator provides a non-deterministic result. File encryption methods and systems are disclosed in U.S. Patent Nos. 5,421 ,006;
5,065,429; 5,309,516 and 5,495,533. U.S. Patent No. 5,421,006 discloses the use of an integrity verification system, but does not disclose the generation of a substantially irreversible and deterministic encryption key, the use of many-to-few bit mapping, or the recovery of constant value headers. U.S. Patent No. 5,065,429 does not disclose the generation of a substantially irreversible and deterministic encryption key, a message integrity code, or the use of many-to- few mapping of bits. U.S. Patent No. 5,309,516 does not employ file headers, provide for the checking of the integrity of the encrypted files and headers, or use a many-to-few bit mapping in its key generation to frustrate brute force attacks. U.S. Patent No. 5,495,533 discloses the use of file headers, file trailers, and a message authentication check field in the header to protect against any modifications to the header fields. The patent does not disclose the use of the file header in the generation of an encryption key, the generation of a deterministic but non-predictable symmetric encryption key, or the use of file trailers at the end of an encrypted message file to authenticate the encrypted message file header. General information related to file encryption techniques may be found in "Applied
Cryptography", by Bruce Schneier, John Wiley & Sons, Inc., 1996; and "Cryptography: A New Dimension In Computer Data Security", by Meyer and Matyas, John Wiley & Sons, Inc., 1982.
In the present invention, a constant value associated with an information file and a checksum are each stored in the header of the file. The constant value and a secret E-Key Seed are used to generate a deterministic but non-predictable, pseudo-random, symmetric encryption key which obviates the need for key directories or other key records to recover the key. The key generation method which is used employs two many-to-few bit mappings to make the encryption key highly resistive to brute force trial and error attacks, and a secure hash function which produces a message digest of constant binary length (no matter the binary length of the input) to defeat any attempt to discover the inputs necessary to regenerate the key. The information file thereafter is encrypted with the deterministic encryption key which is destroyed upon use, and the encrypted information file and constant value are concatenated and operated upon by a secure hash function to produce a message integrity code (MIC). The MIC, a redundant constant value, and a redundant checksum are stored as trailers to the encrypted information file, and are used to verify the integrity of the encrypted information file and file header, and to recover a corrupted constant value.
SUMMARY OF THE INVENTION
A method and system is disclosed for protecting sensitive information files and messages from access by unauthorized parties, whether stored in a computer memory or exchanged over a transfer medium between sending and receiving stations.
Each document or message file is created in normal operation. A constant value or message is logically combined to a secret bit sequence (E-Key Seed) to perform a many-to-few bit mapping which shuffles the bits and provides a pseudo-random result. The result then is applied through a secure hash function generator to perform a second many-to-few bit mapping and provide a pseudo-random message digest. The message digest in turn may be truncated to a desired bit length to provide a deterministic but non-predictable, pseudo-random, symmetric encryption key which is used to encrypt the message or information file to be protected. The deterministic encryption key is destroyed immediately after use. The constant value and encrypted message thereupon are secure hashed to create a message integrity code (MIC) that is used to detect any alterations to the encrypted information file that may have occurred intentionally or unintentionally.
In one alternative embodiment of the invention, both a constant value and a checksum bit sequence are added as a header at the beginning of an encrypted file, and a redundant constant value and checksum bit sequence are added after the message integrity code as a trailer at the end of the encrypted file to accommodate recovery of a constant value that may have been corrupted.
BRIEF DESCRIPTION OF THE DRAWINGS
Additional objects, features and advantages of the present invention will become apparent from the following detailed description when read in conjunction with the accompanying drawings in which:
Figure 1 is a functional block diagram of an encrypted file transmission system of which the present invention is a part;
Figure 2 is a graphical illustration of a formatted encrypted file used in the system of Figure 1 ; Figure 3 is a logic flow diagram of a method of generating a symmetric, and deterministic but non-predictable encryption key in accordance with the invention by using a constant value associated with the formatted encrypted message of Figure 2 and a secret sequence of plural bits (E-key seeds);
Figure 4 is a logic flow diagram of a method for developing a message integration code (MIC);
Figure 5 is a plan illustration of a message file format which provides message integrity protection, constant value recovery, and encryption key regeneration; and
Figure 6 is a graphical illustration of the data fields making up a cleartext constant value as used in the invention. DESCRIPTION OF PREFERRED EMBODIMENTS
Preferred embodiments of the invention will now be described with reference to the accompanying drawings. The term "pseudo-random" as used in this specification means that the output referred to is repeatable and predictable to anyone who knows the E-Key Seed input to the function producing the output. Without such knowledge, the output appears to be totally random.
The term "concatenation" means that one bit field is juxtaposed to another.
Referring to Figure 1, a first station 1 which may comprise a personal computer, workstation, or server desires to transfer information by way of a transmission medium 2 to a second station 3. The medium 2, by way of example, may be a LAN, WAN, VAN (value added network such as MCI or Sprint), or TELCO (telephone exchange) communication link, the Internet, a local intranet, or a wireless cellular phone link. The station 3 also may be a personal computer, workstation, server, or other computing device able to execute software code.
In order to protect the confidentiality of the file to be transferred by station 1 to station 3, conventional systems encrypt the file using an encryption key known by both the sender at station 1 and the receiving party at station 3. If the encryption key is generated through a weak cryptographic process and shared, the encrypted information may be revealed to a third party through cryptographic analysis. Further, if the key holder becomes unavailable prior to disclosing the encryption key to the receiving party, the encrypted information will be useless to the receiving party.
Referring to Figure 2, a data file 10 is shown with a constant value 1 1, a message integrity code (MIC) 12, and an encrypted information area 13. In accordance with the invention, the constant value is in cleartext (not encrypted) to accommodate normal file administration processes. An encryption key is generated from the constant value and a secret E- Key Seed, and the message to be transmitted is encrypted through use of the key. A message integrity code 12 thereafter is formed by performing a secure hash on the constant value 1 1 and the encrypted message appearing in area 13 as will be more particularly described below. The benefits resulting from the above method are that the message cannot be altered in any way without causing a change in the MIC 12, and that even when the integrity code indicates that the message has been altered, neither the encryption key to the encrypted message, nor the message itself has been compromised.
A further degree of security is added by using a strong cryptographic method to generate the encryption key. Referring to Figure 3, an E-Key Seed 20 and constant value 1 1 are fed through a bit shuffling function generator 21 that executes, by way of example and not limitation, the logic function A ® B = C, where A is the E-Key Seed 20 and B is the constant value 1 1. The bits of the E-Key Seed 20 and the constant value 1 1 thereby are randomly mixed and mapped from a large binary length to a smaller binary length. The bit shuffling algorithm continues to shuffle bits by wrapping the smaller of the inputs with the larger of the inputs until all bits of the larger input have been processed. The result C is applied as an input to a secure hash function generator 22 to produce a message digest 23. The hash algorithm performed by the function generator 22 provides a deterministic but non-predictable result. That is, the encryption key may be used to both encrypt and decrypt information files, and when a same input is used, the same encryption key is generated. However, even when the constant value is known, the encryption key that results from the bit shuffling and hashing cannot be predicted. The output changes dramatically, however, if even one bit of the input is changed.
The hash function may be any of the well-known hash functions including those set forth in Table I below. In the preferred embodiment, the SHA or secure hash algorithm is used.
Table I
HASH FUNCTION HASH LENGTH
Abreast Davies-Meyer (with IDEA) 128
Davies-Meyer (with DES) 64
GOST Hash 256
HAVAL Variable
MD5 128
N-HASH 128
RIPE-MD 128
FIPS 180-1 (SHA) 160
SNEERU 128
The message digest 23 may be truncated to provide a deterministic, non-predictable, pseudo-random, symmetric encryption key 24 which has a desired bit length. In the preferred embodiment, the desired bit length may be less than or equal to the bit length of the message digest 23. However, an alternative embodiment would perform multiple passes of the key generator operation and concatenate each pass to the previous pass(es) to create a key length greater than the message digest length normally created by the hash function. The input can be a designated part of the message digest output, an interim logic function value, or the constant value input can be divided into the number of parts which would create a key of the desired length. It is to be understood that trie bit-shuffling operation performed by the function generator 21 of Figure 3, where two functions are combined to shuffle bits, could include numerous algebraic or logic functions which are executed in series to further protect the E-Key Seed from being discovered.
Referring to Figure 4, the deterministic, regenerative encryption key thus formed is used to encrypt the message or information file 13 that is to be protected. More particularly, information file 13 is applied to an encryption processor 30 where the deterministic encryption key 24 is used to encrypt the file. The encrypted file at the output of processor 30 is concatenated with the constant value 1 1 , and the result is applied to a secure hash function generator 31 to create the message integrity code (MIC) 12 to detect alterations to the encrypted information file.
Referring to Figure 5, in an alternative embodiment of the invention, a bit sequence checksum 40 such as, by way of example, a CRC- 16 checksum, is performed on the constant value 1 1 and added after the constant value at the beginning of an encrypted information file 41 , and a redundant constant value 42 and redundant checksum 43 are added after the message integrity code 12 at the end of the encrypted information file 41. The message integrity code 12 thus is formed from the first constant value but not the redundant constant value. If a test of the message integrity code (regeneration of the MIC by the process set forth in Figure 4 followed by a comparison of MIC codes) indicates that the message integrity is lost, the constant value 1 1 and redundant constant value 42 are compared. If they match, the encryption key can be regenerated by using the constant value 11 and E-Key Seed as before described in connection with the description of Figure 3. If not, the checksum 40 and redundant checksum 43 are tested to determine which constant value is correct.
If both the checksum 40 and the redundant checksum 43 fail to indicate a correct constant value, the user can read the cleartext constant value and cognitively correct errors. Corrections can be compared against the checksum until there is a match. If the constant value cannot be recovered, however, the encryption key cannot be regenerated and the encrypted information file is lost.
Figure 6 shows the various bit fields that could make up a constant value 1 1. A length byte 50 indicates the total number of bytes in the constant value 1 1. The length byte is necessary because a number of the remaining bit fields of the constant value are of variable length. Following the length byte 50 is the E-Key Seed ID 51 which is used as a table look-up tag associated with the corresponding E-Key Seed stored in an E-Key Seed table. When the constant value 1 1 is first being formed, the E-Key Seed ID is automatically entered as that of the host system. A user is prompted, however, to either accept the ID or assign another. In this manner, files may be shared between PCs, workstations, and workgroups that normally use different E- Kcy Seeds. The encryption algorithm 52 is optional to accommodate communication interoperability between parties that normally use different encryption algorithms.
The original file extension 53 is used to keep track of the extension to the file so that it can be restored to its original state as recognized by the application program which created the file. That is, when a file is encrypted, the file is assigned a new extension so that the file manager can track the file. The next occurring bit field is the author/owner field 54 that identifies the author or owner of a file and thereby accommodates archival searches. The summary information field 55 is used by either the encryption file manager or the user. Because the constant value is concatenated to the encrypted file in cleartext, it can be used to assist in the management of the sensitive files without requiring the file to be decrypted to disclose actual contents.
The audit entry field 56 is a field created by the file manager and is used to audit compliance with security policies without risking exposure of sensitive information or invading an employee's privacy. The checksum field 57 is a simple CRC-16 translation of the constant value in its final form. A CRC-32 or other error correction algorithm could be used as well.
Once the CRC-16 calculation is completed and the result is added to the file header after the constant value 1 1 as illustrated in Figure 5, the constant value header of the file cannot be changed without the user answering encrypted file manager prompts. It is to be understood that once the constant value is used to create an encryption key, any change will result in a different key and the file will not be decipherable.
In accordance with the invention, a cleartext constant value is added at the beginning of an information file that is to be protected. The constant value and a secret E-Key Seed are combined by one or more logic and/or algebraic functions to provide a bit shuffling and a mapping of a large number of bits to fewer bits. The result is operated upon by a secure hash algorithm which provides a message digest which has a constant bit length output for any input, and which may be truncated to provide a deterministic, non-predictable, pseudo-random, symmetric encryption key which is not predictable. The encryption key so formed is used to encrypt the information file, and thereafter is destroyed. The encrypted information file and the constant value then are concatenated and operated upon by a secure hash algorithm to produce a message integrity code or MIC that is stored as a trailer after the end of the encrypted information file. A checksum of the constant value is calculated and added to the header of the information file after the constant value, and a redundant constant value and a redundant checksum are added as trailers after the MIC. The MIC is used to detect any alterations to the encrypted information file, and the checksums are used to recover the constant value in the event that either the constant value or the redundant constant value is corrupted.
Although particular embodiments of the invention have been described and illustrated herein, it is recognized that modifications and variations may readily occur to those skilled in the art, and consequently it is intended that the claims be interpreted to cover such modifications, variations, and equivalents. For example, the constant value 1 1 may be a random number or file name extension, the operand used in the bit-shuffling function generator 21 could be any algebraic, logical or encryption operand, plural bit shuffling function generators could be used before and after the secure hash function generator 22 in generation of an encryption key as illustrated in Figure 3, and any hash function including those set forth in Table I may be the operand for the secure hash function generator 22.
The present invention has been particularly shown and described in detail with reference to preferred embodiments, which are merely illustrative of the principles of the invention and are not to be taken as limitations to its scope. Further, it will be readily understood by those skilled in the art that numerous changes and modifications may be made without departing from the spirit of the invention. For example, numerous cycles could be made through the logic flow process illustrated in Figure 3 to increase the bit length of the deterministic encryption key cycle by cycle.

Claims

WHAT IS CLAIMED IS: 1 . A method of protecting an information file from unauthorized access, which comprises the following steps: concatenating a constant value to a beginning of said information file; combining said constant value and a secret plural bit sequence in accordance with an algebraic function to shuffle bits, perform a first many-to-few bit mapping, and form a first pseudo-random result; performing a secure hash operation on said first pseudo-random result to effect a second many-to-few bit mapping and form a second pseudo-random result; extracting a deterministic, non-predictable, pseudo-random, symmetric encryption key from said second pseudo-random result; encrypting said message file in accordance with said deterministic, non-predictable, pseudo-random, symmetric encryption key to form an encrypted information file; and destroying said deterministic, non-predictable, pseudo-random, symmetric encryption key.
2. The method set forth in Claim I above further including the steps of: combining said encrypted message and said constant value to form a concatenation; performing a secure hash operation on said concatenation to form a message integrity code; performing a checksum bit sequence operation on said constant value to form a first checksum; interjecting said first checksum between said constant value and said encrypted information file; and adding as a trailer at the end of said encrypted message said message integrity code, said constant value and said checksum.
3. The method of Claim 1 wherein said step of combining includes a plurality of algebraic equations.
4. The method of Claim 1 wherein said step of combining includes a plurality of logic equations.
5. The method of Claim 1 wherein said step of combining includes a plurality of cryptographic equations.
6. The method of Claim 1 further including the steps of: combining said encrypted message and said constant value to form a concatenation; performing said secure hash operation on said concatenation to form a message integrity code; adding said message integrity code as a trailer after said encrypted information file; performing a checksum bit sequence operation on said constant value to form a first checksum; adding said first checksum after said constant value; adding a redundant constant value to said trailer at an end of said encrypted information file after said message integrity code; performing a checksum bit sequence on said redundant constant value to form a second checksum; adding said second checksum to said trailer at said end of said encryption information tile after said redundant constant value; testing said message integrity code to determine whether information file integrity has been lost; if information file integrity has not been lost, comparing said constant value with said redundant constant value to determine whether a match occurs to indicate that said deterministic encryption key may be regenerated; and if information file integrity has been lost, testing said first checksum and said second checksum to determine which of said constant value and said redundant constant value is correct; and regenerating said deterministic encryption key by using a correct one of said constant value and said redundant constant value.
7. The method of Claim 1, wherein said secret plural bit sequence has a binary length that is larger than that of said constant value.
8. The method of Claim 2, wherein said checksum bit sequence operation is a CRC- 16 checksum operation.
9. The method of Claim 2, wherein said checksum bit sequence operation is a CRC-32 checksum operation.
10. The method set forth in Claim 1, wherein said constant value is a data file having plural bit fields including a length byte field, an E-Key Seed ID field, an encryption algorithm field, an original file extension field, an author-owner field, a summary information field, an audit entry field, and a constant value field.
1 1. An information file structure stored on a memory system for protecting information exchanged between communication stations, which comprises: a constant value field concatenated to a beginning of said information file structure for storing a constant value, and a first checksum field for storing a checksum generated by performing a checksum bit sequence operation on said constant value; an encrypted information file area for storing an encrypted information file which has been formed through use of an encryption key formed by combining said constant value and a secret E-Key Seed in accordance with an algebraic equation and performing a secure hash operation on an output of said algebraic equation; and a plural bit trailer having a message integrity code field for storing a message integrity code which is generated by forming a concatenation of said constant value and said encrypted information file and operating upon said concatenation with said secure hash operation.
PCT/US1998/004621 1997-03-10 1998-03-09 File encryption method and system WO1998047259A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81345997A 1997-03-10 1997-03-10
US08/813,459 1997-03-10

Publications (3)

Publication Number Publication Date
WO1998047259A2 true WO1998047259A2 (en) 1998-10-22
WO1998047259A3 WO1998047259A3 (en) 1998-12-10
WO1998047259A9 WO1998047259A9 (en) 1999-03-18

Family

ID=25212430

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/004621 WO1998047259A2 (en) 1997-03-10 1998-03-09 File encryption method and system

Country Status (2)

Country Link
US (1) US6049612A (en)
WO (1) WO1998047259A2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052019A1 (en) * 2000-01-14 2001-07-19 Microsoft Corporation Encrypting a digital object based on a key id selected therefor
FR2859854A1 (en) * 2003-09-16 2005-03-18 Somfy Electrical or infrared signal communication method for controlling electrical equipment in building, involves identifying transmitter type, for each communication between transmitter and receiver, by comparing two integrity check codes
WO2008125455A1 (en) * 2007-04-17 2008-10-23 Vita-X Ag Computer system and method for storing data
US7480796B2 (en) * 2001-06-07 2009-01-20 Kwan Sofware Engineering, Inc. System and method for authenticating data using incompatible digest functions
GB2459662A (en) * 2008-04-29 2009-11-04 Cryptomathic Ltd Securely caching electronic passport data for verification purposes
US8005757B2 (en) 1999-03-27 2011-08-23 Microsoft Corporation Specifiying security for an element by assigning a scaled value representative of the relative security thereof
US8156092B2 (en) * 2008-01-29 2012-04-10 Hewett Jeffrey R Document de-duplication and modification detection
US8209334B1 (en) * 2007-12-28 2012-06-26 Don Doerner Method to direct data to a specific one of several repositories
EP3086585A1 (en) * 2015-04-23 2016-10-26 Nxp B.V. Method and system for securing data communicated in a network

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US8347086B2 (en) * 2000-12-18 2013-01-01 Citibank, N.A. System and method for automatically detecting and then self-repairing corrupt, modified of non-existent files via a communication medium
US7197144B1 (en) * 1999-06-08 2007-03-27 Ethos Technologies, Inc. Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users
US6493842B1 (en) 1999-06-29 2002-12-10 Sony Corporation Time-varying randomization for data synchronization and implicit information transmission
US6539517B1 (en) 1999-11-09 2003-03-25 Sony Corporation Data transformation for explicit transmission of control information
US6970849B1 (en) 1999-12-17 2005-11-29 Microsoft Corporation Inter-server communication using request with encrypted parameter
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US7171692B1 (en) 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
WO2002001333A2 (en) * 2000-06-27 2002-01-03 Microsoft Corporation System and method for providing an individualized secure repository
US7158953B1 (en) 2000-06-27 2007-01-02 Microsoft Corporation Method and system for limiting the use of user-specific software features
US7539875B1 (en) 2000-06-27 2009-05-26 Microsoft Corporation Secure repository with layers of tamper resistance and system and method for providing same
US6981262B1 (en) 2000-06-27 2005-12-27 Microsoft Corporation System and method for client interaction in a multi-level rights-management architecture
US6891953B1 (en) * 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
US7017189B1 (en) 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
US7051200B1 (en) 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US7225159B2 (en) * 2000-06-30 2007-05-29 Microsoft Corporation Method for authenticating and securing integrated bookstore entries
US20020046045A1 (en) * 2000-06-30 2002-04-18 Attila Narin Architecture for an electronic shopping service integratable with a software application
US8281155B1 (en) * 2000-11-02 2012-10-02 Intel Corporation Content protection using block reordering
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US20020136400A1 (en) * 2001-01-08 2002-09-26 Arif Askerov R-conversion encryption method and system
US7269736B2 (en) * 2001-02-28 2007-09-11 Microsoft Corporation Distributed cryptographic methods and arrangements
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7188342B2 (en) * 2001-04-20 2007-03-06 Microsoft Corporation Server controlled branding of client software deployed over computer networks
US7095858B2 (en) * 2001-05-10 2006-08-22 Ranco Incorporated Of Delaware System and method for securely upgrading firmware
FI114062B (en) * 2001-06-08 2004-07-30 Nokia Corp Method for ensuring the security of the communication, the communication system and the communication device
US7343297B2 (en) * 2001-06-15 2008-03-11 Microsoft Corporation System and related methods for managing and enforcing software licenses
EP1271875A1 (en) * 2001-06-21 2003-01-02 Koninklijke Philips Electronics N.V. Device arranged for exchanging data, and method of manufacturing
US7577250B2 (en) * 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US8077861B2 (en) 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
US7564970B2 (en) * 2004-08-12 2009-07-21 Cmla, Llc Exponential data transform to enhance security
US7197142B2 (en) * 2001-08-24 2007-03-27 Alten Alexander I System and methods for a vernam stream cipher
US7203317B2 (en) * 2001-10-31 2007-04-10 Hewlett-Packard Development Company, L.P. System for enabling lazy-revocation through recursive key generation
US20030123667A1 (en) * 2001-12-28 2003-07-03 Cable Television Laboratories, Inc. Method for encryption key generation
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
US7352867B2 (en) * 2002-07-10 2008-04-01 General Instrument Corporation Method of preventing unauthorized distribution and use of electronic keys using a key seed
US7248696B2 (en) * 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7457411B2 (en) * 2003-03-13 2008-11-25 New Mexico Technical Research Foundation Information security via dynamic encryption with hash function
JP4766826B2 (en) * 2003-06-19 2011-09-07 アルパイン株式会社 Data restoration apparatus and method
CA2456598A1 (en) * 2004-01-28 2005-07-28 Goran Ekstrom Method of enabling secure transfer of a package of information
ATE440446T1 (en) * 2004-03-10 2009-09-15 Nagravision Sa METHOD FOR SECURING ENCRYPTED CONTENT SENT FROM A BROADCAST
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US7653712B1 (en) * 2004-09-30 2010-01-26 Emc Corporation Methods and apparatus for processing configuration data
KR100714682B1 (en) * 2004-12-02 2007-05-04 삼성전자주식회사 File system path processing device and method thereof
US8363837B2 (en) * 2005-02-28 2013-01-29 HGST Netherlands B.V. Data storage device with data transformation capability
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7450946B2 (en) * 2005-10-03 2008-11-11 Kabushiki Kaisha Toshiba System and method for automatic wireless detection and identification of document processing service location
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7606769B2 (en) * 2005-10-12 2009-10-20 Kabushiki Kaisha Toshiba System and method for embedding user authentication information in encrypted data
US7546492B2 (en) * 2005-12-22 2009-06-09 Sony Corporation Remotely repairing files by hierarchical and segmented cyclic redundancy checks
KR100750153B1 (en) * 2006-01-03 2007-08-21 삼성전자주식회사 Method and apparatus for providing session key for WUSB security, method and apparatus for obtaining the session key
US20080010463A1 (en) * 2006-07-10 2008-01-10 Motorola, Inc. Method for producing truncated message digests
US8190905B1 (en) * 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US9324361B2 (en) * 2007-08-14 2016-04-26 Seagate Technology Llc Protecting stored data from traffic analysis
US10248483B2 (en) 2007-10-19 2019-04-02 Oracle International Corporation Data recovery advisor
US8316442B2 (en) * 2008-01-15 2012-11-20 Microsoft Corporation Preventing secure data from leaving the network perimeter
TWI385632B (en) * 2008-01-17 2013-02-11 Novatek Microelectronics Corp Method and related device for reducing data transition in data transmission interface
US8660268B2 (en) * 2008-04-29 2014-02-25 Red Hat, Inc. Keyed pseudo-random number generator
US8156333B2 (en) * 2008-05-29 2012-04-10 Red Hat, Inc. Username based authentication security
CN101339597B (en) * 2008-08-28 2011-10-05 飞天诚信科技股份有限公司 Method, system and equipment for upgrading read-write machine firmware
US9258113B2 (en) * 2008-08-29 2016-02-09 Red Hat, Inc. Username based key exchange
US9106426B2 (en) 2008-11-26 2015-08-11 Red Hat, Inc. Username based authentication and key generation
US8565436B2 (en) * 2008-12-15 2013-10-22 Ebay Inc. Secure self managed data (SSMD)
US8782408B2 (en) 2009-03-25 2014-07-15 Pacid Technologies, Llc Method and system for securing communication
WO2010111440A2 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc Token for securing communication
US8934625B2 (en) 2009-03-25 2015-01-13 Pacid Technologies, Llc Method and system for securing communication
US8539241B2 (en) 2009-03-25 2013-09-17 Pacid Technologies, Llc Method and system for securing communication
US8726032B2 (en) 2009-03-25 2014-05-13 Pacid Technologies, Llc System and method for protecting secrets file
US10447474B2 (en) * 2009-04-20 2019-10-15 Pure Storage, Inc. Dispersed data storage system data decoding and decryption
US8831228B1 (en) * 2009-08-28 2014-09-09 Adobe Systems Incorporated System and method for decentralized management of keys and policies
US9225526B2 (en) * 2009-11-30 2015-12-29 Red Hat, Inc. Multifactor username based authentication
US8745405B2 (en) * 2010-02-17 2014-06-03 Ceelox Patents, LLC Dynamic seed and key generation from biometric indicia
US9158605B2 (en) * 2010-12-01 2015-10-13 Microsoft Technology Licensing, Llc Method, system and device for validating repair files and repairing corrupt software
US8918776B2 (en) 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US20130085944A1 (en) * 2011-09-29 2013-04-04 Pacid Technologies, Llc System and method for application security
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
US9210150B2 (en) 2011-10-25 2015-12-08 Salesforce.Com, Inc. Two-factor authentication systems and methods
CN104012132B (en) 2011-10-25 2016-02-17 拓普合公司 Two-factor authentication system and method
US10212588B2 (en) 2011-10-25 2019-02-19 Salesforce.Com, Inc. Preemptive authorization automation
US10225264B2 (en) 2011-10-25 2019-03-05 Salesforce.Com, Inc. Automated authorization response techniques
US10225242B2 (en) 2011-10-25 2019-03-05 Salesforce.Com, Inc. Automated authorization response techniques
US8345876B1 (en) 2012-03-06 2013-01-01 Robert Samuel Sinn Encryption/decryption system and method
US20140082376A1 (en) * 2012-09-14 2014-03-20 Texas Tech University System System, Method and Apparatus for Securely Saving/Retrieving Data on a Data Storage
US9201629B2 (en) 2013-03-14 2015-12-01 International Business Machines Corporation Instruction for performing a pseudorandom number seed operation
US8873750B2 (en) 2013-03-14 2014-10-28 International Business Machines Corporation Instruction for performing a pseudorandom number generate operation
US9246892B2 (en) 2013-04-03 2016-01-26 Salesforce.Com, Inc. System, method and computer program product for managing access to systems, products, and data based on information associated with a physical location of a user
US10339341B2 (en) * 2014-05-07 2019-07-02 Hush Hush Methods and systems for obfuscating sensitive information in computer systems
US10148437B2 (en) 2015-09-21 2018-12-04 Oracle International Corporation Encryption system with key recovery
EP3436949A4 (en) * 2016-07-29 2020-03-25 Hewlett-Packard Development Company, L.P. Data recovery with authenticity
DE102017117899A1 (en) * 2017-08-07 2019-02-07 Infineon Technologies Ag Perform a cryptographic operation
US10812476B2 (en) 2018-05-22 2020-10-20 Salesforce.Com, Inc. Authorization of another device for participation in multi-factor authentication
US11108764B2 (en) 2018-07-02 2021-08-31 Salesforce.Com, Inc. Automating responses to authentication requests using unsupervised computer learning techniques
CN109635300B (en) * 2018-12-14 2023-12-19 泰康保险集团股份有限公司 Data verification method and device
US11641274B2 (en) 2019-03-22 2023-05-02 Jpmorgan Chase Bank, N.A. Systems and methods for manipulation of private information on untrusted environments
JP6964696B2 (en) * 2020-02-20 2021-11-10 株式会社日立製作所 Storage system and cryptographic processing method
CN113194083A (en) * 2021-04-26 2021-07-30 鸣飞伟业技术有限公司 Method for transmitting throwing after video segmentation encryption
CN115580474B (en) * 2022-10-17 2023-10-31 南京网藤科技有限公司 Method and device for encrypting file with key following function
CN115755573B (en) * 2023-02-11 2023-04-07 北京控达科技有限公司 Design method for project issuing, synchronization and switching of 2oo3 redundancy architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5309516A (en) * 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5623545A (en) * 1995-08-31 1997-04-22 National Semiconductor Corporation Automatic data generation for self-test of cryptographic hash algorithms in personal security devices

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4193115A (en) * 1977-12-15 1980-03-11 The United States Of America As Represented By The Secretary Of Commerce Method and apparatus for implementation of the CMAC mapping algorithm
US5699427A (en) * 1995-06-23 1997-12-16 International Business Machines Corporation Method to deter document and intellectual property piracy through individualization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5309516A (en) * 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5623545A (en) * 1995-08-31 1997-04-22 National Semiconductor Corporation Automatic data generation for self-test of cryptographic hash algorithms in personal security devices

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005757B2 (en) 1999-03-27 2011-08-23 Microsoft Corporation Specifiying security for an element by assigning a scaled value representative of the relative security thereof
US7412061B2 (en) 1999-03-27 2008-08-12 Microsoft Corporation Encrypting a digital object on a key ID selected therefor
WO2001052019A1 (en) * 2000-01-14 2001-07-19 Microsoft Corporation Encrypting a digital object based on a key id selected therefor
US6816596B1 (en) 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US7480796B2 (en) * 2001-06-07 2009-01-20 Kwan Sofware Engineering, Inc. System and method for authenticating data using incompatible digest functions
US8433899B2 (en) 2001-06-07 2013-04-30 Kwan Software Engineering, Inc. System and method for authenticating data using incompatible digest functions
WO2005027074A1 (en) * 2003-09-16 2005-03-24 Somfy Sas Inter-object communication method
FR2859854A1 (en) * 2003-09-16 2005-03-18 Somfy Electrical or infrared signal communication method for controlling electrical equipment in building, involves identifying transmitter type, for each communication between transmitter and receiver, by comparing two integrity check codes
WO2008125455A1 (en) * 2007-04-17 2008-10-23 Vita-X Ag Computer system and method for storing data
US8452977B2 (en) 2007-04-17 2013-05-28 Vita-X Ag Computer system and method for storing data
US8209334B1 (en) * 2007-12-28 2012-06-26 Don Doerner Method to direct data to a specific one of several repositories
US8156092B2 (en) * 2008-01-29 2012-04-10 Hewett Jeffrey R Document de-duplication and modification detection
GB2459662A (en) * 2008-04-29 2009-11-04 Cryptomathic Ltd Securely caching electronic passport data for verification purposes
GB2459662B (en) * 2008-04-29 2012-05-23 Cryptomathic Ltd Secure data cache
EP3086585A1 (en) * 2015-04-23 2016-10-26 Nxp B.V. Method and system for securing data communicated in a network
US10050964B2 (en) 2015-04-23 2018-08-14 Nxp B.V. Method and system for securing data communicated in a network

Also Published As

Publication number Publication date
US6049612A (en) 2000-04-11
WO1998047259A3 (en) 1998-12-10

Similar Documents

Publication Publication Date Title
US6049612A (en) File encryption method and system
WO1998047259A9 (en) File encryption method and system
US10873458B2 (en) System and method for securely storing and utilizing password validation data
CN106790250B (en) Data processing, encryption, integrity verification method and identity authentication method and system
US5764772A (en) Differential work factor cryptography method and system
EP0916209B1 (en) Cryptographic key recovery system
US6278782B1 (en) Method of implementing a key recovery system
US6272632B1 (en) System and method for controlling access to a user secret using a key recovery field
CA2337306C (en) Method and apparatus for symmetric-key encryption
US4386233A (en) Crytographic key notarization methods and apparatus
US5963646A (en) Secure deterministic encryption key generator system and method
JP2539164B2 (en) Commercial data masking
US7127067B1 (en) Secure patch system
US7242768B2 (en) Super secure migratable keys in TCPA
US6477254B1 (en) Network system using a threshold secret sharing method
KR100702499B1 (en) System and method for guaranteeing software integrity
JPH08278750A (en) Apparatus and method for data encryption using public key cryptology
WO2000049764A1 (en) Data authentication system employing encrypted integrity blocks
JPH06104929A (en) Computer network of type for changing of code key of host-to-host
CN111639348B (en) Management method and device of database keys
US7894608B2 (en) Secure approach to send data from one system to another
WO2021114850A1 (en) Method and apparatus for encrypting and decrypting and reading and writing messages, computer device, and storage medium
US6144744A (en) Method and apparatus for the secure transfer of objects between cryptographic processors
WO2008065351A1 (en) Self encryption
GB2308282A (en) Secret crytptographic key is split to reduce work factor

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

AK Designated states

Kind code of ref document: A3

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
COP Corrected version of pamphlet

Free format text: PAGES 1-7, DESCRIPTION, REPLACED BY NEW PAGES 1-11; PAGES 8-10, CLAIMS, REPLACED BY NEW PAGES 12-15; PAGES 1/4-4/4, DRAWINGS, REPLACED BY NEW PAGES 1/2-2/2; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: CA

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1998543887

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase