US4993069A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Secure key management using control vector translation
Assignee: International Business Machines Corp
•
Filing: 1989-11-29
•
Granted: 1991-02-12
•
Expires: 2009-11-29
Abstract
Abstract A cryptographic system and method is provided which accepts a key K encrypted under a key formed by exclusive-ORing a key-encrypting key KK with a first control vector C5 and outputs the same key K encrypted under a key formed by exclusive-ORing KK with a second control vector C6. The set (C5, C6) represents a mapping of the type and usage of the key K defined by the control vector C5 to the type and usage defined by the control vector C6. The set of allowable control vector mappings, that is from C5 to C6, are defined in a control vector translation table, which is specified in advance by authorized installation personnel.
Inventors
- 👤 Stephen M. Matyas
- 👤 Dennis G. Abraham
- 👤 Donald B. Johnson
- 👤 An V. Le
- 👤 Rostislaw Prymak
- 👤 John D. Wilkins
- 👤 Phil C. Yeh
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-23 13:48
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/08; H04L9/088; H04L2209/00; H04L2209/04
Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
230 words
In a data processing system which includes a control vector based cryptographic facility, a method for translating from a first control vector to a second control vector, comprising the steps of: storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 2
Dependent Claim
230 words
In a data processing system which includes a control vector based cryptographic facility, a method for translating from a first control vector to a second control vector, comprising the steps of: storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 3
Dependent Claim
33 words
The method of claim 1, wherein said first control vector defines a primary set of uses for said working key and said masking vector defines a subset of said primary set of uses.
Claim 4
Dependent Claim
33 words
The method of claim 1, wherein said first control vector defines a primary set of users for said working key and said masking vector defines a subset of said primary set of users.
Claim 5
Dependent Claim
266 words
In a network including a first data processing system which has a first control vector based cryptographic facility using a first control vector, said network further including a second data processing system which has a second control vector based cryptographic facility, a method for translating from said first control vector to a second control vector for use in said second data processing system, comprising the steps of: storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 6
Dependent Claim
266 words
In a network including a first data processing system which has a first control vector based cryptographic facility using a first control vector, said network further including a second data processing system which has a second control vector based cryptographic facility, a method for translating from said first control vector to a second control vector for use in said second data processing system, comprising the steps of: storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 7
Dependent Claim
45 words
The method of claim 4, wherein said first control vector defines a primary set of uses for said working key in said first data processing system and said masking vector defines a subset of said primary set of uses in said second data processing system.
Claim 8
Dependent Claim
45 words
The method of claim 4, wherein said first control vector defines a primary set of users for said working key in said first data processing system and said masking vector defines a subset of said primary set of users in said second data processing system.
Claim 9
Dependent Claim
212 words
In a network including a first data processing system which does not have a control vector based cryptographic facility, said network further including a second data processing system which has a control vector based cryptographic facility, a method for forming a control vector for use in said second data processing system, said control vector to be associated with a working key received from said first data processing system, comprising the steps of: storing a masking vector corresponding to said control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting said working key; inputting inputting said control vector; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under a key encrypting key exclusive-ORed with said control vector.
Claim 10
Dependent Claim
212 words
In a network including a first data processing system which does not have a control vector based cryptographic facility, said network further including a second data processing system which has a control vector based cryptographic facility, a method for forming a control vector for use in said second data processing system, said control vector to be associated with a working key received from said first data processing system, comprising the steps of: storing a masking vector corresponding to said control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting said working key; inputting inputting said control vector; accessing said first encrypted form and said second encrypted form of said masking vector from said table; decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; logically combining said control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; outputting said working key encrypted under a key encrypting key exclusive-ORed with said control vector.
Claim 11
Dependent Claim
24 words
The method of claim 7, wherein said masking vector defines a set of uses for said working key in said second data processing system.
Claim 12
Dependent Claim
24 words
The method of claim 7, wherein said masking vector defines a set of users for said working key in said second data processing system.
Claim 13
Dependent Claim
438 words
In a network including a first data processing system which has a first control vector based cryptographic facility using a first control vector, said network further including a second data processing system which has a second control vector based cryptographic facility, a method for translating from said first control vector to a plurality of control vectors for use in said second data processing system, comprising the steps of: storing a first masking vector corresponding to the relationship between said first control vector and a second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; storing a second masking vector corresponding to the relationship between said first control vector and a third control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said first masking vector from said table; decrypting said first encrypted form of said first masking vector and comparing the result with the result of decrypting said second form of said first masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said first masking vector producing a first logical product and continuing said method for translation only if said first logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector; inputting said third control vector into which said first control vector is to be translated; accessing said first encrypted form and said second encrypted form of said second masking vector from said table; decrypting said first encrypted form of said second masking vector and comparing the result with the result of decrypting said second form of said second masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said second masking vector producing a second logical product and continuing said method for translation only if said second logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said third control vector.
Claim 14
Dependent Claim
438 words
In a network including a first data processing system which has a first control vector based cryptographic facility using a first control vector, said network further including a second data processing system which has a second control vector based cryptographic facility, a method for translating from said first control vector to a plurality of control vectors for use in said second data processing system, comprising the steps of: storing a first masking vector corresponding to the relationship between said first control vector and a second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; storing a second masking vector corresponding to the relationship between said first control vector and a third control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said first masking vector from said table; decrypting said first encrypted form of said first masking vector and comparing the result with the result of decrypting said second form of said first masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said first masking vector producing a first logical product and continuing said method for translation only if said first logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector; inputting said third control vector into which said first control vector is to be translated; accessing said first encrypted form and said second encrypted form of said second masking vector from said table; decrypting said first encrypted form of said second masking vector and comparing the result with the result of decrypting said second form of said second masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said second masking vector producing a second logical product and continuing said method for translation only if said second logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said third control vector.
Claim 15
Dependent Claim
68 words
The method of claim 10, wherein said first control vector defines a primary set of uses for said working key in said first data processing system and said first masking vector defines a first subset of said primary set of uses in said second data processing system and said second masking vector defines a second subset of said primary set of uses in said second data processing system.
Claim 16
Dependent Claim
68 words
The method of claim 10, wherein said first control vector defines a primary set of users for said working key in said first data processing system and said first masking vector defines a first subset of said primary set of users in said second data processing system and said second masking vector defines a second subset of said primary set of users in said second data processing system.
Claim 17
Dependent Claim
402 words
In a data processing system which has a control vector based cryptographic facility, a method for translating from a first control vector to a plurality of control vectors, comprising the steps of: storing a first masking vector corresponding to the relationship between said first control vector and a second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; storing a second masking vector corresponding to the relationship between said first control vector and a third control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said first masking vector from said table; decrypting said first encrypted form of said first masking vector and comparing the result with the result of decrypting said second form of said first masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said first masking vector producing a first logical product and continuing said method for translation only if said first logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector; inputting said third control vector into which said first control vector is to be translated; accessing said first encrypted form and said second encrypted form of said second masking vector from said table; decrypting said first encrypted form of said second masking vector and comparing the result with the result of decrypting said second form of said second masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said second masking vector producing a second logical product and continuing said method for translation only if said second logical product satisfied logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said third control vector.
Claim 18
Dependent Claim
402 words
In a data processing system which has a control vector based cryptographic facility, a method for translating from a first control vector to a plurality of control vectors, comprising the steps of: storing a first masking vector corresponding to the relationship between said first control vector and a second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; storing a second masking vector corresponding to the relationship between said first control vector and a third control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; inputting a working key encrypted under a key encrypting key exclusive-ORed with said first control vector; inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; accessing said first encrypted form and said second encrypted form of said first masking vector from said table; decrypting said first encrypted form of said first masking vector and comparing the result with the result of decrypting said second form of said first masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said first masking vector producing a first logical product and continuing said method for translation only if said first logical product satisfies logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector; inputting said third control vector into which said first control vector is to be translated; accessing said first encrypted form and said second encrypted form of said second masking vector from said table; decrypting said first encrypted form of said second masking vector and comparing the result with the result of decrypting said second form of said second masking vector, and continuing said method for translating only if both results are the same; logically combining said first control vector and said second masking vector producing a second logical product and continuing said method for translation only if said second logical product satisfied logical product checking; outputting said working key encrypted under said key encrypting key exclusive-ORed with said third control vector.
Claim 19
Dependent Claim
50 words
The method of claim 13, wherein said first control vector defines a primary set of uses for said working key and said first masking vector defines a first subset of said primary set of uses and said second masking vector defines a second subset of said primary set of uses.
Claim 20
Dependent Claim
50 words
The method of claim 13, wherein said first control vector defines a primary set of users for said working key and said first masking vector defines a first subset of said primary set of users and said second masking vector defines a second subset of said primary set of users.
Claim 21
Dependent Claim
278 words
In a data processing system which includes a control vector based cryptographic facility, an apparatus for translating from a first control vector to a second control vector, comprising: a storage for storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; a first input means for inputting a working key encrypted under a key encrypting key exclusive ORed with said first control vector; a second input means for inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; a key recovery means coupled to said first and second input means, for recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; a decrypting means coupled to said storage decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; a logic means coupled to said second input means and to said decrypting means, for logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; an output means coupled to said second input means, to said recover means and to said logic means, for outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 22
Dependent Claim
278 words
In a data processing system which includes a control vector based cryptographic facility, an apparatus for translating from a first control vector to a second control vector, comprising: a storage for storing a masking vector corresponding to the relationship between said first control vector and said second control vector, in a table in a first form encrypted with a first encrypting key and in a second form encrypted with a second encrypting key; a first input means for inputting a working key encrypted under a key encrypting key exclusive ORed with said first control vector; a second input means for inputting said first control vector and inputting said second control vector into which said first control vector is to be translated; a key recovery means coupled to said first and second input means, for recovering said working key and continuing said method for translation only if said first control vector satisfies control vector checking; a decrypting means coupled to said storage decrypting said first encrypted form of said masking vector and comparing the result with the result of decrypting said second form of said masking vector, and continuing said method for translating only if both results are the same; a logic means coupled to said second input means and to said decrypting means, for logically combining said first control vector and said masking vector producing a logical product and continuing said method for translation only if said logical product satisfies logical product checking; an output means coupled to said second input means, to said recover means and to said logic means, for outputting said working key encrypted under said key encrypting key exclusive-ORed with said second control vector.
Claim 23
Dependent Claim
33 words
The apparatus of claim 16, wherein said first control vector defines a primary set of uses for said working key and said masking vector defines a subset of said primary set of uses.
Claim 24
Dependent Claim
33 words
The apparatus of claim 16, wherein said first control vector defines a primary set of users for said working key and said masking vector defines a subset of said primary set of users.
Claim 25
Dependent Claim
347 words
In a data processing system in which a first processor outputs cryptographic keys which are associated with first control vectors defining first functions which each key is allowed by its originator to perform in said first processor, an apparatus for translating said first control vectors into second control vectors defining second functions which each key is allowed to perform in a second processor in said system, comprising: a control vector mapping means having an input coupled to said first processor, for receiving said first control vector and in response thereto for outputting said second control vector at an output thereof; a control vector checking means having an input coupled to said first processor for receiving said first control vector and an input coupled to said mapping means for receiving said second control vector, for checking whether said second control vector is allowed to be translated from said first control vector, and outputting a first validity signal at an output thereof; a control vector translation table having an input coupled to said first processor, and storing masking vectors, and having an output for outputting at least one masking vector corresponding to said first control vector input at the input thereof; a masking vector checking means having an input connected to the output of said control vector translation table and a second input coupled to said first processor for receiving said first control vector, and a third input coupled to said output of said mapping means for receiving said second control vector, for logically combining said first control vector and said masking vector and comparing the result thereof with said second control vector to determine whether said translation from said first control vector to said second control vector is allowed, and outputting a second validation signal; an AND gate coupled to said control vector checking means and to said masking vector checking means, for ANDing said first and said second validation signals to provide a gating signal to gate said second control vector out to said second processor for use with said associated cryptographic key at said second processor.
Claim 26
Dependent Claim
347 words
In a data processing system in which a first processor outputs cryptographic keys which are associated with first control vectors defining first functions which each key is allowed by its originator to perform in said first processor, an apparatus for translating said first control vectors into second control vectors defining second functions which each key is allowed to perform in a second processor in said system, comprising: a control vector mapping means having an input coupled to said first processor, for receiving said first control vector and in response thereto for outputting said second control vector at an output thereof; a control vector checking means having an input coupled to said first processor for receiving said first control vector and an input coupled to said mapping means for receiving said second control vector, for checking whether said second control vector is allowed to be translated from said first control vector, and outputting a first validity signal at an output thereof; a control vector translation table having an input coupled to said first processor, and storing masking vectors, and having an output for outputting at least one masking vector corresponding to said first control vector input at the input thereof; a masking vector checking means having an input connected to the output of said control vector translation table and a second input coupled to said first processor for receiving said first control vector, and a third input coupled to said output of said mapping means for receiving said second control vector, for logically combining said first control vector and said masking vector and comparing the result thereof with said second control vector to determine whether said translation from said first control vector to said second control vector is allowed, and outputting a second validation signal; an AND gate coupled to said control vector checking means and to said masking vector checking means, for ANDing said first and said second validation signals to provide a gating signal to gate said second control vector out to said second processor for use with said associated cryptographic key at said second processor.
References Cited (Backward Citations)
US4227253A
Cited
US4218738A
Cited
US4223403A
Cited
US4386233A
Cited
US4578530A
Cited
US4503287A
Cited
US4500750A
Cited
US4558176A
Cited
US4723284A
Cited
US4620276A
Cited
US4723283A
Cited
US4683968A
Cited
US4850017A
Cited
US4903299A
Cited
US4941176A
Cited
US4924514A
Cited
US4924515A
Cited
US4918728A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1994-02-11 | 1994-08-13 | 1995-02-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1998-02-11 | 1998-08-13 | 1999-02-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2002-02-11 | 2002-08-13 | 2003-02-12 | $7700.00 | Window Closed / Lapsed |