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
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.
References Cited (Backward Citations)
US4658093A
Cited
US4791565A
Cited
US5050213A
Cited
US5214702A
Cited
US5007082A
Cited
US4924515A
Cited
US4953209A
Cited
US5199066A
Cited
US5189700A
Cited
US5138712A
Cited
US5050212A
Cited
US5136647A
Cited
US5073934A
Cited
US5073935A
Cited
US5231668A
Cited
US5142578A
Cited
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 |