Introduction
Abstract Syntax Notation One (ASN.1) is standard for describing data structures in telecommunication and computer networking world. ASN.1 provides a set of formal rules for describing the structure of objects. Specification describe abstract objects, that are independent of machine-specific encoding techniques.
ASN defined data can be encoded using on of encoding rules:
-
Basic Encoding Rules (BER)
-
Canonical Encoding Rules (CER)
-
Distinguished Encoding Rules (DER)
-
XML Encoding Rules (XER)
-
Packed Encoding Rules (PER)
-
Generic String Encoding Rules (GSER)
ASN.1 together with specific ASN.1 encoding rules facilitates the exchange of structured data especially between application programs over networks by describing data structures in a way that is independent of machine architecture and implementation language.
Encoded data structure contains three elements:
-
Tag - unique value, which identifies type of data. Tag carries some additional info - like complexity indicator and context indicator. Actual tag value is unique for single ASN definition(aside some basic tag values which are defined in ASN specification)
-
Length - indicates length of current data structure
-
Payload - depending on definition this can be simple value - like integer or it can carry another ASN encoded data structure.