Git tutorial #15 - SHA algorithm
tutorialsยท@juanpchicaยท
0.000 HBDGit tutorial #15 - SHA algorithm
<center> Hello Everybody! ๐ค ๐ค ๐ In this post I explain a little how SHA algorithm works which is responsible for generating the CommitsId in git, and that it is almost impossible to have one of these repeated.  ## SHA (Secure Hash Algorithm) Algorithm developed by NIST and published as federal standard for information processing (FIBS PUB 180); in 1995 a revised version was published as FIBS PUB 180-1 known as SHA-1. ๐ค ๐ค ๐ The algorithm takes as input messages of maximum length of 264 bits that are processed in blocks of 512 bits. ๐ค ๐ค ๐ The algorithm is generated with the following steps ... 1- Fill bits are added to the input message in such a way that it matches: length. The padding consists of a one followed by any zeros that are needed. Although the message already has the desired length, the padding must be performed, so the number of bits in the padding is in the range of 1 to 512 bits. ๐ค ๐ค ๐ 2 - At the output of step 1, a 64-bit block is added that represents the length of the original message before being filled. ๐ค ๐ค ๐ 3- The MD temporary memory, which consists of 160 bits, is initialized and its purpose is to store the intermediate and final results of the scatter function. ๐ค ๐ค ๐ The MD consists of 5 registers (A, B, C, D, E) of 32 bits each, the values with which they are initialized are the following (hexadecimal values): A= 67452301 B= EFCDAB89 C= 98BADCFE D= 10325476 E= C3D2E1F0 4- The message is processed in blocks of 512 bits, each one goes through a module that consists of 4 processing rounds of 20 steps each. ๐ค ๐ค ๐ The rounds have a similar structure, except that each occupies a different primitive logic function (f1, f2, f3 and f4). The input to each round consists of the 512-bit block being processed (Yq) and the 160-bit MD memory, note that each block of 512 bits will update the value of the temporary memory. Each round also makes use of the additive constant Kt, where t indicates one of the 80 steps along the four rounds. 5- Once the L blocks of 512 bits are processed, the summary of the message is the 160 bits of output of the last block. Well that is the operation of this algorithm. Regards! ๐ค ๐ค </center>
๐ juanpchica, anomaly, sillysigi, fyrstikken, btcvenom, hendrix22, pilcrow, newdaily, yogano1, banjo, yogano2, yogano3, yogano4, stx-coin, jennifernash580, stevephill12, davidyoan12, avythomas12, tommyleo123, avilmay, timangle123, pinbrown123, dadapukar, barutygel, zydip123, wikybusegu, sowanyd, cobudiqibe, gaqecyt, cyqys123, qezopiheme, dineroconopcion, yoenelmundo, infocoin, juliocsl21, jcsl21, suespringer605, colinbailey573, kevinkerr457, stephaniemacleod, austinmarshall, mattsmith542, leahbrown715, austinbell768, davyjohn, cesars, welcomesteemit, adriankzjohnson, michaeluh, heidilupalmer, paulaymcdanieljr, oscaradparedes, jeremycndaby, phillipaz, benjamincrjudy, davidwktaylor, danetmsterns, amyastrhjh, anthonyqg, tyroneipphillips, margarethu, kathyptward, bessieeostaten, aaronadgrimes, ronicabibrown, andrewbvbauer, robertjolun, davidpustephen, dendylgrap, levarioisstewart, deborahxd, michaelddspencer, michaelaebumpers, kennethusford, rochellejfponder, benjaminvj, bryanwulivings, tomekanvhaynes, justinibgraham, debradhhall, gordonqpmurray, fredcfkurland, roseppmelville, teshikakbhill, aaronuxguest, nicholasbtcarter, pablonpmoline, monicauddavis, bettyrzjewell, nicholaswx, christopheren, jevonhnhall, brittanynwwalton, heehzkv0, seanluryan4, erikalvaragon, renavdharding, emarydffrederick, wandafrwilliams, luciano157, itzunknown, jakvier, huevos1, djkrad, misteryo69, sevillaespino, breatheonline, tylerdourden, angeluz, azuka2014, fannyvs, forobeta, mabo23, juanca96, laqsking, incolonial, laukemann, criptotendencias, olmorera, foxlobo31, enriquerodriguez, mrgabrielc, jexpro, darkfacexdd, naysayer, onnygabriel, ziosj, elprutest, wealthguru, nicoloko, whatawombat, fkap21, dgaiver, rebaz19, barpicaf, sergiochd, vidalatina, robert-eins, ernick, doblezero, miprimerbitcoin, josgom, joelmontero, aces4all, yungchen1991, dimcoin, endeavorfitness, urielrosdlr, speedcuber, wilbertphysique, llopezr1, zenkly, jmambru, nairo.martinez, gabyen3d, skatitauriazul, alcas92, gsmo, osmi, joelf, adal111, kandy82, pcjhonatan2009, angelusnoctum, playnet, joverxabri, johannstacey, luis10salas, marishenk4, caballerojohanes, joseforo, yoile, peovvelo, jeanjiru, mamasusa, cijarovi, dualreso, zuyaruhe, carlosalrian, danielalhita, edgargimagi, cesarrodriare, sandramilemaca, eliasfarfanlo, maryelcidacama, johnathanmoca, luzvelaesco, jhiostongely, hainover, criptoseries, ronyaquino, diegorodriguez, alexicp, silvabrothers, onofre, waltererick, creeresganar, loboferoz, vanessagaviria, cristian-mesa, freecreative, alejandropm, gamersnews, glosarlo, jessymg, earningsonlineve, h2kgraphy, caracolveloz, jhoshua1144, bootylab, kaotics, alexmorenoec, morinjesus, makemoneynow, dharmavir, criptoinfo, pedrolopez, luming, kodevijaykumar, mayur007, andysmancave, fahdtuto, alejrodven, goarellano30, rosicreative, chukwudidaniel, arturoalex00, xusayz, elsociooficial, mariostucablog, guille2509, elkrat14, holadeivi, jacksonmil980, stevearticlepro, greatness96, jupiter5, adamedmond, juaniev, saleg25, xavinovilla, mahmod, samlogan, felix2010, andresloorv, am24it, edmradiovzla, acehfood, theneanic, azzedine221, owyea, klambo, jeha7, azzedin, ilberch, raafaeelloo, campeonestf, chrispontiun, blazed, jhonathan, kaib, fredy12345, kinimusic26, mariaelalci, cristoguagua, adinoshedi, carlospzo, rohit99, yassersb, jumafegue, yipajure, dexihebe, jecadimo, doaltoge, paolocal, soalcoar, luanampe, luisenbaza, destsabe, beamdico, habuspe, edalpigo, wialgueca, edesticegui, crishecas, judaregu, mafealal, hozcas.tech, adoro, lucia1961, del-sur, okol, sinjefe, edumichel, jhonrodriguez, reiko, lobosvisionarios, juancalenno7, chrismma1, edgefinances, akiltrade, markwild, jhotajay, daisel, exitoreal, nestorvp, ultra-mad, romarioqh, harumisun, anandrex, jl4x4, pelucadepayaso, deepmax, thepablo09, miltonventure, santiago22, palerider, soyandresco, sakifa-rose, binislam, opuahmed, rakib123, cointraveler, luise, juguive, voltry3, elgordo, eloyibarra, elechuzo, goldygoody, dsaud, rocriptotrading, amari2205, villa2205, jearo54, ferodrirodri, thepancake07, damamasu, carc777, mariafsm00, withriyel, basantmahali, samwaf, minnowsupport, endaksi1, edrivegom, raymondspeaks, stephen.king989, allyouneedtoknow, steemprentice, pomperipossa, libertylol, sixexgames, humoalex, decibel, jhagi.bhai, gindor, whatamidoing, shawnfishbit, quincho, timbalabuch, pusteblume, cryptohustler, n1kofi, gamerveda, professorbromide, markfitzgerald, jhermanbeans, valth, businesswri, numpypython, beng05, qwasert, taica, tinashe, ch00fy, myday, nesbitt, bluchr, pharesim,