₿itcoinItaliaNetwork 

DER

acronimo di: Distinguished Encoding Rules

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Le Distinguished Encoding Rules (DER) sono un formato di codifica utilizzato per serializzare dati strutturati, come le firme digitali. In particolare, il formato DER è una variante delle regole ASN.1 che fornisce una sintassi di trasferimento non ambigua per i dati strutturati.

DER funziona seguendo delle regole precise:

  • Definizione dei tipi di dati: stabilisce come rappresentare diversi tipi di informazioni, come numeri, testi o date.
  • Struttura dei dati: indica come organizzare le informazioni in sequenze, insiemi o altri formati.
  • Codifica dei valori: specifica come trasformare i valori dei dati in una serie di numeri o simboli.
  • Regole di impacchettamento: definisce come combinare i diversi elementi codificati in un unico insieme di dati.

In Bitcoin, DER viene utilizzato principalmente per codificare le transazioni e le firme digitali. Le firme ECDSA sono codificate utilizzando il formato DER. Una firma ECDSA è composta da due numeri: r e s. Questi vengono codificati in un flusso di byte usando il formato DER.
Il processo di codifica include:

  • Inizio con il byte 0x30 che indica una struttura composta, che indica l'inizio della struttura ASN.1
  • Un byte che specifica la lunghezza della struttura seguente
  • Un byte 0x02 per indicare un intero.
  • r: La lunghezza del valore r seguita dal valore r stesso, codificato come un intero big-endian.
  • Un altro byte 0x02 per indicare un secondo intero.
  • s: La lunghezza del valore s seguita dal valore s stesso, anche questo codificato come un intero big-endian.

È importante notare che se il primo byte di r o s è maggiore di 0x7F, deve essere preceduto da un byte 0x00 per garantirne l'interpretazione come numero positivo.

Il formato DER è stato scelto da Satoshi Nakamoto per serializzare le firme nel protocollo Bitcoin, probabilmente perché era già definito nel 2008, supportato dalla libreria OpenSSL usata all'epoca, ed era abbastanza semplice da adottare senza dover creare un nuovo standard.

  • Vedi anche
  • Crittografia
  • ECDSA (Elliptic Curve Digital Signature Algorithm) Algoritmo di firma digitale a curva ellittica

aggiornato il 2025-02-13