# Mecanismo de cifra

A encriptação dos [**elementos**](https://cryptosaft.assoft.org/informacao-tecnica/cryptosaf-t/elementos) tem por base o algoritmo de cifra aes-128-ctr que retira partido do uso de uma **chave simétrica**.

## Parâmetros da cifra

**Algoritmo de Cifra**: Advanced Encryption Standard (AES) – FIPS 197\
**Modo de Operação**: Counter (CTR) – NIST Special Publication 800-38A\
**Chave De Cifra**: Aleatória de 128 bits\
**Vetor de Inicialização(IV)/Counter**: Aleatória de 128 bits

## CryptoSAF-T e IES/DA

![Criação e envio de CryptoSAF-T](https://1522967966-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MDw8TTZd2CGPYQ2qaoE%2Fsync%2F5f41757a18738ead02e0289d0390b6be2e0bb0f2.svg?generation=1613576856314261\&alt=media)

### Descrição do processo

O ERP de Contabilidade tem de criar **dois ficheiros**: (1) o `SAF-T (PT)` de Contabilidade para efeitos de entrega da IES/DA e (2) o `CryptoSAF-T` a partir do ficheiro anterior.

O CryptoSAF-T tem por base a encriptação da lista de [**elementos**](https://cryptosaft.assoft.org/informacao-tecnica/cryptosaf-t/elementos) referidos na legislação através do algoritmo de chave simétrica `aes-128-ctr`.

{% hint style="danger" %}
Para garantir a autenticidade do ficheiro original é necessário calcular o seu [**checksum**](https://cryptosaft.assoft.org/informacao-tecnica/saf-t-pt/checksum). No entanto, o CryptoSAF-T **deve ser criado a partir do ficheiro original** e não a partir do ficheiro canonizado.
{% endhint %}

{% content-ref url="../../ferramentas/cryptosaf-t-utils" %}
[cryptosaf-t-utils](https://cryptosaft.assoft.org/ferramentas/cryptosaf-t-utils)
{% endcontent-ref %}

Uma vez concluídos todos estes procedimentos o utilizador estará em condições de submeter o ficheiro para efeitos do pré-preenchimento da IES/DA. O envio destes elementos é da competência exclusiva do contabilista da empresa.
