← Back to Patent Explorer
US5343527A Expired / Lapsed US ⏱️ 0.0 years remaining

Hybrid encryption method and system for protecting reusable software components

Assignee: Lockheed Martin Corp
•
Filing: 1993-10-27
•
Granted: 1994-08-30
•
Expires: 2013-10-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a system and method for providing a reuser of a software reuse library with an indication of whether or not a software component from the reuse library is authentic and whether or not the software component has been modified. The system and method disclosed provides a reuser with assurance that the software component retrieved was placed in the reuse library by the original publisher and has not modified by a third party. The system and method disclosed uses a hybrid cryptographic technique that combines a conventional or private key algorithm with a public key algorithm.

Inventors

  • 👤 James W. Moore

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:03
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/602; G06F21/10; G06F21/16; G06F21/64; G06F12/00; G06F12/14; G06F12/1408; G06F2211/00; G06F2211/007; G06F2211/008

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 276 words
In a network of computers comprising at least one computer, the method for reusing software components that maintains the integrity and authenticity of the software components, said method comprising: generating an software component record using the following substeps: (a) encrypting a plaintext representation of a software component into a encrypted software component with a first cryptographic algorithm using first key; (b) hashing the encrypted software component to generate a first hash digest; (c) encrypting the first hash digest and the first key using a second cryptographic algorithm with a second key, wherein said second cryptographic algorithm is of a public key type and said second key is the private key associated with at least one public key, said software component record consisting of the encrypted software component, the encrypted hash digest, and the encrypted first key; storing the software component record in a reuse library; retrieving the software component record from the reuse library; generating the plaintext representation of the software component using the following substeps: (a) obtaining a public key associated with the second key from a public key directory; (b) decrypting the encrypted hash digest and the encrypted first key into the decrypted first key and the decrypted first hash digest using the public key and the second cryptographic algorithm; (c) hashing the encrypted software component to generate a second hash digest; (d) comparing the second hash digest with the decrypted first hash digest, and if not identical indicating that the software component is corrupted, if identical indicating that the software is not corrupted; (e) decrypting the encrypted software component into the plaintext representation using the decrypted first key and the first encryption algorithm.
Claim 2
Dependent Claim 276 words
In a network of computers comprising at least one computer, the method for reusing software components that maintains the integrity and authenticity of the software components, said method comprising: generating an software component record using the following substeps: (a) encrypting a plaintext representation of a software component into a encrypted software component with a first cryptographic algorithm using first key; (b) hashing the encrypted software component to generate a first hash digest; (c) encrypting the first hash digest and the first key using a second cryptographic algorithm with a second key, wherein said second cryptographic algorithm is of a public key type and said second key is the private key associated with at least one public key, said software component record consisting of the encrypted software component, the encrypted hash digest, and the encrypted first key; storing the software component record in a reuse library; retrieving the software component record from the reuse library; generating the plaintext representation of the software component using the following substeps: (a) obtaining a public key associated with the second key from a public key directory; (b) decrypting the encrypted hash digest and the encrypted first key into the decrypted first key and the decrypted first hash digest using the public key and the second cryptographic algorithm; (c) hashing the encrypted software component to generate a second hash digest; (d) comparing the second hash digest with the decrypted first hash digest, and if not identical indicating that the software component is corrupted, if identical indicating that the software is not corrupted; (e) decrypting the encrypted software component into the plaintext representation using the decrypted first key and the first encryption algorithm.
Claim 3
Dependent Claim 29 words
The method of claim 1 wherein the Data Encryption Standard is used as the first cryptographic algorithm and the Digital Signature Algorithm is used as the second cryptographic algorithm.
Claim 4
Dependent Claim 27 words
The method of claim 1 wherein the Data Encryption Standard is used as the first cryptographic algorithm and the RSA is used as the second cryptographic algorithm.
Claim 5
Dependent Claim 27 words
The method of claim 1 wherein the Skipjack is used as the first cryptographic algorithm and the Digital Signature Algorithm is used as the second cryptographic algorithm.
Claim 6
Dependent Claim 25 words
The method of claim 1 wherein the Skipjack is used as the first cryptographic algorithm and the RSA is used as the second cryptographic algorithm.
Claim 7
Dependent Claim 22 words
The method of claim 1 wherein the software component record includes a descriptive plaintext component containing a description of the software component.
Claim 8
Dependent Claim 18 words
The method of claim 6 wherein the descriptive plaintext component includes information regarding data rights and ownership rights.
Claim 9
Dependent Claim 30 words
The method of claim 6 wherein the plaintext representation of the software component also includes information defining the software components relationship to other software component records in the reuse library.
Claim 10
Dependent Claim 30 words
The method of claim 7 wherein the plaintext representation of the software component also includes information defining the software components relationship to other software component records in the reuse library.
Claim 11
Dependent Claim 401 words
The computer system comprising: a reuse library having a plurality of encrypted software components each software component record having an encrypted software component, an encrypted hash digest, and an encrypted first key; said reuse library having a storage means for storing encrypted software components; said reuse library having a retrieval means for retrieving encrypted software components; a directory containing a list of publishers and an associated list of public keys; at least one publisher's workstation coupled to the reuse library, said publishers workstation having an first encrypting means for encrypting a plaintext representation of a software component into a encrypted software component with a first cryptographic algorithm using first key; an hashing means for hashing the encrypted software component to generate a first hash digest; a second encrypting means for encrypting the first hash digest and the first key using a second cryptographic algorithm with a second key, wherein said second cryptographic algorithm is of a public key algorithm type and said second key is the publisher's private key associated with a publisher's public key, said software component record consisting of the encrypted software component, the encrypted hash digest, and the encrypted first key; a communications means for sending the software component record to the reuse library for storage by the storage means; at least one reuser workstation coupled to the reuse library, said reuser workstation having a requesting means for sending a request to the reuse library for a desired encrypted software component, wherein said request causes the retrieval means of the reuse library to retrieve the desired software component and send it to the requesting workstation; a means for obtaining the public key from the directory, said public key associated with the second key of the desired encrypted software component; a first decrypting means for decrypting the encrypted hash digest and the encrypted first key into the decrypted first key and the decrypted first hash digest using the public key and the second cryptographic algorithm; an hashing means for hashing the encrypted software component to generate a second hash digest; a comparing means for comparing the second hash digest with the decrypted first hash digest, and if not identical indicating that the software component is corrupted, if identical indicating that the software is not corrupted; a second decrypting means for decrypting the encrypted software component into the plaintext representation using the decrypted first key and the first encryption algorithm.
Claim 12
Dependent Claim 401 words
The computer system comprising: a reuse library having a plurality of encrypted software components each software component record having an encrypted software component, an encrypted hash digest, and an encrypted first key; said reuse library having a storage means for storing encrypted software components; said reuse library having a retrieval means for retrieving encrypted software components; a directory containing a list of publishers and an associated list of public keys; at least one publisher's workstation coupled to the reuse library, said publishers workstation having an first encrypting means for encrypting a plaintext representation of a software component into a encrypted software component with a first cryptographic algorithm using first key; an hashing means for hashing the encrypted software component to generate a first hash digest; a second encrypting means for encrypting the first hash digest and the first key using a second cryptographic algorithm with a second key, wherein said second cryptographic algorithm is of a public key algorithm type and said second key is the publisher's private key associated with a publisher's public key, said software component record consisting of the encrypted software component, the encrypted hash digest, and the encrypted first key; a communications means for sending the software component record to the reuse library for storage by the storage means; at least one reuser workstation coupled to the reuse library, said reuser workstation having a requesting means for sending a request to the reuse library for a desired encrypted software component, wherein said request causes the retrieval means of the reuse library to retrieve the desired software component and send it to the requesting workstation; a means for obtaining the public key from the directory, said public key associated with the second key of the desired encrypted software component; a first decrypting means for decrypting the encrypted hash digest and the encrypted first key into the decrypted first key and the decrypted first hash digest using the public key and the second cryptographic algorithm; an hashing means for hashing the encrypted software component to generate a second hash digest; a comparing means for comparing the second hash digest with the decrypted first hash digest, and if not identical indicating that the software component is corrupted, if identical indicating that the software is not corrupted; a second decrypting means for decrypting the encrypted software component into the plaintext representation using the decrypted first key and the first encryption algorithm.
Claim 13
Dependent Claim 31 words
The system of claim 10 wherein the reuser workstation also includes a display means for displaying the plaintext representation of the software component record and for providing an indication of corruption.
Claim 14
Dependent Claim 24 words
The system of claim 10 wherein the reuser workstation also includes a browsing means for browsing encrypted software components stored in the reuse library.
Claim 15
Dependent Claim 21 words
The system of claim 10 wherein the plurality of encrypted software components and the directory are stored in a relational database.
Claim 16
Dependent Claim 22 words
The system of claim 10 wherein the plurality of encrypted software components and the directory are stored in a object oriented database.
Claim 17
Dependent Claim 29 words
The system of claim 10 wherein the reuse library includes a catalogue means for assigning the software component record a unique identifier and for classifying the software component record.
Claim 18
Dependent Claim 21 words
The system of claim 15 wherein the catalogue means classifies the software component record according to a set of classification criteria.
Claim 19
Dependent Claim 29 words
The system of claim 10 wherein the Data Encryption Standard is used as the first cryptographic algorithm and the Digital Signature Algorithm is used as the second cryptographic algorithm.
Claim 20
Dependent Claim 27 words
The system of claim 10 wherein the Data Encryption Standard is used as the first cryptographic algorithm and the RSA is used as the second cryptographic algorithm.
Claim 21
Dependent Claim 27 words
The system of claim 10 wherein the Skipjack is used as the first cryptographic algorithm and the Digital Signature Algorithm is used as the second cryptographic algorithm.
Claim 22
Dependent Claim 25 words
The system of claim 10 wherein the Skipjack is used as the first cryptographic algorithm and the RSA is used as the second cryptographic algorithm.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-29 1998-02-28 1998-08-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-29 2002-02-28 2002-08-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-29 2006-02-28 2006-08-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag