Acrónimo de Reglas de codificación diferenciadas. Se trata de un subconjunto estricto de las reglas de codificación ASN.1 definidas en la especificación ITU-T X.690, 2002. y utilizadas para codificar cualquier tipo de datos en una secuencia binaria. DER se utiliza principalmente en campos específicos, como la criptografía, donde los datos deben codificarse de forma estándar y predecible.
En Bitcoin, las firmas ECDSA se codifican en formato DER. Constan de dos números codificados de 32 bytes (r,s). El formato de firma consiste en lo siguiente Elements (71 bytes):
0x30 | length | 0x02 | r-length | r | 0x02 | s-length | s
Con :
- 0x30` (1 byte): identificador de una estructura compuesta;
- length` (1 byte): longitud de los siguientes datos ;
- 0x02
(1 byte): identificador de datos tipoINTEGER` (entero) ; r-length(1 byte): longitud del siguiente valorr(32 bytes) ;- r
(32 bytes): valor der` como entero big-endian; - 0x02
(1 byte): identificador de datos tipoINTEGER` (entero) ; s-length(1 byte): longitud del siguiente valors(32 bytes) ;s(32 bytes): valor descomo entero big-endian.
En una transacción Bitcoin, se añade un byte al final de una firma DER para indicar el tipo de SigHash utilizado.