Seed Phrase? Pagbuo at Gamit ng Mnemonic Code sa HD Wallets
Ang paggamit ng mnemonic code ay iminungkahi sa BIP-0039 at naging standard na sa mga hierarchichal determinisitic (HD) wallets. Ito ay naglalayong mapadali ang pagtatago ng seed ng iyong wallet sa paraang mas kayang tandaan ng tao. Kumpara sa pagsulat at pagkabisado ng mahabang binary o hexadecimal na anyo ng seed, di hamak na mas madali ang paggamit ng mga pamilyar na salita. Kahit na sabihin mong mahirap pa rin kabisaduhin ang grupo ng 12-24 na salita.
Madalas na tinatawag itong seed phrase. Pero ang mnemonic code ay nagsisilbing representasyon ng entropy na sya pang pagmumulan ng seed. Paano malalaman ang mnemonic code?
Gamit ang CSPRNG ng wallet, kukuha ng entropy ENT na mula 128-256 bits ang haba, na multiple ng 32 bits.
Ang inisyal na halaga ay padadaanin sa SHA-256 para makuha ang checksum CS. Ang checksum ay ang ENT/32 bits sa unahan ng hashed value.
Iduduktong ang CS sa ENT. (Magreresulta ito sa dami ng bits na divisible ng 11)
Tapos ay hahatiin ENT||CS sa tig-11 bits. Ang dami ng tig-11 bits na lupon ay ang dami ng salita sa mnemonic sentence MS. At ang halaga ng bawat 11-bits ay representasyon ng isa sa 2,048 na mga salitang naka index mula 0 hanggang 2047.
Makikita rito ang English word list na rekomendasyon ng BIP-0039: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
Basahin ang kabuuan sa: https://bitcoinbakamo.xyz/archives/593
Pagbuo ng Master Seed at mga Keys sa HD Wallet
Sa Master Seed, binubuo ang seed byte sequence S gamit ang pseudo-random number generator (PRNG). Ang seed byte sequence ay may habang 128 hanggang 512 bits, at 256 bits ang rekomendasyon sa BIP-0032.
Ang randomness na nakukuha ng isang random number generator ay tinatawag na entropy. May ibang wallet na kaya makakuha ng entropy mula sa true random number generator (TRNG). Basta kung hindi man, dapat Cryptographically Secure Pseudo-random Number Generator (CSPRNG). Ang entropy ay nababanggit rin na may kaukulang haba ng bits, gaya ng makikita sa ilustrasyon ng key tree. Kaya baka mapagkamalan mo na ang seed at entropy ay parehas. Hindi. Ang seed ang lumabas na representasyon matapos makakolekta ng entropy ang random number generator.
Pag tapos makapili ng S, dadaan ito sa Hash-based message authentication code (HMAC).
Ipagpatuloy sa: https://bitcoinbakamo.xyz/archives/589
15 taon na ang nakaraan mula nang nabuo ang genesis block ng Bitcoin. Naglalaman ito ng arbitraryong data: 5468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73
Na kapag i convert sa ASCII ay nagsasabing: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" - isang timestamp at nagkataong akmang akmang ulo ng balita sa araw na iyon para sa institusyong maaaring palitan ng #Bitcoin .
GM! Filipino language Bitcoin resource is being developed in our site: https://bitcoinbakamo.xyz
Nabasa mo na ba ito? Madali intindihin ang explanation nya: https://learnmeabitcoin.com/technical/longest-chain
Haha, mahigit 1 taon akong naglaan ng oras para pag-aralan ang Cryptography at maisulat ang kabanata na iyon. Kaya naiintindihan kita :D
Digital Signatures (Digital na Lagda)
Gamit ang kaalaman natin sa public key cryptography at hash functions, maiging pag-usapan na ang digital signatures.
Ang digital signature ay isang numero na nakuha mula sa private key at sa laman ng mensaheng pinipirmahan. Kumbaga, ginamit ang mga katumbas na numero ng private key at mensahe sa kalkulasyon para makuha ang digital signature. Dahil sangkap ang mensahe, ang digital signature ay iba-iba ang halaga sa bawat mensahe. At sa paggamit ng private key, markado ang mensahe ng orihinal na may-ari.
Ang RSA ay maaaring gamitin direkta kung saan ang mensahe ay nakapaloob na rin sa digital signature. Pero lalaktawan natin iyon para mailarawan ang gamit ng hash function sa kombinasyon ng RSA.
Makikita sa ilutsrasyon sa bagong post ang prosesong sumusunod sa PKCS#1. Ang PKCS ay Public-key Cryptography Standards at ang #1 ay ang seksyon nito na naglalatag ng RSA Encryption Standard.
Ipagpatuloy sa bagong blog post: https://bitcoinbakamo.xyz/archives/429
Isang taon na ang aming website. Kaya buti nakatapos nanaman ng isang kabanata. Dito sa Kabanata 4 ay pag-aralan natin ang Pagmamay-ari ng Bitcoin at ang Wallets: https://bitcoinbakamo.xyz/aklat/kabanata-4-pagmamay-ari-ng-bitcoin-at-ang-wallets
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:
RSA
Ang RSA Problem ay ganito:
- Nabibigay ang mga sumusunod:
- May isang integer n, na produkto ng 2 distinct primes p at q
- Isang positive integer e, kung saan ang gcd(e, (p-1)(q-1)) = 1 (base sa Euler phi function ito: gcd(e, ɸ(n)), at
- Integer c
- Humanap ng integer m, kung saan me ≡ c (mod n)
Ang mga kondisyon sa kung ano dapat ang n at e, ay mahalaga para masiguro na ang bawat integer c ∈ {0, 1, 2, …, n-1} ay may katumbas lamang na isang m ∈ {0, 1, 2, …, n-1}, na magpapatotoo sa me ≡ c (mod n). Sa kontexto ng cryptography, importante ito dahil ang ciphertext na may katumbas na numerong c, ay dapat mayroon lamang isang numerong katumbas na m, na syang representasyon ng plaintext/mensahe.
Dalawang algorithm ang pagdadaanan sa paggamit ng RSA: (1) key generation at (2) encryption.
Key generation (paggawa ng susi):Bawat myembro ng komunikasyon ay gagawa ng kanilang RSA public key at private key. Para magawa ito:
1. Kumuha (random generation) ng 2 malaking distinct primes p at q.
2. Kunin ang n = pq at ɸ = (p-1)(q-1)
3. Pumili ng random na integer e, 1 < e < ɸ, kung saan gcd(e,ɸ) = 1.
4. Kalkulahin ang unique integer na d, 1 < d < ɸ, kung saan ed ≡ 1 (mod ɸ). (Bale ang d ay multiplicative inverse ng e modulo ɸ)
5. Ang public key ay (n, e); at ang private key ay d.
RSA Public-key encryption
1. Encryption:
- Kunin ang public key (n, e) ng pagbibigyan ng mensahe.
- Irepresenta ang mensahe sa anyong integer m na napapaloob sa pagitan ng [0, n-1].
- Kalkulahin ang c = m^e mod n.
- Ipadala ang ciphertext c.
2. Decryption: Para makuha ng tagatanggap ang m mula sa c, gagamitin nya ang kanyang private key d sa komputasyong: m = c^d mod n.
Gumagana ito dahil sa Euler at Fermat’s theorem.
- Dahil ang ed ≡ 1 (mod ɸ), merong integer k na kung saan ed = 1 + kɸ.
- Mula sa Fermat’s theorem: m^(p-1) ≡ 1 (mod p)
- I-raise ang magkabilang panig ng congruence sa k(q-1) at i-multiply ng m ang parehas na panig: m^(1+k(p-1)(q-1)) ≡ m (mod p)
- Makikita sa exponent ng m sa kaliwa na ito ay katumbas ng 1 + kɸ = ed. Kaya, med ≡ m (mod p)
- Gayun din ang kalalabasan para sa modulus q, m^(ed) ≡ m (mod q)
- At dahil ang p at q ay distinct primes, mula sa Euler’s theorem, sumusunod na m^(ed) ≡ m (mod n)
- At sa wakas, c^d ≡ (m^e)^d ≡ m (mod n)
Ang galing noh? Para sa impormasyon ng kompyuter, may paraan dapat na irepresenta ang mensahe sa isang ingeter m. Hindi na natin palalawakin dito kung pano yun gagawin.
Ngayon at nakuha mo na ang konsepto, babanggitin lang saglit ang isang paraan ng assymetric cryptography na gamit sa bitcoin. Sa pagkuha ng public key mula sa private key, gumagamit ng Elliptic Curve Digital Signature Algorithm. Digital signature nanaman - may pag-uusapan muna tayong konsepto bago natin ito balikan.
Ngayon naman ay ipapakilala ang isang simple at eleganteng konsepto na makikita sa asymmetric cryptography, na tinatawag ring public-key cryptography. Nabanggit nang bahagya sa ikalawang kabanata ang konsepto nito nung pinag-uusapan ang digital na pitaka.
Ang public-key cryptography ay gumagamit ng 2 susi: pribado (private) at pampubliko (public). Ang public key ay maaaring ipadala sa hindi sikretong daan, tulad ng ciphertext. At ang private key ay nananatili sa isang user lamang.
Gagamitin ng magbibigay (A) ng mensahe ang public key (e) ng pagbibigyan (B) nya, upang mag-encrypt. Ang ciphertext na ipapadala nya ay made-decrypt ng tagatanggap gamit ang private key (d) nito. Ganun din kung kabaliktaran (B—>A) ang mangyayari.
Ang kalamangan ng pamamaraang ito, ay ang isang user ay merong naitatagong susi na kanya lamang. Para maging epektibo, dapat ang relasyon ng public at private key ay: madaling kunin ang public key mula sa private key. Pero, mahirap makuha ang private key mula sa public key. Nasa may-ari ng private key nakasalalay ang pag-iingat nito. Dahil pag ito nawala, sya mismo ay hindi made-decrypt ang ciphertext.
Maihahalintulad ito sa isang baul at lock. Gamit ang baul at nakabukas na lock ni B, ilalagay ni A ang mensahe sa loob, at isasarado, pati ang lock. Kumbaga ang public key ay ang kombinasyon ng bukas na baul at lock. Ang ciphertext ay ang box na nakakandado. At ang susi ni B ang private key. Pagkasara, hindi na mabubuksan ni A ang lock dahil nakay B lamang ang susi.
At magagawa ang konsepto na ito syempre, gamit ang kapangyarihan ng matematika. Marami sa mga public-key cryptography ay base sa konsepto ng integer factorization problem. Ito ang paghahanap ng prime factors ng isang integer. Halimbawa, ang numerong 65 ay may prime factors na 5 x 13. Sa 98: 2 x 72. Walang shortcut sa pagkuha nito. Kailangan mo lang subukan talaga ang mga posibilidad. Habang lumalaki ang numero, mas humihirap, lalo na kung malalaking prime numbers din ang factors ng isang integer.
Isang popular na public-key cipher ay ang RSA. Madalas itong gamit sa mga internet browser at websites sa kombinasyon ng iba pang cryptography. Dahil na rin nagagamit sa digital signatures ang RSA.
Ang RSA ay ipinangalan kina R. Rivest, A. Shamir at L. Adleman. Para matutukan natin ito, maging pamilyar muna sa mga susunod na konsepto ng matematika: konting number theory.
Basahin ang kabuuan sa: https://bitcoinbakamo.xyz/archives/344
Block Cipher
Sa block cipher ginugrupo ang plaintext sa kada bloke, kaya ang susi ay sinlaki lamang ng bloke. Dahil dito, ang susi ay mas maiksi at mas maliit ang memoryang kinakain.
Pwedeng iba ang haba ng bloke ng plaintext sa susi. Pero dadaan pa rin ito sa operasyon kung saan magtutugma ang haba ng susi at blokeng minamanipula. Kumbaga mayroon lamang inisyal na susi.
Kapag ang huling bloke naman ay kapos sa takdang haba, magdadagdag ng bits sa dulo para sumakto. Ang bits na idadagdag ay base sa operasyon ng block cipher; pwedeng puro 0 lang ang pampuno halimbawa. Ang tawag sa operasyong ito ay padding.
Maraming klase ng implementasyon ng block cipher. Para sa pag-aaral ng konsepto nito, gumamit tayo ng simpleng algorithm lamang.
Masyadong mahaba at maraming ilustrasyon para sa Nostr, kaya kailangan mong ituloy rito:
Today, 8/21 is a reminder that Bitcoin is infinity over 21 Million
Stream Cipher
Ang stream cipher ay paraan upang gayahin ang one-time pad sa digital na anyo. Sa halip na gumawa ng isang malaking set, may pamamaraan na ginagamit para ito ay nababago-bago depende sa laki ng impormasyon. Kaya masasabi na ang stream cipher ay nagbabago-bago rin sa oras (time-varying).
Ang pag-encrypt ng mensahe ay ginagawa sa bawat bit. Kumbaga bawat patak ng mensahe ay dumadaan sa encryption.
Halimbawa ng pinaggamitan nito ay video streaming at data sa mga mobile phones.
Simpleng Stream Cipher
Ipakita natin gamit ang maiksing mensahe:
BABA!
Mula sa plaintext, ito ay papalitan natin ng binary:
01000010 01000001 01000010 01000001 00100001
Maari mong tignan dito kung paano nagawa yan: https://www.binaryhexconverter.com/ascii-text-to-binary-converter
Halimbawa, ang keystream na random nakuha ay:
Tama?
Kapag ginawang binary:
01010100 01100001 01101101 01100001 00111111
Pansinin mo ang katumbas na binary ng A at a. Ang MALAKI at maliit na letra ay magkaiba ang katumbas na binary. Magkaiba rin kasi sila ng katumbas na ASCII number.
Ngayon, gamit ang plaintext, keystream at ang konsepto ng exclusive-or, makukuha na natin ang ciphertext:
Plaintext: 01000010 01000001 01000010 01000001 00100001
XOR ( ⨁ bawat bit)
Keystream: 01010100 01100001 01101101 01100001 00111111
Ciphertext: 00010110 00100000 00101111 00100000 00011110
Ang binary ciphertext na nabuo, kapag naging ASCII ay garalgal lamang. Walang ibig sabihin. Subukan mo ilagay yan sa nabanggit na text converter site kanina, at makikita mong walang kahulugan. Kaya dapat magkaroon ng kopya ng susi ang tagatanggap ng mensahe, para maibalik ang ciphertext sa plaintext. Mula sa anyo na binary maibabalik sa ASCII ito. Sa tagatanggap, baliktad lamang ang posisyon ng Ciphertext at Plaintext sa talaan:
Ciphertext 00010110 00100000 00101111 00100000 00011110
XOR ( ⨁ bawat bit)
Keystream 01010100 01100001 01101101 01100001 00111111
Plaintext 01000010 01000001 01000010 01000001 00100001
Ito ay simpleng pagpapakita lamang kung paano ginagamit ang Stream Cipher. Mayroon pang mga komplikasyong idinaragdag upang mas mahirap para sa hackers na mahulaan ang mensahe.
Keystream generator
Gamit ang matematika, makakatipid rin tayo sa memorya ng computer. Sa halip na mag-imbak ng pagkarami-raming impormasyon, gagamitan lang ng formula upang makagawa ng susi pag kailangan. Halimbawa nito ang algorithm na gamit para sa keystream generator.
Depende sa haba ng mensahe, ganun din kahaba ang keystream. Ang keystream generator ay gumagamit ng mas maiksing susi sa umpisa, na syang ginagamit para makabuo ng mahabang susi pang encrypt ng plaintext. Ito ay mainam na paraan para makatipid sa memorya. Ang inisyal na susi ay tinatawag na seed (parang buto na pinagsisibulan).
-----
Kung may naisip kang mga karagdagang eksplanasyon, mag comment lamang sa baba.
Total surveillance. You don't have anything to hide, do you?
https://nostr.build/av/62080be8ee503deb74cdcdb219982b53ae2b008b54f7a46dcb5ee7ef56059a56.mp4
Resist!
Konting dagdag sa kaalaman: Exclusive-or
Pag-usapan muna natin ang konsepto ng Exclusive-or, na madalas gamitin sa isang klase ng symmetric cryptography: stream cipher.
Sa lohika (logic), merong tinatawag na connective. Ito ay function kung saan may input na isa o maraming truth values - bale True at False lang naman pwede - at nagbibigay ng isang truth value bilang output.
Isang uri ng connective ay ang OR. Sa OR, kapag ang kahit isa sa mga input ay True, ang output ay True. Kapag lahat ay False, saka lamang magiging False ang output. Tignan natin sa anyo ng talaan kung paano ginagamit ang OR.
A B A OR B
T T T
T F T
F T T
F F F
Ang mga simbolo ng OR ay: | (A | B), ∪ (A ∪ B), ∨ (A ∨ B)
Mas madalas gamitin o matagpuan ang OR, kaya natin ito binanggit muna. Pag-usapan naman natin ang Exclusive-or na may daglat na XOR.
Sa XOR, ang output ay True kapag isa lamang sa dalawang kondisyon o input ang True. Kapag parehas na False, o parehas na True ang input, ang output ng XOR ay False. Tignan natin sa talaan na ito:
A B A XOR B
T T F
T F T
F T T
F F F
Ang simbolo ng XOR ay: ⊕
Bago tayo umusad, ipakita natin ang XOR sa anyo ng binary: 0 at 1, na syang gamit sa computer science. Sa binary, ang 1 ay True, at ang 0 ay False.
A B A ⊕ B
1 1 0
1 0 1
0 1 1
0 0 0
Mula dito mapag-uusapan na natin ng diretsahan ang stream cipher. Subalit kung bitin ka, dumiretso na sa Kabanata 3! https://bitcoinbakamo.xyz/archives/321
Makabago, o Modern Cryptography - Introduksyon
Tumalon na tayo sa makabago o modern cryptography. Upang maging epektibo ang cryptography sa panahon ng mga computer - mabibilis na computer - kailangan natin ng kapangyarihan ng matematika. Sa katunayan, nahuhulaan ang mga nabanggit na tradisyonal na cipher gamit ang matematika. Pero kailangan natin ng mas akmang solusyong matematika para sa panahon ngayon.
Maaaring hatiin sa dalawang (2) klase ang cryptography: symmetric at asymmetric.
Symmetric - Sa klaseng ito, ang susi gamit para itago ang mensahe ay sya ring susi para mabunyag ito. Kaya ang 2 partido ay dapat alam ang sikreto. Ang mga tradisyonal na cryptography ay symmetric.
Asymmetric - ito ay gumagamit ng pares ng susi: pampubliko (public key) na maaring malaman ng iba, kahit ng mga tsismoso o masamang loob; at pribado (private key) kung saan ang may-ari lang ang dapat makaalam nito. Natatandaan mo yung pinag-usapan natin ukol sa bitcoin wallet at mga transakyon? Ito ang klase ng kriptograpiyang ginagamit sa operasyon nun.
Bibigyan muna kayo ng ideya gamit ang 2 ilustrasyon: https://bitcoinbakamo.xyz/archives/314
Sa symmetric cryptography, ang susi ay alam dapat ng 2 partido. Kaya ang pagpasa ng kaalaman nito ay dapat sa sikretong paraan. Ang ciphertext ang pinapasa sa walang seguridad o pampublikong daan.
Ang pag encrypt at decrypt ay parehas ng konsepto sa tradisyonal na cryptography. Yun lamang, gamit ang kapangyarihan ng matematika at kompyutasyon para maipatupad sa digital na paraan.
Ang asymmetric, na tinatawag ding public-key cryptography, ay gumagamit ng 2 susi: pribado (private) at pampubliko (public). Ang public key ay maaaring ipadala sa hindi sikretong daan, tulad ng ciphertext. At ang private key ay nananatili sa isang user lamang.
Gagamitin ng magbibigay (A) ng mensahe ang public key (e) ng pagbibigyan (B) nya, upang mag-encrypt. Ang ciphertext na ipapadala nya ay made-decrypt ng tagatanggap gamit ang private key (d) nito. Ganun din kung kabaliktaran (B—>A) ang mangyayari.
Sa susunod ay tututukan natin ang Symmetric Cryptography. Subalit gaya ng aming pagpapaalala, maari kang mag-aral na ayon sa iyong kakayahan sa pamamagitan ng pagbasa ng Kabanata 3: https://bitcoinbakamo.xyz/aklat/kabanata-3-cryptography
Simple o Tradisyonal na Cryptography - libang-libang muna
https://bitcoinbakamo.xyz/archives/307
Caesar Cipher
Ito ay isa sa pinakasimpleng anyo ng encryption, na tinatawag ding shift cipher. Ito ay ipinangalan kay Julius Caesar dahil ginamit nya ito sa mga pribadong pag-susulatan.
Ang bawat letra ay binibigyan ng katumbas na ibang letra sa pamamagitan ng pag-usog (shift) ng ilang posisyon base sa pagkakasunud-sunod ng alpabeto.
(Tignan ang naka link na blog para makita ang mga halimbawa.)
Simple Substitution Cipher
Ang susunod na uri ng encryption na titignan natin ay ang tinatawag na simple substitution cipher. Sa pamamaraang ito, ang tagapadala at ang tagatanggap ay may pinagkakasunduang permutasyon ng mga letra. Ibig sabihin nito, pipili ng isa sa mga posibleng pagkakahelera ng letra na itutumbas sa normal na pagkakasunud-sunod ng alpabeto. Mas maigi na random ang cipher. Pero pwede rin gumamit ng susing salita sa unahan, saka ihahanay ang mga natitirang letra na wala doon.
(halimbawa sa link)
Vigenère Cipher
Ang klase ng cipher na ito ay polyalphabetic. Ibig sabihin, nag-iiba iba ang katumbas ng isang letra sa plaintext, papuntang ciphertext.
Ang Vigenère Cipher ay parang kombinasyon ng maraming Caesar Cipher
(halimbawa sa link)
One-time Pad
Sa tradisyonal na cryptography, ang One-time pad ang imposibleng mahulaan basta nasusunod ng tama. Ito ay substitution cipher kung saan:
- Singhaba ng susing salita o cipher ang plaintext
- Ang susing salita ay random talaga ang pagkakakuha
- Ang susing salita ay gamit isang beses lamang. Bawat bagong mensahe ay may ibang susing salita na kukunin.
Makikita mong mahirap gamitin ang One-time pad base sa mga dapat sundin. Lalo na kung mahaba ang mensahe. Malamang hindi mo na kayang tandaan ang random na susing salita. Hindi na ito salita, sa totoo lang.
Marami pang mga tradisyonal na cipher, na hindi na natin pag-uusapan. Makikita na sa paglalaro ng alpabeto umiikot ang mga tradisyonal na cipher. Epektibo sila sa panahon ng manu-mano. Sa panahon ng elektrical at mekanical na mga gamit, madali nalang mahulaan ng masamang loob ang mga cipher, maliban sa One-time pad. Lalo naman sa panahon ng mga computer. Kaso, napakahirap, kung hindi imposible, tandaan ang susing salita o cipher para sa One-time pad. Kailangan isulat o gumamit ng mga storage device. Pero problema mo naman ang maingat na pag-aabot nito.
At paano naman ang matipid na pagpapasahan ng mensahe ng mga taong magkalayo? Kailangan natin ng solusyon na hindi mabigat para sa mga tao ang trabaho ng pagpapasahan ng sikreto, at akma sa panahon ng mga computer at Internet.
Intindihin natin ang Kriptograpiya!
May bagong kabanata na naman sa ating aklat na binubuo! Ito ay tumatalakay sa kriptograpiya – cryptography. Grabe, mahigit isang taong bakanteng oras din ang ginugol para lang mabuo ito.
Tayo ay lumihis pa uli, bago pag-usapan ang bitcoin. Tignan natin ang cryptography (kriptograpiya), na isang mahalagang pag-aaral sa panahon ng impormasyon.
Ang bitcoin ay gumagamit ng konsepto ng public-key cryptography, elliptic curve cryptography, cryptographic hash functions at digital signatures. Teka, ano? Bumalik muna tayo sa basic – mahaba-haba ito!
Ang cryptography ay ang agham at sining ng pagtatago ng mensahe para sa seguridad ng impormasyon. Maaaring sintagal na nito ang sining ng pagsusulat.
Ang konsepto ng cryptography ay:
Plaintext (mensahe) >> Encryption >> Ciphertext (hindi maintindihang anyo) >> Decryption >> Plaintext (mensahe)
Pangangailangan ng Cryptography
Maihahalintulad natin ang mga kondisyon kung san nabuo ang cryptography sa pangangailangan ng pera. Habang lumalaki ang populasyon, dumadami ang hindi mo kakilala. May mga mensahe ka na hindi kelangan malaman ng iba. Sumibol din ang politika, kapangyarihan, digmaan, atbp. na nakadagdag sa pangangailangan at pagsulong ng cryptography dahil sa sitwasyon na marami kang hindi kasundo. Isipin mo ang mga magkakalaban sa digmaan: paano magbibigay ang heneral sa kanyang mga kapitan na nasa ibang lugar, ng mahalagang mensahe na hindi nalalaman ng katunggali?
-----
Pag-usapan natin paunti-unti mula simple hanggang komplikadong antas ang kriptograpiya. Pero tulad ng mga nakaraan, maaari mong diretsuhin ang pag-aaral ayon sa iyong kakayahan, sa pamamagitan ng pagbasa ng buong Kabanata 3! https://bitcoinbakamo.xyz/aklat/kabanata-3-cryptography
At iniimbitahan ang mga bisita sa post na ito na mag-ambag ng kaalaman. Magbigay lang ng komento sa baba.
Kitakits sa ika-10.
