Un cifru este un algoritm care criptează și decriptează datele. Acesta necesită text simplu și o cheie și produce un text cifrat care arată ca un zgomot aleatoriu. Fără cheie, textul cifrat este inutil. Cu cheia, mesajul original revine. Cifrurile există de mii de ani, de la cifrul de deplasare al lui Caesar la mașina Enigma și până la AES-ul modern. Matematica s-a schimbat. Scopul nu.
Cifrurile moderne sunt de două tipuri. Cifrurile simetrice folosesc aceeași cheie pentru criptare și decriptare. AES este standardul, utilizat peste tot, de la criptarea discului la HTTPS. Este rapid și sigur, cu dimensiuni adecvate ale cheilor. Cifrurile de flux, cum ar fi ChaCha20, criptează datele bit cu bit și octet și funcționează bine pe dispozitive fără accelerare hardware. Cifrurile asimetrice folosesc o pereche de chei și rezolvă problema distribuției cheilor, dar sunt mai lente și sunt utilizate mai ales pentru schimbul de chei și semnături. Cifrul este la fel de puternic ca implementarea sa. Cheile slabe, nonce-urile reutilizate și padding-ul defectuos au dus la apariția unor sisteme defecte care foloseau algoritmi puternici. Matematica nu este de obicei punctul slab.
Categorii de cifruri
- Clasic — substituție și transpoziție, importante din punct de vedere istoric
- Bloc simetric — AES, criptează blocuri de dimensiune fixă
- Flux simetric — ChaCha20, criptează datele continue
- Asimetric — RSA, ECC, utilizat pentru schimbul de chei și semnături
Nu inventați propriul cifru. Folosiți algoritmi și biblioteci consacrate care au supraviețuit deceniilor de examinare aprofundată.
Comments
No comments yet. Be the first to share a thought.
Leave a comment