ENCRYPT()
DSQL, PSQL
ENCRYPT (input
[USING <algorithm>] [MODE <mode>]
KEY key
[IV iv] [<ctr_type>] [CTR_LENGTH ctr_length]
[COUNTER initial_counter] )
<algorithm> ::= <block_cipher> | <stream_cipher>
<block_cipher> ::=
AES | ANUBIS | BLOWFISH | KHAZAD | RC5
| RC6 | SAFER+ | TWOFISH | XTEA
<stream_cipher> ::= CHACHA20 | RC4 | SOBER128
<mode> ::= CBC | CFB | CTR | ECB | OFB
<ctr_type> ::= CTR_BIG_ENDIAN | CTR_LITTLE_ENDIAN
| Paramètre | Description |
|---|---|
input |
Une expression de type chaîne ou |
algorithm |
Algorithme de cryptage. Les algorithmes de bloc et de flux sont pris en charge. |
mode |
Mode de chiffrement. Obligatoire pour les algorithmes de chiffrement par blocs. |
key |
Clé de cryptage. |
iv |
Vecteur d’initialisation (IV). Doit être spécifié pour tous les ciphers de bloc sauf |
ctr_type |
Ordre des octets du compteur. Ne peut être spécifié qu’en mode |
ctr_length |
Longueur du compteur en octets. Ne peut être spécifié qu’en mode |
initial_counter |
Valeur initiale du compteur. Ne peut être spécifiée que pour l’algorithme |
BLOB ou VARBINARY.
La fonction ENCRYPT permet de crypter des données en utilisant un chiffrement symétrique.
|
Note
|
|
Les caractéristiques des différents algorithmes et modes dépassent le cadre de ce guide linguistique.
| Algorithme | Taille de la clé (octet) | Taille du bloc (octet) | Note |
|---|---|---|---|
Cryptage par blocs |
|||
|
16, 24, 32 |
16 |
|
|
16 - 40, par incréments 4 |
16 |
|
|
8 - 56 |
8 |
|
|
16 |
8 |
|
|
8 - 128 |
8 |
|
|
8 - 128 |
16 |
|
|
16, 24, 32 |
16 |
|
|
16, 24, 32 |
16 |
|
|
16 |
8 |
|
Cryptage en ligne |
|||
|
16, 32 |
1 |
La taille (IV) est de 8 ou 12 octets. Pour la taille 8, initial_counter est un entier de 64 bits, pour la taille 12, c’est un entier de 32 bits. |
|
5 - 256 |
1 |
|
|
4x |
1 |
La taille (IV) est de 4y octets, la longueur est indépendante de la taille de la clé. |
ENCRYPTselect encrypt('897897' using sober128 key 'AbcdAbcdAbcdAbcd' iv '01234567')
from rdb$database;