ASN.1 – Abstract Syntax Notation number One

Abstract Syntax Notation number One is a standard that allows encoding of arbitrary data. ASN.1 was first standardized by the ITU (International Telecommunications Union) in 1984.

ASN.1 is mainly used in telecommunication protocols. Therefore it is widely spread on almost every computer platform and supported by most programming languages.

There is a huge variety of different areas of application for ASN.1. Nevertheless, certificates seem to be most interesting from a cryptographical point of view since most certificates are encoded in ASN.1 format.

ASN.1 is able to encode the following data types: Integers, Booleans, character strings and even time-referenced types. Additionally ASN.1 enables the user to assemble custom data types (complex structures and lists, for instance) based on the simple types already mentioned.

Data transmitted by ASN.1 is stored in hierarchical structures. Therefore ASN.1 offers another data type called object identifier. Strictly speaking the object identifier simply is a list of integers. Still, the object identifier is capable of identifying each object in ASN.1 uniquely.

The actual data transmission in binary format between two applications for instance is defined by the so called encoding rules. There exist different kinds of encoding rules and they are also standardized.

Please visit http://asn1.elibel.tm.fr for further information on Abstract Syntax Notation number One.

CrypTool allows you to decode an ASN.1 encoded file.