[{"data":1,"prerenderedAt":358},["ShallowReactive",2],{"project-11188686":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":34,"aspects":35,"strip":40,"post_text":43,"what":44,"said":75,"maker_in_thread":170,"shape":180,"grid":185,"attempts":319,"same_week":320,"maker_shows":190,"maker_hidden":350,"reader_version":351,"card":352},"11188686","siga","Cracking passwords with a simple genetic algorithm","title","Show HN: Cracking passwords with a simple genetic algorithm","https:\u002F\u002Fgithub.com\u002Flyle-nel\u002Fsiga","github.com","lyle_nel",1456609857,2016,149,58,223,2264,10,"notable","security_privacy","password cracking","cli",[21,24,25,26],"genetic algorithm","hash cracking","md5","loved",0.129,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,16,2,0,22,{"idea":36,"performance":37,"privacy":38,"docs":39},{"positive":30,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":33},[41,33,41,41,41,33,33,33,42,41,33,41,42,41,33,33,33,33,33,33,41,33,41,33,41,41,41,33,42,33,42,41,41,41,33,41,41,33,33,33],3,5,null,{"problem":45,"audience":43,"pricing":43,"motivation":56,"time_to_build":43,"stack":65,"openness":73,"stage":74,"team_size":74},{"value":46,"source":47,"evidence":48},"Finds weak passwords by evolving candidates against a list of leaked passwords or hashes.","maker",[49,52],{"id":50,"by":11,"text":51},"11190456","There is total separation between the myspace list and the rest of the program. The only thing the simulation can do is query hit or miss. Through these hits and misses it…",{"id":53,"by":54,"text":55},"11190794","chirau","Would you care to explain like I am 5? Layman's terms... What are you doing and how are you doing it?",{"value":57,"source":47,"evidence":58},"Practical way to explore the maker's genetic algorithm ideas, and to gauge password policies.",[59,62],{"id":60,"by":11,"text":61},"11192337","The part about not deleting organisms, is a small caveat that I omitted in most of the discussion since it makes the algorithm just a bit harder to understand. To clarify that…",{"id":63,"by":11,"text":64},"11191243","I have found that top say 2000 ngrams from a large password list is a good starting population. That being said, it learns the structure of passwords surprisingly fast if you…",[66],{"value":67,"source":68,"evidence":69},"C++","inferred",[70],{"id":71,"by":11,"text":72},"11190969","The queue structure is one of my own ideas. It is possible that it has been done before, but I did not check. There does not seem to be a lot of research on this topic. That…","open_source","unknown",{"praise":76,"objections":97,"requests":124,"questions":134,"alternatives":154},[77,89],{"value":78,"source":79,"evidence":80},"Novel FIFO queue approach to genetic algorithms","commenter",[81,85],{"id":82,"by":83,"text":84},"11192301","antirez","I loved this, since it's a different approach to genetic programming (with the FIFO list) that could work in different kinds of problems. Also the way it is applied to password…",{"id":86,"by":87,"text":88},"11190864","YeGoblynQueenne","It uses a stack [1]. Therefore, I like it \u003C3 [1] The stack is used in place of an explicit fitness function. I have nothing against fitness functions. But the bit about using a…",{"value":90,"source":79,"evidence":91},"Interesting use of password non-randomness",[92,93],{"id":82,"by":83,"text":84},{"id":94,"by":95,"text":96},"11190159","saganus","Interesting approach. Especially if you were to feed the training set with most-used password lists from leaked databases or similar. Do you have any performance metrics against…",[98,110,117],{"value":99,"source":79,"evidence":100},"Unclear what the algorithm does and how it works",[101,105,106],{"id":102,"by":103,"text":104},"11190347","sundarurfriend","I don't understand, what is the input and output of this at a conceptual level? One of the examples apparently takes a list of leaked passwords from MySpace - and so what does it…",{"id":53,"by":54,"text":55},{"id":107,"by":108,"text":109},"11192250","chm","It's not clear to me what this does, or if it's useful. You have a fixed-length vector of strings and you make cross-overs between elements in the vector based on non-uniform…",{"value":111,"source":79,"evidence":112},"Ethical concerns about password cracking tools",[113],{"id":114,"by":115,"text":116},"11191190","Houshalter","This is really cool. I'm surprised just finding common substrings through evolution works so well. Wouldn't just using the existing substrings in a dictionary work better than…",{"value":118,"source":79,"evidence":119},"Speed compared to hashcat and brute force is unclear",[120],{"id":121,"by":122,"text":123},"11190980","ryanlol","How fast can it go? And alternatively, how fast can it go with hashcat? This looks awesome, but without the GPU speed advantage I'm not sure how well it'll fare against the…",[125,130],{"value":126,"source":79,"evidence":127},"Performance comparison with brute force and hashcat",[128,129],{"id":94,"by":95,"text":96},{"id":121,"by":122,"text":123},{"value":131,"source":79,"evidence":132},"Plain-language explanation",[133],{"id":53,"by":54,"text":55},[135,143],{"value":136,"source":79,"evidence":137},"Is there a fitness function?",[138,142],{"id":139,"by":140,"text":141},"11190541","lvs","It's not accurate to say there's no fitness function. There is a fitness function, but it is not a continuous function. (There's no way to have a GA without some notion of…",{"id":107,"by":108,"text":109},{"value":144,"source":79,"evidence":145},"Does it crack XKCD-style passphrases?",[146,150],{"id":147,"by":148,"text":149},"11190713","Phemist","So XKCD style correcthorsebatterystaple-esque passwords would fall in no time?",{"id":151,"by":152,"text":153},"11190758","aidos","Cool system. For clarity though, those aren't xkcd style passwords. They're words that form a normal pattern. Xkcd requires that the words are randomly generated.",[155,159,163],{"value":156,"source":79,"evidence":157},"hashcat",[158],{"id":121,"by":122,"text":123},{"value":160,"source":79,"evidence":161},"Brute force attacks",[162],{"id":94,"by":95,"text":96},{"value":164,"source":79,"evidence":165},"Diceware passphrases",[166],{"id":167,"by":168,"text":169},"11190801","cheshire_cat","Sorry for going slightly OT but I think more people should know this: xkcd style passwords are actually called diceware passwords [1], the wikipedia article [2] links to…",{"comments":171,"answered":18,"key":172},21,[173,174,177],{"id":50,"text":51},{"id":175,"text":176},"11190680","I changed the example since I realised that it is a bit hard to understand. The example now shows how to crack a list of md5 hashes. All I did was convert the myspace list to md5…",{"id":178,"text":179},"11190924","Not really, there is no fitness function, there is only some implicit selection pressure. Remember, a single individual is a single password(a string). The program does not keep…",{"commenters":181,"max_depth":182,"maker_replies":171,"first_comment_mins":183,"lifespan_hours":184},24,11,553,41,[186,188,191,193,196,199,201,204,208,211,212,214,217,218,221,224,226,229,230,233,234,236,237,238,240,244,246,248,250,253,255,257,260,261,262,264,266,267,269,272,275,277,278,280,282,285,287,290,292,295,297,301,303,305,307,311,314,317],[102,33,41,187,103,33],"project\u002Fneutral\u002Fidea",[50,33,33,189,11,190],"maker\u002Fneutral\u002Fidea",1,[175,33,33,192,11,190],"maker\u002Fneutral\u002Fdocs",[194,33,41,187,195,33],"11190734","ivoras",[197,33,41,187,198,33],"11190839","StavrosK",[178,33,33,200,11,190],"commenter\u002Fneutral\u002Fidea",[202,33,41,187,203,33],"11191530","justifier",[205,33,33,206,207,33],"11191642","other\u002Fneutral\u002Fnone","krick",[209,33,33,206,210,33],"11192520","OJFord",[139,190,33,200,140,33],[213,190,33,200,11,190],"11190554",[215,190,42,216,87,33],"11190897","project\u002Fpositive\u002Fidea",[71,190,33,187,11,190],[219,190,41,220,87,33],"11191257","project\u002Fneutral\u002Fnone",[222,190,33,223,11,190],"11191349","project\u002Fcritical\u002Fexecution",[225,190,41,220,87,33],"11191433",[227,190,33,228,11,190],"11191779","maker\u002Fpositive\u002Fnone",[94,32,42,216,95,33],[231,32,33,232,11,190],"11190510","project\u002Fpositive\u002Fperformance",[147,32,41,187,148,33],[235,32,33,187,11,190],"11190727",[151,32,33,200,152,33],[167,32,33,206,168,33],[239,32,33,206,203,33],"11191413",[241,32,33,242,243,33],"11191823","commenter\u002Fneutral\u002Fnone","DanBC",[245,32,33,242,203,33],"11191896",[247,32,33,242,243,33],"11192370",[249,32,33,242,203,33],"11192621",[251,32,33,252,11,190],"11190808","project\u002Fneutral\u002Fperformance",[254,32,41,187,243,33],"11191830",[256,32,33,252,11,190],"11191924",[258,32,33,242,259,33],"11190923","minitech",[107,41,41,187,108,33],[60,41,33,187,11,190],[263,41,41,187,108,33],"11192533",[265,41,33,187,11,190],"11192562",[121,30,41,252,122,33],[268,30,33,252,11,190],"11191002",[270,30,41,252,271,33],"11191145","Vendan",[273,30,33,274,11,190],"11191154","maker\u002Fneutral\u002Fnone",[276,30,41,252,271,33],"11193916",[86,42,42,216,87,33],[279,42,33,242,11,190],"11190879",[82,281,42,216,83,33],6,[283,281,33,284,11,190],"11192388","maker\u002Fpositive\u002Fidea",[286,281,41,187,83,33],"11195052",[114,288,41,289,115,33],7,"project\u002Fmixed\u002Fprivacy",[63,288,33,291,11,190],"project\u002Fneutral\u002Fprivacy",[53,293,41,294,54,33],8,"project\u002Fneutral\u002Fdocs",[296,293,33,294,11,190],"11190815",[298,293,41,299,300,33],"11191689","project\u002Fmixed\u002Fidea","TheOtherHobbes",[302,293,33,187,11,190],"11191772",[304,293,41,187,95,33],"11191867",[306,293,33,187,11,190],"11191953",[308,309,33,206,310,33],"11191061",9,"eternalban",[312,309,33,206,313,33],"11191174","mrfusion",[315,309,33,316,203,33],"11191617","other\u002Fneutral\u002Fidea",[318,309,33,206,310,33],"11195725",[],[321,326,330,335,340,345],{"id":322,"name":323,"points":324,"category":325},"11213475","Flexbox Defense",243,"learning_science",{"id":327,"name":328,"points":329,"category":20},"11192398","Bitfly",239,{"id":331,"name":332,"points":333,"category":334},"11211344","Sensible Bash",173,"dev_tools",{"id":336,"name":337,"points":338,"category":339},"11187507","Wifi",153,"consumer_social",{"id":341,"name":342,"points":343,"category":344},"11174815","CuriosityStream",129,"web_saas",{"id":346,"name":347,"points":348,"category":349},"11191394","54.86.121.4",126,"ai",false,"v2",{"id":353,"name":5,"line":6,"ai":350,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":354,"top":18,"kw":355,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":356,"url":9,"mix":357,"praise":78,"objection":99,"sub":21},11188686,0.13,[21,24,25,26],"3033300053035300000030303330505333033000",[30,31,32,33],1794036541486]