des_crypt(3)

NUME
des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - criptare DES rapidă

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <rpc/des_crypt.h>

[[depreciat]] int ecb_crypt(unsigned int datalen;
                             char *key, char data[datalen],
                             unsigned int datalen, unsigned int mode);
[[depreciat]] int cbc_crypt(unsigned int datalen;
                             char *key, char data[datalen],
                             unsigned int datalen, unsigned int mode,
                             char *ivec);

[[depreciat]] void des_setparity(char *key);

[[depreciat]] int DES_FAILED(int status);

DESCRIERE
ecb_crypt() și cbc_crypt() implementează NBS DES („Data Encryption Standard”, Standardul de criptare a datelor). Aceste rutine sunt mai rapide și mai generaliste decât crypt(3). De asemenea, acestea pot utiliza un dispozitiv electronic DES, dacă acesta este disponibil. ecb_crypt() criptează în modul ECB („Electronic Code Book”, Carte de coduri electronice), care criptează blocuri de date în mod independent. cbc_crypt() criptează în modul CBC („Cipher Block Chaining”, Înlănțuirea blocurilor de cifrare), care înlănțuie blocuri succesive. Modul CBC protejează împotriva inserțiilor, ștergerilor și substituirilor de blocuri. De asemenea, regularitățile din textul clar nu vor apărea în textul cifrat.

Iată cum se utilizează aceste rutine. Primul argument, key, este cheia de criptare de 8 octeți cu paritate. Pentru a ajusta paritatea cheii, care în cazul DES se află în bitul inferior al fiecărui octet, utilizați des_setparity(). Al doilea argument, data, conține datele care urmează să fie criptate sau decriptate. Al treilea argument, datalen, este lungimea în octeți a lui data, care trebuie să fie un multiplu de 8. Al patrulea argument, mode, este format prin combinarea cu ajutorul lui OR a unor lucruri. Pentru direcția de criptare OR în DES_ENCRYPT sau DES_DECRYPT. Pentru criptare software versus criptare hardware, OR trebuie să fie, fie în DES_HW, fie în DES_SW. Dacă este specificat DES_HW și nu există hardware, atunci criptarea este efectuată în software, iar rutina returnează DESERR_NOHWDEVICE. Pentru cbc_crypt(), argumentul ivec este vectorul de inițializare de 8 octeți pentru înlănțuire. Acesta este actualizat cu următorul vector de inițializare la returnare.

VALOAREA RETURNATĂ

DESERR_NONE
    Nicio eroare.

DESERR_NOHWDEVICE
    Criptarea a reușit, dar a fost realizată prin software în loc de dispozitivul/componenta electronică solicitată.

DESERR_HWERROR
    A apărut o eroare în dispozitivul/componenta electronică sau în controlorul acestuia/acesteia.

DESERR_BADPARAM
    Argument greșit pentru rutină.

Având în vedere un rezultat de stare stat, macrocomanda DES_FAILED(stat) este falsă doar pentru primele două stări.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
ecb_crypt(), cbc_crypt(), des_setparity() | Siguranța firelor | MT-Safe

STANDARDE
Niciunul.

ISTORIC
4.3BSD. glibc 2.1. Eliminată în glibc 2.28.

Deoarece acestea utilizează cifrul bloc DES, care nu mai este considerat sigur, aceste funcții au fost eliminate. Aplicațiile ar trebui să treacă la o bibliotecă de criptografie modernă, cum ar fi libgcrypt.

CONSULTAȚI ȘI
des(1), crypt(3), xcrypt(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.