-- ASN module extracted from ITU-T X.510 (08/2020)
CryptoTools {joint-iso-itu-t ds(5) module(1) cryptoTools(42) 9}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
/*
Last component of object identifiers for X.510 modules
42 - CryptoTools
43 - Wrapper
44 - AVL-management
45 - CaSubscription
46 - TrustBroker
47 - ProtProtocols
48 - GenAlgo
*/
-- EXPORTS All
IMPORTS
AlgoInvoke{}, ALGORITHM, AlgorithmIdentifier{}, AlgorithmWithInvoke{}
FROM PKI-Stub
{joint-iso-itu-t ds(5) module(1) pki-stub(999) 9} WITH SUCCESSORS
id-algo-mca
FROM GenAlgo
{joint-iso-itu-t ds(5) module(1) genAlgo(48) 9} WITH SUCCESSORS ;
multipleSignaturesAlgo ALGORITHM ::= {
PARMS MultipleSignaturesAlgo
IDENTIFIED BY id-algo-multipleSignaturesAlgo }
MultipleSignaturesAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedSignatureAlgorithms}}
SupportedSignatureAlgorithms ALGORITHM ::= {...}
multipleSymmetricKeyAlgo ALGORITHM ::= {
PARMS MultipleSymmetricKeyAlgo
IDENTIFIED BY id-algo-multipleSymmetricKeyAlgo }
MultipleSymmetricKeyAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedSymmetricKeyAlgorithms}}
SupportedSymmetricKeyAlgorithms ALGORITHM ::= {...}
multiplePublicKeyAlgo ALGORITHM ::= {
PARMS MultiplePublicKeyAlgo
IDENTIFIED BY id-algo-multiplePublicKeyAlgo }
MultiplePublicKeyAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedPublicKeyAlgorithms}}
SupportedPublicKeyAlgorithms ALGORITHM ::= {...}
multipleHashAlgo ALGORITHM ::= {
PARMS MultipleHashAlgo
IDENTIFIED BY id-algo-multipleHashAlgo }
MultipleHashAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedHashAlgorithms}}
SupportedHashAlgorithms ALGORITHM ::= {...}
multipleAuthenEncryptAlgo ALGORITHM ::= {
PARMS MultipleAuthenEncryptAlgo
IDENTIFIED BY id-algo-multipleAuthenEncryptAlgo }
MultipleAuthenEncryptAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedAuthenEncryptAlgorithms}}
SupportedAuthenEncryptAlgorithms ALGORITHM ::= {...}
multipleIcvAlgo ALGORITHM ::= {
PARMS MultipleIcvAlgo
IDENTIFIED BY id-algo-multipleIcvAlgo }
MultipleIcvAlgo ::= SEQUENCE SIZE (1..MAX) OF
algo AlgorithmIdentifier{{SupportedIcvAlgorithms}}
SupportedIcvAlgorithms ALGORITHM ::= {...}
-- Auxiliary data types
MULTY-SIGNED{ToBeSigned} ::= SEQUENCE {
toBeSigned ToBeSigned,
algorithm ALGORITHM.&id({multipleSignaturesAlgo}),
parmeters SEQUENCE SIZE (1..MAX) OF
sign SEQUENCE {
algo AlgorithmIdentifier{{SupportedSignatureAlgorithms}},
signature BIT STRING,
... },
... }
Signed{ToBeSigned} ::= SEQUENCE {
toBeSigned ToBeSigned,
signature BIT STRING,
altSignature BIT STRING OPTIONAL,
... }
ICV-Total{ToBeProtected} ::= SEQUENCE {
toBeProtected ToBeProtected,
algorithmIdentifier AlgorithmWithInvoke{{SupportedIcvAlgorithms}},
icv BIT STRING,
altAlgorithmIdentifier [0] AlgorithmWithInvoke{{SupportedIcvAlgorithms}} OPTIONAL,
altIcv [1] BIT STRING OPTIONAL,
... }
(WITH COMPONENTS {..., altAlgorithmIdentifier PRESENT, altIcv PRESENT } |
WITH COMPONENTS {..., altAlgorithmIdentifier ABSENT, altIcv ABSENT } )
ICV-Invoke{ToBeProtected} ::= SEQUENCE {
toBeProtected ToBeProtected,
dynParms [0] AlgoInvoke{{SupportedIcvAlgorithms}} OPTIONAL,
icv BIT STRING,
... }
ENCIPHERED{ToBeEnciphered} ::= OCTET STRING (CONSTRAINED BY {
-- shall be the result of applying an encipherment procedure
-- to the BER-encoded octets of a value of -- ToBeEnciphered } )
AUTHEN-ENCRYPT{ToBeAuth, ToBeEnciphered} ::= SEQUENCE {
aad [0] ToBeAuth OPTIONAL,
encr [1] ToBeEnciphered,
... }
-- Algorithms
id-algo-multipleSignaturesAlgo OBJECT IDENTIFIER ::= {id-algo-mca 1}
id-algo-multipleSymmetricKeyAlgo OBJECT IDENTIFIER ::= {id-algo-mca 2}
id-algo-multiplePublicKeyAlgo OBJECT IDENTIFIER ::= {id-algo-mca 3}
id-algo-multipleHashAlgo OBJECT IDENTIFIER ::= {id-algo-mca 4}
id-algo-multipleAuthenEncryptAlgo OBJECT IDENTIFIER ::= {id-algo-mca 5}
id-algo-multipleIcvAlgo OBJECT IDENTIFIER ::= {id-algo-mca 6}
END -- CryptoTools