Ang SHA-1 (maikli para sa Secure Hash Algorithm 1) ay isa sa ilang cryptographic hash function.
Ito ay kadalasang ginagamit upang i-verify na ang isang file ay hindi nabago. Ginagawa ito sa pamamagitan ng paggawa ng checksum bago mailipat ang file, at muli kapag naabot na nito ang patutunguhan.
Ang ipinadalang file ay maituturing lamang na tunay kung magkapareho ang mga checksum.
Kasaysayan at Mga Kahinaan ng SHA Hash Function
Ang SHA-1 ay isa lamang sa apat na algorithm sa pamilya ng Secure Hash Algorithm (SHA). Karamihan ay binuo ng US National Security Agency (NSA) at inilathala ng National Institute of Standards and Technology (NIST).
Ang SHA-0 ay may 160-bit na message digest (hash value) na laki at ito ang unang bersyon ng algorithm na ito. Ang mga hash value nito ay 40 digit ang haba. Na-publish ito sa ilalim ng pangalang "SHA" noong 1993 ngunit hindi ginamit sa maraming application dahil mabilis itong napalitan ng SHA-1 noong 1995 dahil sa isang depekto sa seguridad.
Ang SHA-1 ay ang pangalawang pag-ulit ng cryptographic na hash function na ito. Ang isang ito ay mayroon ding message digest na 160 bits at hinahangad na pataasin ang seguridad sa pamamagitan ng pag-aayos ng isang kahinaan na natagpuan sa SHA-0. Gayunpaman, noong 2005, natagpuan din ang SHA-1 na hindi secure.
Kapag nakita ang mga kahinaan ng cryptographic sa SHA-1, gumawa ng pahayag ang NIST noong 2006 na hinihikayat ang mga pederal na ahensya na gamitin ang SHA-2 sa taong 2010. Ang SHA-2 ay mas malakas kaysa sa SHA-1, at ginawa ang mga pag-atake laban sa SHA-2 ay malabong mangyari sa kasalukuyang kapangyarihan sa pag-compute.
Hindi lamang ang mga pederal na ahensya, ngunit kahit na ang mga kumpanya tulad ng Google, Mozilla, at Microsoft ay nagsimula na ang lahat ng mga plano na huminto sa pagtanggap ng mga SHA-1 SSL certificate o na-block na ang mga ganitong uri ng mga page mula sa pag-load.
May patunay ang Google sa isang banggaan ng SHA-1 na ginagawang hindi maaasahan ang paraang ito para sa pagbuo ng mga natatanging checksum, patungkol man ito sa isang password, file, o anumang iba pang piraso ng data. Maaari kang mag-download ng dalawang natatanging PDF file mula sa SHAttered upang makita kung paano ito gumagana. Gumamit ng SHA-1 calculator mula sa ibaba ng page na ito para buuin ang checksum para sa dalawa, at makikita mo na ang value ay eksaktong pareho kahit na naglalaman ang mga ito ng magkaibang data.
SHA-2 at SHA-3
Na-publish ang SHA-2 noong 2001, ilang taon pagkatapos ng SHA-1. Kabilang dito ang anim na hash function na may iba't ibang laki ng digest: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, at SHA-512/256.
Binuo ng mga non-NSA designer at inilabas ng NIST noong 2015, ay isa pang miyembro ng pamilya ng Secure Hash Algorithm, na tinatawag na SHA-3 (dating Keccak).
Ang SHA-3 ay hindi nilalayong palitan ang SHA-2 tulad ng mga nakaraang bersyon na nilayon upang palitan ang mga naunang bersyon. Sa halip, binuo ito bilang isa pang alternatibo sa SHA-0, SHA-1, at MD5.
Paano Ginagamit ang SHA-1?
Isang halimbawa sa totoong mundo kung saan maaaring gamitin ang SHA-1 ay kapag inilalagay mo ang iyong password sa pahina ng pag-login ng isang website. Bagama't nangyayari ito sa background nang hindi mo nalalaman, maaaring ito ang paraan na ginagamit ng isang website para secure na i-verify na ang iyong password ay totoo.
Sa halimbawang ito, isipin na sinusubukan mong mag-log in sa isang website na madalas mong binibisita. Sa tuwing hihilingin mong mag-log on, kailangan mong ilagay ang iyong username at password.
Kung ang website ay gumagamit ng SHA-1 cryptographic hash function, nangangahulugan ito na ang iyong password ay ginawang checksum pagkatapos mo itong ilagay. Ang checksum na iyon ay ihahambing sa checksum na nakaimbak sa website na nauugnay sa iyong kasalukuyang password, kung hindi mo pa binago ang iyong password mula noong nag-sign up ka o kung binago mo lang ito ilang sandali ang nakalipas. Kung magkatugma ang dalawa, bibigyan ka ng access; kung hindi nila gagawin, sasabihin sa iyo na mali ang password.
Ang isa pang halimbawa kung saan maaaring gamitin ang hash function na ito ay para sa pag-verify ng file. Ang ilang website ay magbibigay ng SHA-1 checksum ng file sa pahina ng pag-download upang kapag na-download mo ang file, maaari mong suriin ang checksum para sa iyong sarili upang matiyak na ang na-download na file ay kapareho ng nais mong i-download.
Maaari kang magtaka kung saan ang tunay na paggamit sa ganitong uri ng pag-verify. Isaalang-alang ang isang senaryo kung saan alam mo ang SHA-1 checksum ng isang file mula sa website ng developer, ngunit gusto mong i-download ang parehong bersyon mula sa ibang website. Pagkatapos ay maaari mong buuin ang SHA-1 checksum para sa iyong pag-download at ihambing ito sa tunay na checksum mula sa pahina ng pag-download ng developer.
Kung magkaiba ang dalawa, hindi lang ito nangangahulugan na hindi magkapareho ang mga nilalaman ng file, ngunit maaaring may nakatagong malware sa file, maaaring masira ang data at magdulot ng pinsala sa mga file ng iyong computer, ang file ay hindi anumang bagay na nauugnay sa totoong file, atbp.
Gayunpaman, maaari rin itong mangahulugan na ang isang file ay kumakatawan sa isang mas lumang bersyon ng program kaysa sa isa pa, dahil kahit na ang maliit na pagbabago ay bubuo ng natatanging checksum value.
Maaari mo ring tingnan kung magkapareho ang dalawang file kung nag-i-install ka ng service pack o iba pang program o pag-update dahil may mga problema kung nawawala ang ilan sa mga file habang nag-i-install.
SHA-1 Checksum Calculators
Maaaring gamitin ang isang espesyal na uri ng calculator upang matukoy ang checksum ng isang file o grupo ng mga character.
Halimbawa, ang SHA1 Online at SHA1 Hash Generator ay mga libreng online na tool na maaaring bumuo ng SHA-1 checksum ng anumang pangkat ng text, simbolo, at/o numero.
Ang mga website na iyon, halimbawa, ay bubuo ng pares na ito:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba