Symmetric Key Encryption vs Public Key Encryption
Ang Cryptography ay ang pag-aaral ng pagtatago ng impormasyon, at ginagamit ito kapag nakikipag-usap sa isang hindi pinagkakatiwalaang medium gaya ng internet, kung saan kailangang protektahan ang impormasyon mula sa ibang mga third party. Nakatuon ang modernong cryptography sa pagbuo ng mga cryptographic algorithm na maaaring mag-encrypt ng data upang mahirap masira ng isang kalaban dahil sa computational hardness (samakatuwid ay hindi masira sa pamamagitan ng praktikal na paraan). Gumagamit ang pag-encrypt ng algorithm na tinatawag na cipher upang i-encrypt ang data at maaari lamang itong i-decrypt gamit ang isang espesyal na key. Ang naka-encrypt na impormasyon ay kilala bilang ciphertext at ang proseso ng pagkuha ng orihinal na impormasyon (plaintext) mula sa ciphertext ay kilala bilang decryption. Dalawa sa malawakang ginagamit na paraan ng pag-encrypt ay Symmetric Key Encryption at Public Key Encryption. Ang symmetric key cryptography ay nagsasangkot ng mga pamamaraan ng pag-encrypt, kung saan ang nagpadala at ang receiver ay nagbabahagi ng parehong key na ginamit upang i-encrypt ang data. Sa Public key cryptography, dalawang magkaiba ngunit nauugnay sa matematika na key ang ginagamit.
Ano ang Symmetric Key Encryption?
In Symmetric Key Encryption (kilala rin bilang secret key, single key, shared key, one key o private key encryption), parehong ibinabahagi ng nagpadala at ng receiver ang parehong key na ginamit para sa parehong pag-encrypt at pag-decryption ng data. Sa katunayan, ang dalawang susi ay maaaring magkapareho o walang gaanong kaugnayan (ibig sabihin, mayroong isang napaka-simpleng pagbabagong kinakailangan upang pumunta sa pagitan ng dalawa). Sa totoong buhay na paggamit, ang isang lihim ay ibinabahagi ng dalawa o higit pang mga partido na maaaring magamit para sa pagpapanatili ng isang pribadong link para sa komunikasyon. Ang AES (Advanced Encryption Standard) ay isang napakasikat na algorithm, na kabilang sa pamilya ng mga simetriko na key encryption algorithm.
Ano ang Public Key Encryption?
Sa Public Key Encryption, dalawang magkaibang key ngunit nauugnay sa matematika ang ginagamit. Ang pag-encrypt ng pampublikong key ay nag-e-encrypt ng data gamit ang pampublikong susi ng tatanggap, at hindi ito maaaring i-decrypt nang hindi gumagamit ng katugmang pribadong key. Sa madaling salita, kailangan mo ng isang key para i-lock (i-encrypt ang plaintext) at isa pang key para i-unlock (i-decrypt ang cypertext). Ang mahalagang bagay ay ang isang susi ay hindi maaaring gamitin sa lugar ng isa pa. Depende sa kung aling key ang nai-publish, maaaring gamitin ang public key encryption para sa dalawang layunin. Kung ang locking key ay ginawang pampubliko, ang system na ito ay maaaring gamitin ng sinuman upang magpadala ng pribadong komunikasyon sa may hawak ng unlocking key. Kung ito ay kabaligtaran, ginagawang posible ng system na i-verify ang mga dokumentong naka-lock ng may-ari. Ang pampublikong key encryption ay isang asymmetric key algorithm. Ngunit ang ilang asymmetric key algorithm lang ang may espesyal na katangian na hindi maihayag ang isang key na alam ng isa. Kaya, ang mga asymmetric key algorithm na may ganitong espesyal na property ay tinatawag na public key encryption algorithm.
Ano ang pagkakaiba ng Symmetric Key Encryption at Public Key Encryption?
Ang pangunahing pagkakaiba sa pagitan ng symmetric key encryption at public key encryption ay ang katotohanan na ang simetriko na key encryption ay gumagamit ng parehong (pribado, lihim) na key para sa encryption/decryption, habang ang pampublikong key encryption ay gumagamit ng parehong pampubliko at pribadong key. Dapat malaman ng parehong partido ang susi sa symmetric key encryption, habang walang ganoong kinakailangan para sa public key encryption. Lamang, alinman sa isa sa mga susi ay kilala ng dalawang partido sa pampublikong key encryption. Dahil inaalis nito ang pangangailangang ibahagi ang iyong pribadong key (tulad ng sa symmetric key encryption) at ang panganib na makompromiso ito, ang pampublikong key encryption ay maaaring ituring na mas secure sa bagay na ito.
Ngunit ang isang malaking kawalan ng public key encryption ay ito ay maraming beses na mas mabagal kaysa sa simetriko na key encryption. Kaya, ang symmetric key encryption ay maaaring mas mahusay para sa pag-encrypt ng malaking halaga ng data. Higit pa rito, ang mga public key encryption algorithm ay dapat gumamit ng medyo mas malakas na key kaysa sa simetriko na key encryption para makamit ang parehong lakas (sa simpleng dahilan na ang isang key ay ginawang pampubliko sa public key cryptography).