[{"data":1,"prerenderedAt":606},["ShallowReactive",2],{"project-30244534":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":82,"maker_in_thread":177,"shape":187,"grid":191,"attempts":567,"same_week":568,"maker_shows":40,"maker_hidden":598,"reader_version":599,"card":600},"30244534","SHA-256 explained step-by-step visually","title","Show HN: SHA-256 explained step-by-step visually","https:\u002F\u002Fsha256algorithm.com\u002F","sha256algorithm.com","manceraio",1644240671,2022,1241,137,6,2570,1,"legend","learning_science","cryptography education visualization","web_app",[23,24,25,26,27],"sha-256","hash function","cryptography visualization","step by step","education","loved",0.423,{"positive":31,"neutral":32,"mixed":17,"critical":33},18,14,3,36,{"docs":36,"execution":39,"idea":41,"design":42},{"positive":37,"critical":38},4,0,{"positive":40,"critical":38},2,{"positive":17,"critical":17},{"positive":43,"critical":40},9,[45,45,17,38,38,38,38,38,38,38,33,33,38,38,33,45,38,33,17,38,38,38,38,38,33,38,38,45,33,45,38,38,45,45,45,38,38,45,45,45],5,null,{"problem":48,"audience":59,"pricing":46,"motivation":64,"time_to_build":46,"stack":68,"openness":79,"stage":80,"team_size":81},{"value":49,"source":50,"evidence":51},"Hard to grasp how SHA-256 works internally","inferred",[52,56],{"id":53,"by":54,"text":55},"30247100","oconnor663","Oh this is great. When we taught SHA-256 last semester, we linked to this YouTube video: https:\u002F\u002Fyoutu.be\u002Ff9EbD6iY9zI. Next time we do it, we'll probably link to both. Having…",{"id":57,"by":10,"text":58},"30247472","Thanks for the feedback and I am glad you'll use it for teaching (which was the main goal of this project)! The padding part it's briefly explained on the \"dynamic\" notes on the…",{"value":60,"source":61,"evidence":62},"Students and developers learning cryptography","maker",[63],{"id":57,"by":10,"text":58},{"value":65,"source":61,"evidence":66},"Built primarily for teaching cryptography",[67],{"id":57,"by":10,"text":58},[69,75],{"value":70,"source":61,"evidence":71},"JavaScript",[72],{"id":73,"by":10,"text":74},"30247591","Thanks :) I first implemented sha256 in js to understand its inner workings. Then I started displaying its variables with react and adding this stepped mechanism. Finally, I…",{"value":76,"source":61,"evidence":77},"React",[78],{"id":73,"by":10,"text":74},"open_source","launched","unknown",{"praise":83,"objections":108,"requests":125,"questions":141,"alternatives":155},[84,104],{"value":85,"source":86,"evidence":87},"Clear, polished visualization that aids understanding","commenter",[88,92,96,100],{"id":89,"by":90,"text":91},"30245634","DJPocari","This is fantastic. I once implemented SHA-256 in Google Sheets to visualize it, but it had horrible performance compared to this. This is the best visualization I've seen yet.",{"id":93,"by":94,"text":95},"30247809","jonathanyc","I love single-purpose websites like this that put a potentially complex implementation behind an elegantly simple interface. This website’s design and styling are pretty too :)…",{"id":97,"by":98,"text":99},"30245340","seumars","Fantastic presentation! The utility functions from the source code are just as useful.",{"id":101,"by":102,"text":103},"30254080","abrookewood","Looks fantastic, but the only thing missing is why each step is done.",{"value":105,"source":86,"evidence":106},"Useful for teaching",[107],{"id":53,"by":54,"text":55},[109,114,118],{"value":110,"source":86,"evidence":111},"Padding and chunk chaining are not shown",[112,113],{"id":53,"by":54,"text":55},{"id":57,"by":10,"text":58},{"value":115,"source":86,"evidence":116},"Missing explanation of why each step is done",[117],{"id":101,"by":102,"text":103},{"value":119,"source":86,"evidence":120},"Copy step visualization appears mismatched",[121],{"id":122,"by":123,"text":124},"30251682","recursive","On the third step(?) of the second step, it says \"Copy 2nd chunk into 1st 16 words\", but it's accompanied by a visualization of copying the 1st chunk into the 1st 16 words. Am I…",[126,130,134],{"value":127,"source":86,"evidence":128},"Add padding and multi-block chaining visualization",[129],{"id":53,"by":54,"text":55},{"value":131,"source":86,"evidence":132},"Explain the reasoning behind each step",[133],{"id":101,"by":102,"text":103},{"value":135,"source":86,"evidence":136},"Provide a video version",[137],{"id":138,"by":139,"text":140},"30250999","sylware","Can we have a video of this on youtube\u002Fdailymotion\u002Fvimeo\u002Fetc which we can download with yt-dlp?",[142,149],{"value":143,"source":86,"evidence":144},"Why these specific rotation and shift constants were chosen",[145],{"id":146,"by":147,"text":148},"30247105","picture","So, how do people come up with these things? I assume every aspect of the design is carefully considered to defend it against various attacks. For example, why \"right rotate 7…",{"value":150,"source":86,"evidence":151},"Whether SHA-256 can be inverted or preimage attacks prevented",[152],{"id":153,"by":147,"text":154},"30254423","I'm also wondering, how does this prevent preimaging attacks (or whatever they're called)? That is to say, what's stopping people from reliably producing output based on input?",[156,163,170],{"value":157,"source":86,"evidence":158},"Nayuki's AES and DES Excel walkthroughs",[159],{"id":160,"by":161,"text":162},"30245816","nayuki","My way of explaining step by step visually is by implementing in Excel: AES https:\u002F\u002Fwww.nayuki.io\u002Fpage\u002Faes-cipher-internals-in-excel ; DES…",{"value":164,"source":86,"evidence":165},"sha256-animation terminal visualization",[166],{"id":167,"by":168,"text":169},"30247002","ypcx","Similar project which visualizes SHA-256 into terminal: https:\u002F\u002Fgithub.com\u002Fin3rsha\u002Fsha256-animation",{"value":171,"source":86,"evidence":172},"Written Python step-by-step SHA-256 article",[173],{"id":174,"by":175,"text":176},"30248665","y42","There also exists a written description showing the process in Python, step by step, which I consider more helpful, because you do not need to stop and play the video.…",{"comments":178,"answered":33,"key":179},7,[180,181,184],{"id":57,"text":58},{"id":182,"text":183},"30247511","https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=23166713 It seems like a \"nothing up my sleeve\" way to initialize the variables.",{"id":185,"text":186},"30248945","Do you recommend any resources to learn about this?",{"commenters":188,"max_depth":178,"maker_replies":178,"first_comment_mins":189,"lifespan_hours":190},84,16,135,[192,194,196,200,204,207,211,214,216,220,221,224,228,230,233,236,239,242,244,247,250,253,256,257,260,263,264,266,269,271,273,275,277,279,281,283,285,288,291,293,296,299,302,305,307,310,312,314,317,319,323,326,329,333,335,338,341,344,347,349,351,354,355,357,360,362,365,367,370,372,374,376,378,380,382,385,387,389,391,394,396,398,401,403,406,409,412,416,419,422,425,427,430,432,436,441,442,445,447,450,452,455,457,459,461,463,466,470,473,476,480,482,484,488,491,495,499,503,507,510,513,516,519,521,523,525,527,529,533,536,539,543,547,551,555,560,564],[53,38,45,193,54,38],"project\u002Fpositive\u002Fdocs",[57,38,38,195,10,17],"maker\u002Fneutral\u002Fdocs",[197,38,33,198,199,38],"30255088","project\u002Fneutral\u002Fexecution","fragmede",[201,38,45,202,203,38],"30253054","maker\u002Fpositive\u002Fdocs","miki725",[205,38,45,202,206,38],"30256315","Drdrdrq",[208,38,33,209,210,38],"30257248","maker\u002Fneutral\u002Fnone","Dowwie",[212,38,38,213,54,38],"30259393","other\u002Fneutral\u002Fnone",[146,17,33,215,147,38],"project\u002Fneutral\u002Fidea",[217,17,17,218,219,38],"30247463","project\u002Fcritical\u002Fidea","metalrain",[182,17,38,215,10,17],[222,17,38,213,223,38],"30247674","bsedlm",[225,17,38,226,227,38],"30247852","commenter\u002Fneutral\u002Fnone","aaronmdjones",[229,17,38,226,223,38],"30247929",[231,17,38,213,232,38],"30248388","jjeaff",[234,17,38,226,235,38],"30249963","tptacek",[237,17,38,213,238,38],"30251677","holoduke",[240,17,38,213,241,38],"30252387","dragontamer",[243,17,38,213,241,38],"30252403",[245,17,38,213,246,38],"30256929","ltfey",[248,17,38,213,249,38],"30254199","smaudet",[251,17,38,213,252,38],"30255430","Terry_Roll",[254,17,38,226,255,38],"30250053","orangepenguin",[153,17,38,213,147,38],[258,17,38,213,259,38],"30254848","skinkestek",[261,17,38,262,241,38],"30248439","other\u002Fneutral\u002Fidea",[185,17,38,226,10,17],[265,17,38,213,241,38],"30249040",[267,17,38,213,268,38],"30259787","rhengles",[270,17,38,213,268,38],"30262107",[272,17,38,213,241,38],"30265068",[274,17,38,226,175,38],"30249078",[276,17,38,213,241,38],"30249105",[278,17,38,213,175,38],"30249271",[280,17,38,213,241,38],"30249502",[282,17,38,213,235,38],"30249613",[284,17,38,213,241,38],"30249635",[286,17,33,215,287,38],"30248882","kzrdude",[289,17,33,215,290,38],"30249064","less_less",[292,17,38,213,241,38],"30250973",[294,17,33,215,295,38],"30249079","floodyberry-",[297,17,38,213,298,38],"30257322","dr_zoidberg",[300,17,38,213,301,38],"30257979","orra",[303,17,38,226,304,38],"30258090","jfindley",[306,17,38,226,298,38],"30265421",[308,17,38,213,309,38],"30258453","MontagFTB",[311,17,38,226,235,38],"30260095",[313,17,38,226,298,38],"30260373",[315,17,38,226,316,38],"30261729","dllthomas",[318,17,33,215,235,38],"30249188",[320,17,38,321,322,38],"30251635","commenter\u002Fpositive\u002Fnone","sedatk",[324,17,38,213,325,38],"30254255","userbinator",[327,17,38,213,328,38],"30250275","edflsafoiewq",[330,40,45,331,332,38],"30246090","project\u002Fpositive\u002Fdesign","taviso",[334,40,38,213,241,38],"30252920",[336,33,38,213,337,38],"30245418","mabbo",[339,33,38,213,340,38],"30245561","mynameismon",[342,33,38,213,343,38],"30245934","sammyo",[345,33,38,213,346,38],"30246587","selestify",[348,37,33,215,325,38],"30245419",[350,37,38,209,10,17],"30245580",[352,37,38,353,232,38],"30248542","commenter\u002Fneutral\u002Fidea",[160,45,38,213,161,38],[174,15,17,356,175,38],"project\u002Fcritical\u002Fdesign",[358,15,38,213,359,38],"30249110","edwnj",[361,15,38,213,175,38],"30249232",[363,15,38,213,364,38],"30249423","lelandbatey",[366,15,38,213,359,38],"30260952",[368,178,38,213,369,38],"30247000","p1mrx",[371,178,38,226,147,38],"30247025",[373,178,38,213,369,38],"30247265",[375,178,38,213,287,38],"30248916",[377,178,38,213,369,38],"30248994",[379,178,38,226,175,38],"30248684",[381,178,38,226,369,38],"30249098",[383,178,38,226,384,38],"30251649","pbsd",[386,178,38,226,369,38],"30251949",[388,178,38,226,384,38],"30252163",[390,178,38,226,255,38],"30250188",[392,178,38,226,393,38],"30250857","arcastroe",[395,178,38,226,255,38],"30251137",[397,178,38,213,369,38],"30251279",[399,178,38,213,400,38],"30319346","vagab0nd",[402,178,38,353,325,38],"30254292",[167,404,33,405,168,38],8,"project\u002Fneutral\u002Fdesign",[407,43,38,213,408,38],"30248355","spdebbarma",[410,43,38,213,411,38],"30248674","zahllos",[413,414,38,213,415,38],"30245905",10,"brk",[417,414,38,213,418,38],"30246535","can16358p",[420,414,38,213,421,38],"30246818","breakingcups",[423,414,38,213,424,38],"30247061","skilled",[426,414,38,213,418,38],"30257141",[428,414,38,213,429,38],"30246898","reincarnate0x14",[89,431,45,331,90,38],11,[433,434,38,213,435,38],"30245768",12,"westurner",[437,438,45,439,440,38],"30246925",13,"maker\u002Fpositive\u002Fexecution","daenz",[73,438,38,209,10,17],[443,438,33,444,440,38],"30247903","maker\u002Fneutral\u002Fidea",[446,438,38,209,10,17],"30248080",[448,32,38,213,449,38],"30246232","chris_l",[93,451,45,331,94,38],15,[453,189,38,213,454,38],"30250444","bmitc",[456,189,38,213,10,17],"30250482",[458,189,38,226,454,38],"30254317",[460,189,38,213,235,38],"30250535",[462,189,38,226,454,38],"30254326",[464,189,38,213,465,38],"30254335","lanecwagner",[467,468,38,213,469,38],"30255659",17,"anonymousDan",[471,468,38,213,472,38],"30255768","oib",[474,31,38,213,475,38],"30253993","a-dub",[477,478,45,331,479,38],"30247959",19,"Darkphibre",[122,481,33,198,123,38],20,[97,483,45,331,98,38],21,[485,486,33,215,487,38],"30252843",22,"ansible",[101,489,33,490,102,38],23,"project\u002Fmixed\u002Fdocs",[492,493,45,331,494,38],"30256564",24,"fthtls",[496,497,38,213,498,38],"30250080",25,"based2",[500,501,45,193,502,38],"30254022",26,"anandsuresh",[504,505,45,331,506,38],"30245578",27,"M4tze",[508,505,38,213,509,38],"30245642","colejohnson66",[511,505,38,213,512,38],"30245727","em3rgent0rdr",[514,505,38,213,515,38],"30245879","tromp",[517,505,38,226,518,38],"30246341","MayeulC",[520,505,38,226,515,38],"30246809",[522,505,38,226,384,38],"30251253",[524,505,38,226,509,38],"30252101",[526,505,38,226,384,38],"30252484",[528,505,38,226,241,38],"30252500",[530,531,45,439,532,38],"30248246",28,"stevofolife",[138,534,33,535,139,38],29,"project\u002Fneutral\u002Fnone",[537,534,38,226,538,38],"30275497","haunter",[540,541,45,542,429,38],"30247111",30,"project\u002Fpositive\u002Fidea",[544,545,45,331,546,38],"30244749",31,"nwatab",[548,549,33,215,550,38],"30258640",32,"dicroce",[552,553,45,331,554,38],"30249769",33,"hombre_fatal",[556,557,45,558,559,38],"30247760",34,"project\u002Fpositive\u002Fnone","berta",[561,562,17,356,563,38],"30246315",35,"iqanq",[565,34,45,558,566,38],"30246330","jerpint",[],[569,574,578,583,588,593],{"id":570,"name":571,"points":572,"category":573},"30273940","Jless",344,"dev_tools",{"id":575,"name":576,"points":577,"category":19},"30193997","Reso",259,{"id":579,"name":580,"points":581,"category":582},"30267539","PgCat",233,"infrastructure",{"id":584,"name":585,"points":586,"category":587},"30257888","Three Magic Words",204,"games",{"id":589,"name":590,"points":591,"category":592},"30194440","Kapwing Smart Cut",171,"creative",{"id":594,"name":595,"points":596,"category":597},"30258149","Tally Forms",168,"web_saas",false,"v2",{"id":601,"name":5,"line":5,"ai":598,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":602,"top":17,"kw":603,"maker":10,"domain":9,"tier":18,"attempts":38,"strip":604,"url":8,"mix":605,"praise":85,"objection":110,"sub":20},30244534,0.42,[23,24,25,26,27],"5510000000330035031000003005350055500555",[31,32,17,33],1794036616617]