[{"data":1,"prerenderedAt":176},["ShallowReactive",2],{"project-22084215":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":40,"post_text":41,"what":42,"said":53,"maker_in_thread":109,"shape":111,"grid":115,"attempts":138,"same_week":139,"maker_shows":112,"maker_hidden":168,"reader_version":169,"card":170},"22084215","Beamsplitter","Hash function that uses only S-boxes","title","Show HN: Beamsplitter – Hash function that uses only S-boxes","https:\u002F\u002Fgithub.com\u002Fdosyago\u002Fbeamsplitter","github.com","archivist1",1579352737,2020,18,10,1790,3028,60,"shown","security_privacy","hash function","library",[21,24,25,26],"s-box","cryptography","collision resistance","roasted",-0.389,{"positive":30,"neutral":31,"mixed":30,"critical":32},0,3,6,9,{"idea":35,"execution":37,"docs":38},{"positive":30,"critical":36},1,{"positive":30,"critical":31},{"positive":30,"critical":39},2,[31,36,36,31,36,36,36,31,30,36],null,{"problem":41,"audience":41,"pricing":41,"motivation":41,"time_to_build":41,"stack":43,"openness":52,"stage":52,"team_size":52},[44],{"value":45,"source":46,"evidence":47},"JavaScript","commenter",[48],{"id":49,"by":50,"text":51},"22094187","rurban","It's not even resistant to added \\0, so you can trivially create an arbitrary number of collisions. It fails all smhasher tests and is pretty slow. There's a reason other hashes…","unknown",{"praise":54,"objections":55,"requests":88,"questions":103,"alternatives":108},[],[56,60,64,74,81],{"value":57,"source":46,"evidence":58},"Not collision resistant; trivially creates collisions via added null bytes",[59],{"id":49,"by":50,"text":51},{"value":61,"source":46,"evidence":62},"Fails smhasher tests and is slow",[63],{"id":49,"by":50,"text":51},{"value":65,"source":46,"evidence":66},"Poorly designed; S-box iteration yields small group order and restricted output space",[67,71],{"id":68,"by":69,"text":70},"22094492","maxfan8","It's probably an academic exercise (perhaps to demonstrate how not to make a secure hash function). It's is pretty poorly designed.",{"id":72,"by":69,"text":73},"22124937","Sorry - just saw this! So think of the sbox as a function. What happens if you apply the function over and over again? The order of a group like that would be small (particularly…",{"value":75,"source":46,"evidence":76},"Dieharder results are not meaningful validation",[77],{"id":78,"by":79,"text":80},"22094961","clarry","Also posting dieharder results as validation (and the only kind of validation!) smells like a joke.",{"value":82,"source":46,"evidence":83},"Unclear what benefit using only S-boxes brings",[84],{"id":85,"by":86,"text":87},"22094016","arkadiyt","Let's ignore for a second the question of security (is it collision\u002Fpre-image resistant? Dieharder says nothing about this). As a developer, is the fact that it only uses S-boxes…",[89,96],{"value":90,"source":46,"evidence":91},"Clearly mark repo as toy or demo, not for important use",[92],{"id":93,"by":94,"text":95},"22094994","cafxx","I sincerely hope the author will urgently and clearly mark the repo as a toy\u002Fdemo\u002Fdo not use for anything important in the readme.",{"value":97,"source":46,"evidence":98},"Use nothing-up-my-sleeve constants instead of random.org numbers",[99],{"id":100,"by":101,"text":102},"22094077","mmastrac","> I went to random.org and generated 32 sets of 256 no-repeat numbers between 0 and 255 inclusive. One suggestion I'd have here would be using \"nothing-up-my-sleeve\" numbers like…",[104],{"value":105,"source":46,"evidence":106},"Is it collision or pre-image resistant?",[107],{"id":85,"by":86,"text":87},[],{"comments":30,"answered":30,"key":110},[],{"commenters":33,"max_depth":112,"maker_replies":30,"first_comment_mins":113,"lifespan_hours":114},4,1911,112,[116,118,120,121,125,126,130,132,133,137],[85,30,31,117,86,30],"project\u002Fneutral\u002Fidea",[49,30,36,119,50,30],"project\u002Fcritical\u002Fexecution",[68,30,36,119,69,30],[122,30,31,123,124,30],"22094894","project\u002Fneutral\u002Fexecution","sneak",[72,30,36,119,69,30],[127,30,36,128,129,30],"22094801","project\u002Fcritical\u002Fidea","SCHiM",[78,30,36,131,79,30],"project\u002Fcritical\u002Fdocs",[100,36,31,123,101,30],[134,39,30,135,136,30],"22094048","other\u002Fneutral\u002Fnone","xscott",[93,31,36,131,94,30],[],[140,145,150,154,159,163],{"id":141,"name":142,"points":143,"category":144},"22063744","No-Bullshit Games",520,"games",{"id":146,"name":147,"points":148,"category":149},"22073037","ESQLate",505,"dev_tools",{"id":151,"name":152,"points":153,"category":149},"22081419","OneDev",459,{"id":155,"name":156,"points":157,"category":158},"22091603","A set of standard document templates",433,"productivity",{"id":160,"name":161,"points":162,"category":158},"22065333","Screenshot Hero",429,{"id":164,"name":165,"points":166,"category":167},"22077052","sixty5o2",230,"hardware",false,"v2",{"id":171,"name":5,"line":6,"ai":168,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":172,"top":18,"kw":173,"maker":11,"domain":10,"tier":19,"attempts":30,"strip":174,"url":9,"mix":175,"praise":-1,"objection":57,"sub":21},22084215,-0.39,[21,24,25,26],"3113111301",[30,31,30,32],1793991002233]