- Thread starter
- #41
Nilibadilisha hddI mean kama device ulokua nayo mwanzo ulokua unatumia kwenye crypto kama hdd yake ipo just tumia iyo kupata izo key mkuu ndo simpo way maana unaweza kua umesave sehemu ambayo hukumbuki ni wapi kama kwenye cloud umekosa what next
Nashukuru sana mkuu kwa muda wako na kwa jibu lako la kina. Nasikia siku quantum computers zikifikia level ya 3000 qubits zitaweza kufanya decryption bila shida. But this will happen some years to come.Em acheni utani kwanza tuongee facts.
Encryption na hashing ni vitu viwili tofauti kabisa.
HASHING algorithms zinatengeneza kitu kama signature hivi. Kuna hashing. Input kwenye hashing alg ni content ama file kisha inafanya some sort of mapping na kukutengenezea signature(hash) ambayo itabadilika endapo hata content ndg tu ikibadilishwa kutoka kwenye original input. Mfano kama mm na ww tunatumiana data, naweza kukutumia data kwenye network ambayo sio salama, tuseme kupitia http protocol, ili nihakikishe unapata exact content ninayotaka uipate basi nitahash content kisha nakutumia data na hash yake. Data zikifika upande wako nawe utahash uone kama unapata signature ileile. Kama data zilibadilishwa basi hautopata signature ileile.
kwa kifupi ni kwamba "HASH CODE WILL ALWAYS REMAIN THE SAME AS LONG AS DATA IS THE SAME"
Sasa kwa wanaotumia hashing kutunza passwords za users kwenye database wanakua wanaongezea kitu kinaitwa salting ili kufanya 2 passwords zisilete hash code moja. Actually salting ni kuongeza some random characters kwenye input ili hashcode ibadilike. Mfano mie natumia password JF2020MAX na wewe ukatumia hiohio. hapo salting itaongeza random characters kwenye pwd hizo mbili na mwisho wa siku utakuta pwd yangu inayokua hashed ni JF2020MAXfghhsds$ af na yako inakua JF2020MAXggfdfsh. Kama ww ni coder wa php kuna functions za password_hash(); na password_verify(); zinarahisisha sana maisha ikifikia wakati wa hashing.
Mwisho kabisa huwezi tumia hash kupata original content hata siku moja, unless ufanye kubahatisha bahatisha, technically we call it BRUTE-FORCING
Kwa upande wa public-key & private-key encryption kitu kinachofanyika ni kutengeneza keys ambazo zinatumika kulock content(not exactly what it means lkn kama ni mgeni hio itakusaidia kuelewa). Hio inamaanisha ukishapata keys unaweza kuona na kumodify contents.
Sasa hii encryption inavyofanyika ni simple tu lkn kui-undo ndio kazi. Process nzima inategemea matumizi ya prime numbers(we call them namba tasa).
Mfano nikizidisha namba tasa (prime) mbili ambazo ni X na Y nikakupa product yake tu na nikakwambia utumie product yake kupata hizo namba mbili lazima kuna ugumu utaupata. Kama zikiwa ni namba shufa au witiri unaweza kupata jibu kiurahisi lkn kama ni tasa, aisee utasumbuka.
Check this.... Nambie 221 unaipata kwa kuzidisha namba zipi.??
actually ni namba mbili tu ndo unaweza zizidisha na ukapata 221 ambazo ni 13 na 17. Ukishajua namba mojawapo ndipo unaweza kupata namba ya pili. Lkn kadiri unavyotumia prime numbers kubwa zaidi ndipo inavyokua ngumu kuguess. Jaribu tena kutafuta namba 2 ambazo ukizizidisha utapata 39203(kama haujawahi kukutana nayo am sure it will take you a day or 2).
So kiufupi kabisa ni kwamba kinachofanyika kwenye basic encryption ni kutengeneza product kutoka kwenye 2 high, randomly selected prime numbers kwa kuwa product yake ni almost impossible(sio completely impossible but almost impossible) kuipata.
Sitoongelea kiundani zaidi coz algorithms zake zinazidi kuwa complicated jinsi unavyozichimba zaidi.
Ila kadiri ya swali lako. Ni kwamba kuna uwezekano wa kuwepo na njia ya kubreak hizo Public-key & Private key encryption kwa sababu kuna problem kwenye computer science inaitwa P vs NP bado haijafanyiwa utatuzi. Kama utatuzi ukitikea na ikagundulika kuwa P vs NP is TRUE basi ndio utakua mwisho wa hii public key encryption na Security technologies itabidi zitengenezwe upya. Sitooongelea kuhusu P vs NP lkn kuna uzi fln humu nilianzisha kuhusu hio kitu unaweza ufatilia au ukagoogle kupata maelezo bora zaidi.
I stand to be corrected but with FACTS.
peace......