Ang malaking tulong na Cryptographic Hash Functions
Ang cryptographic hash function ay hango sa konsepto ng hash function pero may mas pinaigting na mga pangagailangan upang magamit bilang sandata sa proteksyon ng mga data.
Ang hash function ay ang pag mapa ng mga binary strings na kahit ano ang haba, papunta sa binary strings na may nakapirming haba. Halimbawa, isa sa gamit sa operasyon ng bitcoin ay ang (Secure Hash Algorithm) SHA-256. Ito ay may 256 bits na output, kaya kahit ang input ay blangko lang, isang letra, salita, pangungusap, o talata ang haba: 256 bits pa rin ang output.
Ang pagmamapa sa kontexto ng kriptograpiya ay ang komputasyon sa pagmamanipula ng input, gamit ang iba-ibang operasyon. Ang mga ito ay padding, permutasyon, pagpalit-palit ng posisyon ng bits, lohika, modular arithmetic atbp., depende sa nasasaad sa algorithm ng hash function. Maihahalintulad ito sa block cipher, na may iba-ibang operasyon na ginagamit sa input bits para maiba anyo ng output. Sa katunayan, may mga hash functions na base sa block cipher ang operasyon.
Naaalala mo ang diskusyon tungkol sa bitcoin wallets? Gumagamit iyon ng cryptographic hash function upang makagawa ng bitcoin address. Ginagamit din ang hashing para sa proof-of-work, sa paggawa ng header ng mga bloke ng transaksyon, at sa paggastos ng bitcoin.
Ang hash function na gamit ay kailangang may sapat na seguridad upang:
Mula sa isang hash/output, napakahirap at hindi na praktikal para mahulaan ang input. One-way hash function kumbaga - sa isang direksyon lang sya madaling kalkulahin (input —> output). Madali syempre para sa kompyuter, kasi matagal masyado pag manu-mano.
Maiwasan ang collision. Ito ay ang pagkakaroon ng parehas na output ng magkaibang input. Ang bitcoin address ng mga tao dapat ay magkakaiba. Ang mga block headers ng blockchain syempre dapat iba-iba. At ang paggastos ng bitcoin ay para lamang dapat sa nakasaad na may-ari.
Basahin ang siksik na diskusyon dito:
https://bitcoinbakamo.xyz/archives/361