Shopping Cart

No products in the cart.

BS ISO/IEC 8825-3:2021

$215.11

Information technology. ASN.1 encoding rules – Specification of Encoding Control Notation (ECN)

Published By Publication Date Number of Pages
BSI 2021 208
Guaranteed Safe Checkout
Categories: ,

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

This Recommendation | International Standard defines a notation for specifying encodings of ASN.1 types or of parts of types.

It provides several mechanisms for such specification, including:

  • direct specification of the encoding using standardized notation;

  • specification of the encoding by reference to standardized encoding rules;

  • specification of the encoding of an ASN.1 type by reference to an encoding structure;

  • specification of the encoding using non-ECN notation.

It also provides the means to link the specification of encodings to the type definitions to which they are to be applied.

ECN does not currently provide any support for specifications using the OID internationalized resource identifier type or the relative OID internationalized resource identifier type (see Rec. ITU-T X.680 | ISO/IEC 8824-1), and these are not referred to further in this Standard.

PDF Catalog

PDF Pages PDF Title
2 undefined
6 Blank Page
7 CONTENTS
14 Introduction
15 1 Scope
2 Normative references
2.1 Identical Recommendations | International Standards
16 2.2 Additional references
3 Definitions
3.1 ASN.1 definitions
3.2 ECN-specific definitions
19 4 Abbreviations
5 Definition of ECN syntax
6 Encoding conventions and notation
7 The ECN character set
20 8 ECN lexical items
8.1 Encoding object references
8.2 Encoding object set references
8.3 Encoding class references
21 8.4 Reserved word items
8.5 Reserved encoding class name items
8.6 Non-ECN item
9 ECN Concepts
22 9.1 Encoding Control Notation (ECN) specifications
9.2 Encoding classes
23 9.3 Encoding structures
9.4 Encoding objects
9.5 Encoding object sets
9.6 Defining new encoding classes
25 9.7 Defining encoding objects
9.8 Differential encoding-decoding
26 9.9 Encoders options in encodings
9.10 Properties of encoding objects
9.11 Parameterization
27 9.12 Governors
9.13 General aspects of encodings
9.14 Identification of information elements
28 9.15 Reference fields and determinants
9.16 Replacement classes and structures
29 9.17 Mapping abstract values onto fields of encoding structures
9.18 Transforms and transform composites
30 9.19 Contents of Encoding Definition Modules
31 9.20 Contents of the Encoding Link Module
9.21 Defining encodings for primitive encoding classes
33 9.22 Application of encodings
9.23 Combined encoding object set
9.24 Application point
34 9.25 Conditional encodings
9.26 Other conditions for applying encodings
35 9.27 Encoding control for the open type
9.28 Changes to ASN.1 Recommendations | International Standards
10 Identifying encoding classes, encoding objects, and encoding object sets
38 11 Encoding ASN.1 types
11.1 General
11.2 Built-in encoding classes used for implicitly generated encoding structures
39 11.3 Simplification and expansion of ASN.1 notation for encoding purposes
41 11.4 The implicitly generated encoding structure
12 The Encoding Link Module (ELM)
42 12.1 Structure of the ELM
12.2 Encoding types
43 13 Application of encodings
13.1 General
13.2 The combined encoding object set and its application
45 14 The Encoding Definition Module (EDM)
47 15 The renames clause
15.1 Explicitly generated and exported structures
48 15.2 Name changes
49 15.3 Specifying the region for name changes
50 16 Encoding class assignments
16.1 General
53 16.2 Encoding structure definition
55 16.3 Alternative encoding structure
16.4 Repetition encoding structure
56 16.5 Concatenation encoding structure
17 Encoding object assignments
17.1 General
57 17.2 Encoding with a defined syntax
58 17.3 Encoding with encoding object sets
17.4 Encoding using value mappings
59 17.5 Encoding an encoding structure
61 17.6 Differential encoding-decoding
62 17.7 Encoding options
63 17.8 Non-ECN definition of encoding objects
18 Encoding object set assignments
18.1 General
64 18.2 Built-in encoding object sets
65 19 Mapping values
19.1 General
66 19.2 Mapping by explicit values
67 19.3 Mapping by matching fields
68 19.4 Mapping by #TRANSFORM encoding objects
19.5 Mapping by abstract value ordering
70 19.6 Mapping by value distribution
71 19.7 Mapping integer values to bits
72 20 Defining encoding objects using defined syntax
73 21 Types used in defined syntax specification
21.1 The Unit type
21.2 The EncodingSpaceSize type
74 21.3 The EncodingSpaceDetermination type
21.4 The UnusedBitsDetermination type
75 21.5 The OptionalityDetermination type
76 21.6 The AlternativeDetermination type
21.7 The RepetitionSpaceDetermination type
77 21.8 The Justification type
78 21.9 The Padding type
21.10 The Pattern and Non-Null-Pattern types
79 21.11 The RangeCondition type
21.12 The Comparison type
80 21.13 The SizeRangeCondition type
21.14 The ReversalSpecification type
81 21.15 The ResultSize type
21.16 The HandleValueSet type
82 21.17 The IntegerMapping type
22 Commonly used encoding property groups
22.1 Replacement specification
22.1.1 Encoding properties, syntax and purpose
83 22.1.2 Specification restrictions
84 22.1.3 Encoder actions
22.1.4 Decoder actions
85 22.2 Pre-alignment and padding specification
22.2.1 Encoding properties, syntax and purpose
22.2.2 Specification constraints
22.2.3 Encoder actions
22.2.4 Decoder actions
86 22.3 Start pointer specification
22.3.1 Encoding properties, syntax and purpose
22.3.2 Specification constraints
22.3.3 Encoder actions
22.3.4 Decoder actions
87 22.4 Encoding space specification
22.4.1 Encoding properties, syntax and purpose
22.4.2 Specification restrictions
88 22.4.3 Encoder actions
22.4.4 Decoder actions
89 22.5 Optionality determination
22.5.1 Encoding properties, syntax and purpose
22.5.2 Specification restrictions
90 22.5.3 Encoder actions
22.5.4 Decoder actions
91 22.6 Alternative determination
22.6.1 Encoding properties, syntax and purpose
22.6.2 Specification restrictions
22.6.3 Encoder actions
92 22.6.4 Decoder actions
22.7 Repetition space specification
22.7.1 Encoding properties, syntax and purpose
93 22.7.2 Specification constraints
94 22.7.3 Encoder actions
22.7.4 Decoder actions
95 22.8 Value padding and justification
22.8.1 Encoding properties, syntax, and purpose
96 22.8.2 Specification restrictions
22.8.3 Encoder actions
97 22.8.4 Decoder actions
22.9 Identification handle specification
22.9.1 Encoding properties, syntax and purpose
98 22.9.2 Specification constraints
22.9.3 Encoders actions
22.9.4 Decoders actions
22.10 Concatenation specification
22.10.1 Encoding properties, syntax and purpose
99 22.10.2 Specification constraints
22.10.3 Encoder actions
22.10.4 Decoder actions
22.11 Contained type encoding specification
22.11.1 Encoding properties, syntax and purpose
100 22.11.2 Encoder actions
22.11.3 Decoder actions
22.12 Bit reversal specification
22.12.1 Encoding properties, syntax, and purpose
22.12.2 Specification constraints
101 22.12.3 Encoder actions
22.12.4 Decoder actions
23 Defined syntax specification for bit-field and constructor classes
23.1 Defining encoding objects for classes in the alternatives category
23.1.1 The defined syntax
102 23.1.2 Purpose and restrictions
23.1.3 Encoder actions
23.1.4 Decoder actions
23.2 Defining encoding objects for classes in the bitstring category
23.2.1 The defined syntax
103 23.2.2 Model for the encoding of classes in the bitstring category
104 23.2.3 Purpose and restrictions
23.2.4 Encoder actions
105 23.2.5 Decoder actions
23.3 Defining encoding objects for classes in the boolean category
23.3.1 The defined syntax
106 23.3.2 Purpose and restrictions
107 23.3.3 Encoder actions
23.3.4 Decoder actions
23.4 Defining encoding objects for classes in the characterstring category
23.4.1 The defined syntax
108 23.4.2 Model for the encoding of classes in the characterstring category
23.4.3 Purpose and restrictions
109 23.4.4 Encoder actions
23.4.5 Decoder actions
23.5 Defining encoding objects for classes in the concatenation category
23.5.1 The defined syntax
111 23.5.2 Purpose and restrictions
23.5.3 Encoder actions
112 23.5.4 Decoder actions
23.6 Defining encoding objects for classes in the integer category
23.6.1 The defined syntax
23.6.2 Purpose and restrictions
23.6.3 Encoder actions
23.6.4 Decoder actions
23.7 Defining encoding objects for the #CONDITIONAL-INT class
23.7.1 The defined syntax
114 23.7.2 Purpose and restrictions
115 23.7.3 Encoder actions
116 23.7.4 Decoder actions
23.8 Defining encoding objects for classes in the null category
23.8.1 The defined syntax
117 23.8.2 Purpose and restrictions
23.8.3 Encoder actions
118 23.8.4 Decoder actions
23.9 Defining encoding objects for classes in the octetstring category
23.9.1 The defined syntax
119 23.9.2 Model for the encoding of classes in the octetstring category
23.9.3 Purpose and restrictions
120 23.9.4 Encoder actions
23.9.5 Decoder actions
23.10 Defining encoding objects for classes in the open type category
23.10.1 The defined syntax
121 23.10.2 Model for the encoding of classes in the open type category
122 23.10.3 Purpose and restrictions
23.10.4 Encoder actions
23.10.5 Decoder actions
123 23.11 Defining encoding objects for classes in the optionality category
23.11.1 The defined syntax
23.11.2 Purpose and restrictions
124 23.11.3 Encoder actions
23.11.4 Decoder actions
23.12 Defining encoding objects for classes in the pad category
23.12.1 The defined syntax
125 23.12.2 Purpose and restrictions
23.12.3 Encoder actions
23.12.4 Decoder actions
126 23.13 Defining encoding objects for classes in the repetition category
23.13.1 The defined syntax
23.13.2 Purpose and restrictions
23.13.3 Encoder actions
23.13.4 Decoder actions
23.14 Defining encoding objects for the #CONDITIONAL-REPETITION class
23.14.1 The defined syntax
128 23.14.2 Purpose and restrictions
23.14.3 Encoder actions
129 23.14.4 Decoder actions
23.15 Defining encoding objects for classes in the tag category
23.15.1 The defined syntax
130 23.15.2 Purpose and restrictions
131 23.15.3 Encoder actions
23.15.4 Decoder actions
23.16 Defining encoding objects for classes in the other categories
132 24 Defined syntax specification for the #TRANSFORM encoding class
24.1 Summary of encoding properties and defined syntax
134 24.2 Source and target of transforms
135 24.3 The int-to-int transform
136 24.4 The bool-to-bool transform
24.5 The bool-to-int transform
137 24.6 The int-to-bool transform
24.7 The int-to-chars transform
138 24.8 The int-to-bits transform
139 24.9 The bits-to-int transform
24.10 The char-to-bits transform
141 24.11 The bits-to-char transform
142 24.12 The bit-to-bits transform
24.13 The bits-to-bits transform
143 24.14 The chars-to-composite-char transform
24.15 The bits-to-composite-bits transform
144 24.16 The octets-to-composite-bits transform
24.17 The composite-char-to-chars transform
24.18 The composite-bits-to-bits transform
24.19 The composite-bits-to-octets transform
145 25 Complete encodings and the #OUTER class
25.1 Encoding properties, syntax and purpose for the #OUTER class
146 25.2 Encoder actions for #OUTER
25.3 Decoder actions for #OUTER
147 Annex A Addendum to Rec. ITU-T X.680 | ISO/IEC 8824-1
A.1 Exports and imports clauses
A.2 Addition of REFERENCE
148 A.3 Notation for character string values
149 Annex B Addendum to Rec. ITU-T X.681 | ISO/IEC 8824-2
B.1 Definitions
B.2 Additional lexical items
B.2.1 Ordered value list field references
B.2.2 Ordered encoding object list field references
B.2.3 Encoding class field references
B.3 Addition of “ENCODING-CLASS”
B.4 FieldSpec additions
150 B.5 Fixed-type ordered value list field spec
B.6 Fixed-class encoding object field spec
B.7 Variable-class encoding object field spec
151 B.8 Fixed-class encoding object set field spec
B.9 Fixed-class ordered encoding object list field spec
B.10 Encoding class field spec
B.11 Ordered value list notation
B.12 Ordered encoding object list notation
152 B.13 Primitive field names
B.14 Additional reserved words
153 B.15 Definition of encoding objects
B.16 Additions to “Setting”
154 Annex C Addendum to Rec. ITU-T X.683 | ISO/IEC 8824-4
Annex C Addendum to Rec. ITU-T X.683 | ISO/IEC 8824-4
158 Annex D Examples
D.1 General examples
D.1.1 An encoding object for a boolean type
159 D.1.2 An encoding object for an integer type
D.1.3 Another encoding object for an integer type
D.1.4 An encoding object for an integer type with holes
D.1.5 A more complex encoding object for an integer type
160 D.1.6 Positive integers encoded in BCD
161 D.1.7 An encoding object of class #BITS
162 D.1.8 An encoding object for an octetstring type
D.1.9 An encoding object for a character string type
D.1.10 Mapping character values to bit values
163 D.1.11 An encoding object for a sequence type
D.1.12 An encoding object for a choice type
164 D.1.13 Encoding a bitstring containing another encoding
D.1.14 An encoding object set
165 D.1.15 ASN.1 definitions
D.1.16 EDM definitions
D.1.17 ELM definitions
166 D.2 Specialization examples
D.2.1 Encoding by distributing values to an alternative encoding structure
D.2.2 Encoding by mapping ordered abstract values to an alternative encoding structure
167 D.2.3 Compression of non-continuous value ranges
D.2.4 Compression of non-continuous value ranges using a transform
168 D.2.5 Compression of an unevenly distributed value set by mapping ordered abstract values
D.2.6 Presence of an optional component depending on the value of another component
169 D.2.7 The presence of an optional component depends on some external condition
D.2.8 A variable length list
170 D.2.9 Equal length lists
171 D.2.10 Uneven choice alternative probabilities
172 D.2.11 A version 1 message
173 D.2.12 The encoding object set
D.2.13 ASN.1 definitions
174 D.2.14 EDM definitions
D.2.15 ELM definitions
D.3 Explicitly generated structure examples
175 D.3.1 Sequence with optional components defined by a pointer
D.3.2 Addition of a boolean type as a presence determinant
177 D.3.3 Sequence with optional components identified by a unique tag and delimited by a length field
178 D.3.4 Sequence-of type with a count
D.3.5 Encoding object sets
179 D.3.6 ASN.1 definitions
D.3.7 EDM definitions
D.3.8 ELM definitions
180 D.4 A more-bit encoding example
D.4.1 Description of the problem
D.4.2 Use of ASN.1 to provide the more-bit determinant
181 D.4.3 Use of value mappings to provide the more-bit determinant
182 D.4.4 Use of the replacement mechanism to provide the more-bit determinant
D.5 Legacy protocol specified with tabular notation
D.5.1 Introduction
184 D.5.2 Encoding definition for the top-level message structure
D.5.3 Encoding definition for a message structure
185 D.5.4 Encoding for the sequence type “B”
D.5.5 Encoding for an octet-aligned sequence-of type with a length determinant
D.5.6 Encoding for an octet-aligned sequence-of type which continues to the end of the PDU
D.5.7 EDM definitions
186 D.5.8 ELM definitions
187 Annex E Support for Huffman encodings
189 Annex F Additional information on the Encoding Control Notation (ECN)
190 Annex G Summary of the ECN notation
BS ISO/IEC 8825-3:2021
$215.11