Hashing & Encryption : මොකක්ද මේ දෙකේ වෙනස සහ භාවිතය
🤔 කලින් කිව්ව hashing කියන්නෙ one way street එකක් කියල. එහෙනම් කොහොමද encrypted එකක් decrypt කරන්නෙ? public key එක පාවිච්චි කරල encrypt කරනව & ඒක private key එකකින් decrypt කරනවනම් මේකෙන් කියන්නෙ තොරතුර යවන කෙනා තොරතුර ලබාගන්න කෙනට prive key එක දෙනව කියලද?
නැහැ. Private Key එක කවදාවත් කාටවත් දෙන්නේ නැහැ! ඒක දුන්නොත් ඔයාගේ සේප්පුවේ යතුර හොරාට දුන්නා වැනි වැඩක්.
ඔයාට මෙහෙම හිතුනනම් පටලැවිලා තියෙන්නේ Hashing සහ Encryption කියන දෙක පාවිච්චි වෙන අවස්ථා දෙක. අපි ඒක ලස්සනට වටහාගමු .
පටලැවිල්ල ලිහමු(Hashing vs Encryption)
මේ දෙක තාක්ෂණයන් දෙකක්. බ්ලොක්චේන් එකේදී මේ දෙකම පාවිච්චි වෙනවා, හැබැයි වැඩ දෙකකට.
- Hashing (SHA-256): මේක තමයි ක්ලින් කිව්ව One-way street එක. මේක පාවිච්චි කරන්නේ පණිවිඩයක් හැංගීමට නෙවෙයි, පණිවිඩය වෙනස් කරලා නැති බව (Integrity) තහවුරු කරන්න.
- Asymmetric Encryption: මේක Two-way street එකක්. මේක පාවිච්චි කරන්නේ පණිවිඩයක් හැංගීමට (Privacy) සහ අදාළ කෙනාට විතරක් ඒක කියවන්න ඉඩ දීමට.
Private Key එක දෙන්නේ නැතිව Decrypt කරන්නේ කොහොමද?
මෙන්න මෙතැනදී තමයි Public/Private Key මැජික් එක වෙන්නේ. යවන කෙනා ලබන කෙනාට Private Key එක දෙන්නේ නැහැ.
හිතන්න ඔයා (Sender) මට (Receiver) රහස් පණිවිඩයක් එවන්න හදනවා කියලා:
- මම (Receiver) : මගේ Public Key එක ලෝකෙටම පේන්න දානවා. ඒක නිකම්ම විවෘත කරපු අගුලක් වගේ. හැබැයි ඒකේ යතුර (Private Key එක) මම ගාව විතරයි තියෙන්නේ.
- ඔයා (Sender) : මගේ Public Key(විවෘත ලොක් එක) එක අරගෙන, ඔයාගේ පණිවිඩය ඒකෙන් Encrypt කරනවා(ලොක් කරනව). දැන් ඒ පණිවිඩය කාටවත් කියවන්න බැහැ.
- අතරමැදියා : අන්තර්ජාලය හරහා මේ ලොක් කරපු පණිවිඩය එනකොට ඕනම කෙනෙක්ට ඒක පේනවා. හැබැයි කාගෙවත් ගාව ඒක අරින්න යතුර නැහැ.
- මම (Receiver) : පණිවිඩය මට ලැබුණාම, මා ගාව විතරක් තියෙන මගේ Private Key එක දාලා ඒක Decrypt කරනවා.
පණිවිඩය එවපු ඔයාටවත් ඒක ආපහු අරින්න බැහැ, මොකද ඔයා ගාවත් මගේ Private Key එක (මගේ ලොක් එකේ යතුර) නැති නිසා!
බ්ලොක්චේන් එකට මේක වැදගත් වෙන්නේ ඇයි?
බ්ලොක්චේන් එකක ගොඩක් දේවල් Hashing (One-way) වෙන්නේ මුළු ලෝකෙටම ඒ දත්ත පේන්න ඕන නිසා (Transparency). හැබැයි ඔයා ඒ සල්ලි වල අයිතිකරු කියලා ඔප්පු කරන්න ඔයා පාවිච්චි කරන්නේ ඔයාගේ Private Key එකෙන් කරන Digital Signature එක.
දැන් පැහැදිලිද ඇති? Private Key එක කාටවත් දෙන්නේ නැහැ.ඔයා ලොක් කරන්නේ මගේ Public Key (ලොක්) එකෙන්, මම අරින්නේ මගේ Private Key එකෙන්.
"The Key Difference: Hashing for Integrity, Encryption for Privacy.
බොහෝ දෙනෙකුට පටලැවෙන කරුණක් වන්නේ Hashing සහ Encryption අතර වෙනසයි.Hashing යනු දත්තයක ඇඟිලි සලකුණක් ලබා ගැනීමක් වැනි වන අතර එය ආපසු හැරවිය නොහැක (One-way).මෙය දත්ත විකෘති කිරීම් වැළැක්වීමට යොදා ගනී. නමුත් Encryption යනු දත්තයක් අගුළු දමා පසුව අදාළ යතුර (Private Key) මගින් නැවත විවෘත කළ හැකි (Two-way) ක්රමයකි. බ්ලොක්චේන් ජාලයක ආරක්ෂාව තහවුරු වන්නේ මේ තාක්ෂණයන් දෙකේම සුසංයෝගයෙනි."
🤔 ඔයාට දැන් හිතෙනව ඇති මෙහෙම “එතකොට sha - 246 එක අදාල වෙන්නෙ කොතනටද මේ කිව්ව sender , receiver කතාවට?”
මේ ප්රශ්නය ඔයාටත් ඇති උනානම් ඔයා මේ article එක අවබෝධයෙන් කියවන කෙනෙක්. මෙතැනදී තමයි ගොඩක් අයට මේ තාක්ෂණයන් දෙක පටලැවෙන්නේ. මම මේක හරිම සරලව ලියුම් කවරයක උදාහරණයෙන් පැහැදිලි කරන්නම්.
ඔයා (Sender) මට (Receiver) Bitcoin යවනකොට SHA-256 සහ Public/Private Keys කියන දෙකම එකවර වැඩ කරනවා.
අපි බලමු බ්ලොක්චේන් එකක මේ දෙක පාවිච්චි වෙන තැන්.
SHA-256 පාවිච්චි වෙන්නේ මුද්රා තැබීමට (Sealing the Box).
SHA-256 අදාළ වෙන්නේ ගනුදෙනුවේ දත්ත ආරක්ෂා කරන්න. ඔයා 10 BTC මට එවනවා කියලා ලියන පණිවිඩය, SHA-256 හරහා හෑෂ් (Hash) කරලා ඒකට "ඩිජිටල් ඇඟිලි සලකුණක්" හදනවා. මේක කරන්නේ ඒ ගනුදෙනුවේ තියෙන අංක හෝ දත්ත කවුරුහරි අතරමැදදී වෙනස් කළොත් ඒක හොයාගන්න. SHA-256 වල කාර්යය වෙන්නෙ ගනුදෙනුවේ "Integrity" එක (නිවැරදි බව) පරීක්ෂා කිරීම.
Public/Private Keys පාවිච්චි වෙන්නේ "අයිතිය තහවුරු කිරීමට (Ownership & Access).
මෙන්න මෙතැනදී තමයි ඔයා මට BTC එවන්නේ. ඔයා (Sender) ඔයාගේ Private Key එක පාවිච්චි කරලා අර SHA-256 වලින් හදපු Hash එකට "අත්සනක්" (Digital Signature එකක්) දානවා. ඒකෙන් ලෝකෙට ඔප්පු වෙනවා මේ සල්ලි යවන්නේ ඇත්තටම ඔයාමයි කියලා.
මගේ(Receiver ගෙ) Public Key එක (Wallet Address එක) තමයි ඔයා "සල්ලි ලැබිය යුතු පුද්ගලයා" විදිහට පාවිච්චි කරන්නේ. මම මගේ Private Key එක පාවිච්චි කරලා තමයි ඒ සල්ලි පස්සේ කාලෙක වියදම් කරන්නේ.
හිතන්න ඔයා මට ලියුමක් එවනවා කියලා.
- ඔයා ලියුම ලියලා ඒකේ SHA-256 සීල් එකක් ගහනවා (මේකෙන් ලියුම වෙනස් කරලා නැති බව තහවුරු වෙනවා).
- ඔයා ඒ සීල් එක උඩ ඔයාගේ Digital Signature එක දානවා (මේකෙන් ඔයාමයි ලියුම එව්වේ කියලා තහවුරු වෙනවා).
- ඔයා ඒ ලියුම මගේ Address එකට (Public Key එකට) එවනවා.
- මම මගේ යතුරෙන් (Private Key) ඒ ලියුම කියවලා සල්ලි භාරගන්නවා.
SHA-256 කියන්නේ සල්ලි යවන "ක්රමය" නෙවෙයි, ඒ යවන සල්ලි වල "විස්තර" වෙනස් කරන්න බැරි වෙන්න දාන ආරක්ෂක අගුලයක්.
Keys කියන්නේ ඒ සල්ලි වල "අයිතිකරු" කවුද කියලා තීරණය කරන යතුරු.
"The Duo: How Hashing and Keys Protect Your Bitcoin.
බිට්කොයින් ගනුදෙනුවක් ආරක්ෂිත වන්නේ තාක්ෂණයන් දෙකක එකතුවෙනි. SHA-256 Hashing මගින් ගනුදෙනුවේ විස්තර විකෘති කිරීම වළක්වන අතර (Integrity), Asymmetric Cryptography (Public/Private Keys) මගින් එම ගනුදෙනුවේ අයිතිය සහ ආරක්ෂාව තහවුරු කරයි (Authentication). මේ නිසා බිට්කොයින් ජාලය තුළ අතරමැදියෙකු නොමැතිව වුවද, ඉතාමත් විශ්වාසදායී ලෙස වත්කම් හුවමාරු කරගත හැකිය."
Comments
Post a Comment