czardas Posted April 29, 2012 Share Posted April 29, 2012 (edited) The Big Rip is the name given to a theory in physics where the expansion of the universe accelerates to the point where even atoms get ripped apart. The first signs of the big rip will be when stars start to disappear from the night sky. Believe me you will be waiting around longer than the end of the universe if you try to randomly brute force even quite a short big rip encoded message. It works using the simplest possible method of all - namely the barrel lock. While most barrel locks are one dimensional, this one is three dimensional. Is this an encryption program? It was iintended as a coding exercise more than anything else. It fails as a universal encryption program because this version only works on multiline text documents written in AscII which contain the full delimiter string @CRLF. The text does not need to be arranged in a square. Anyone thinking of trying a 'meet in the middle attack' should look at what happens when you try to encode a message where all bits are set. It simply doesn't work. Is this a weakness? Well you decide. There are no instructions and all the controls are hidden (I want you to try and figure it out). Just something to put off a would-be hacker who happens to find your lost portable storage device. It might buy you a bit of extra time to cancel your credit card pin. Thanks to Guiness for help with the muliline password control. That's one unique feature you don't see every day. LINK REMOVED Thanks for looking. Edited November 11, 2013 by czardas Xandy 1 operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
acidman Posted April 29, 2012 Share Posted April 29, 2012 When the big rip comes us autoitters will save'eth the day!! May the 'farce' be with you:) [u]My dream is to have a dream...[/u] Link to comment Share on other sites More sharing options...
czardas Posted April 30, 2012 Author Share Posted April 30, 2012 Post will not be edited!http://www.czardas.co.uk/downloads/big_rip_challenge.zipSHA-1 2FB38515818F2B6379518051C70F9249B53967EA operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted April 30, 2012 Author Share Posted April 30, 2012 (edited) When I was 11 years old I set a challenge to my teacher. I created a sequence of numbers some of which were missing. To my amazement my teacher had filled in the missing numbers before hometime. I was gobsmacked! It was a good lesson, but I'm going to stick my neck out once more. I could end up eating humble pie, but we'll see. The first person to provide the correct plain text and password to the encoded message in the previous post gets a financial reward. £50 (UK) is currently on offer and the challenge lasts until the end of 2012. I know it's not much, however if after midnight GMT on 31 Dec 2012 nobody has come up with the solution, I will consider renewing the challenge. If a wrong but plausible solution is discovered, it may be necessary for me to reveal the real solution to resolve the matter, at which point the challenge will be withdrawn. The password should be either a sequence of characters or an array of numbers. I know there are people out there who crave challenges like this. Crack the big rip challenge, if you can. @ac1dm4n You never know, there's a lot of talent out there! Edited April 30, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
acidman Posted April 30, 2012 Share Posted April 30, 2012 (edited) expandcollapse popup#include <String.au3> #include <Crypt.au3> $str = "0x,1C,CF,19,C5,96,69,92,60,3C,1F,9E,44,69,12,DE,8C,0C,F7,13,E1" $Split = StringSplit($str, ",") $str2 = "0x1CCF19C5966992603C1F9E446912DE8C0CF713E1" Local $SHA_1 $Hex = BinaryToString($str, 1) $Hex1 = Hex($str, 2) MsgBox(64, "", $Hex) MsgBox(64, "", $Hex1) $bEncrypted = _Crypt_DecryptData($Str2, $Str2, $SHA_1) $TEST = _HexToString($bEncrypted) $badboy = Binary($Test) $badboy1 = BinaryToString($badboy) MsgBox(64, "", $badboy1) Local $aStringsToEncrypt[1] = [$badboy1] Local $sOutput = "" Local $hKey = _Crypt_DeriveKey("CryptPassword", $CALG_Sha1) MsgBox(4096, "Encrypted data", $Hkey) _Crypt_DestroyKey($hKey) $Answer = _HexToString($Hkey) MsgBox(64, "", $Answer) $x = Asc ($Answer) MsgBox(4096, "StringIsASCII returns:", $x) ; and the Ascii Representation for 48 is 0 there are other methods to get the same Value #cs Here's the string to be decoded the decoding happends above 8398CC22481594391D66A715898B59B30A2E42CCD37EA03239B434B1748DB9D33950B2DB38B640C348613B80C26786 43305CCB0D2EB1D1691A00D2F030BCE2681315616B543909933690B2EE5A572A78D7DCE13E99D19782C6AD5CA602BEE666219B9C058488E2210B9779C199B31CADDC6763732D2C4F196632E9B986C032CD6B 664852B8146B1B6949999B7CC0480BBC578EA162BC49190B111120E5931B4C59DC519E0D646A38C1723D806D 861C5C60D9991CEC29C4CB1A31759A14B5AD8C53B326E1863A9CD035853DA590E9BCE45E2ED5AB2716C16596BA12B126D9134328BE80DB8415964B0C81918641D9D3093379883E49852629118293D3A765AB 1EEC3658648D83BE991CAAD78A1B58E8B08DA09C2B4B08DB5D031858419C6589C6EB8B1CF85250 FEBD9CD2C0368624723F2F86B666A19AF03302C23030970E266BC37912BD5431B2DD3C8B66316BD3B5B608D48A34FBDD4428C76A5F2D1CE19F50C0CB28EBA23E2170BE9A6B114C43661A5CD1FEAA1713C895 A3813B6D2A3DA2EFDC8AC1D36D01983CEAD045C4B94F4DCB689B0B50C361BEE2C5B71039BC147ADD0915BEA61D44CBDB4B043E2065AEE5B2B31498803238132B81C819D2EC813D19D08D14BCCCD2C76C4EC566CE38 0010220598156C2831A3085950733EA6151268D0461235DCD16F436EEEC33835803A9944033310633ADBD34C879E2C2F12C2BB7EBD6354395A60A0DD4E8C1D4B5CACCD1CA0D192719B66BD9A34EC4B59731E3C1E3A E6C9D1AE98558D0B1B167C0644266B03481902636C57623AB06BCB9A5BA6BC8D96B06EA2BD89A5DCD09E 5ECC885BDD86319CC8F5D011D0603B5C0167BF9112E323B18910332E456CC99698B32CCDC812B588916CC0 8A64BCE5B740BBBAB858BB2CB4E636DD2CA19B8315BB28A47176698653A994E5B89CECAEC8D0081A31FF8994 4BED4EB36404688313350E02B18DB3327AD93CC42B3012DCA5A5A61D6CAC2D8B13ADDE84423B6F4AF047 1C2AD039CBE03DA0EEA6C164ACD471646E4C8D846F2C3B95666DA95471003341A94A9C 6C73B3FCB273BC6C4750DA4A9C2B943D6D9980328597823086531C00C84C8954C056B85DE8DC59651F591E E4E67BB9C38A9684680C6ED576A4A479BE6910333B2A52DAC67B5AC0CB1B56007337284953B2436C36 31BCC19DC8D9AB5E2F2968D39C22B91C8EE2A30B2A54836C74C4DCA2CC123F05A60CA0E4 052A346EA575BE8A3FB530BA062D2E55770AD7570149DDBE4C2921BC82B5635C2C434369CE 4F681C15A5D4631BD8DCB2B4C560F36A517444709583B70B5A4B53499B473B1C1CA2 DC0D260039D08C01A1A169930345688CA42CE9CA06E3C0F33B3A8C665365A3D83EA0E11D63791E24C57EB0D1D0 3ADB15BC29EB8CD681CD30E43D9AF8D99C466DA4AA518CC2B09C9B25BA1338349A 2038D705E250333468E9DB989C00C80EE0B8D2135E9E 2929D9D19D766B058CEC01 FACA181732E618190932CD8F2B9CE642603582CC82BB228A88C190626B90 CA5D1A54E8B04E87B85DA6B22CA697499E9D53B9CD6EACCDD1140EB4091137B001A90D035A10B8D997B4B2C30D 49630442366618BACCC32E8C31903C5C16D8D4331C4B6003 A5386B4B3C1058A64932CB9A875D789648C835385F403CD27E040C683CA4637CDB9C219820CCA10AD6534A129B0D09BCE3286B982D8D130290CEB18850B34C41761EDF3910695B23181B991C818AC307DC0C 0465A42C5118133F6909116B6D1B1D59BE02226CB6C56B3DC585A03D1D62C8090DA509958B40B865BA5199E84AC739A28BA4BD18923CC65F418844DFA60CEA51CBB0360E61D2BB523723C897A3A1F4CD830854 A60A96C585A8ED09936B9465B31E289C068991B63BCB3C658B4AD7B6CCC60C1B89DD5EA0F7A95992C3B896CE446363DB5DDD0B88124B1EE19C9ED373EAC81610903A52D6E1BECC8D77BEAC283164E08CAA B99EF01491A6AE286B212B923CD030B374972A28376AD384B640FD433EC99B94AAE878DC8856C09C58C0F3F59B14BCA8709A9F01A572C369B81E40A5AB967B02B5 9381BB2C62B420C95CA6F4892D25A7B4CED8FCC7BA1D6A447A5B2A56C3063C4AC63F1AB9A85028542F908622BCA0D9 4BE819BC6B7DCE081D3B7D285C3EB8DB13699808CC54A2B19918C812B0EA42D4 748EAC728D92B3126C4598002C2139836C5B9370BDC6F5983956C63EBD9C5B2D603DA6C072BC031C591CC9 B3EA6A3C83292A041CC58334C03570957B4FB8936C333F8CEADCCB5C6AD09C0118833C8166 BD193ECF13D1C64EB904B4C2C8593998C5A5C3A9978E20F42C73930F5A1B799F5664BE3F492A989320BCC4A6 086C803C5598E0DC3E4C0A1FD9552215ADA8C5923C1D62338E0962389B00CBAC9B780F392D 8776A5ADD23B0ECDA95239EC126E85E342BE80360A9311B892 B161359536401FC5DB23D1991E9862656A56B381C40121DC6EEF0E533310318D25BCAC8A953D68006BCB7A20C132 B489923F82C5B6CB2230B2FC29BCC2BCDC0C6E2A1BE08E8D46D34F68F2E63C20C33EDC013C28CE22886DC812D3 606C0D8C946C82BB0B6D244A1EC122BB3089585C08CB238310603C4C8600CAFF1CC8D8BC81C0AC14B9A61339 A7403720DC1C0D8642EE37150CEE167098C8DE4403383581E0B65173BD2AC07754C675BE2D503BC39FD3524F6B40CA C909D7536332EA88C09EF677123994A9C508E98C9ECCE16953BC82378C2E46832BC91FD6640C8C5680C190BC85 B62EE64C0DC8346E8978BC02B1A433180242290561681646AB19AA9AEC8067B5A11063282E2B31218EC36AD919B5 AC620EDCD93B3C612103BA5377DD25318346995C1B06281426AB381C0A1D847E20395D8FCDE375798B83342906EC E58D9B961B098348391E360B059E133F40A31C8B4D4EE233603D91983C905CBE059D509C21966CE03480E9881C07D5 AE606196C235A91104B393323C13872856054A503B766C8A5B1DDC82DA14E9184B1A985D0B488F99 9B672B2D748CE198DB5F5118C6385D5164C1B0633CC36E2CB1CC5484B3 BB4B1CD1BA6F723CCA18908A5634DE065E9C9A3B0E8614E1BA1B98210CAD62C8830CA0B3163196B52194999B 4A54B841B21CA8E92CA31B30C4672675B8DD 8B968435BA6A9CCA2C CCB43ACB2D1B74246B129E5881B7713CE85B56562ED64F2718A91DDC30C6581DAEE1BF63664DBB5CC49588EF0B4C54094A52B19C0D8C222B711EAC09DBB11CD1398CC032440B821956395A3CD39B4B9A0B0640C8 9300146EC3723C2D131990E1358803E3EC1D9F55BDEC766AB0C466BA29809038D064CD141CACAADCCB31BB60D95031FA4EC23B363308B99C1431961D25A8C59D866EA4E59323BE4675A11DD1B26058167BB98D65B38B 8D865CDD4905E2DB11B370316180B4EDCDA3B855C7C34B2B258322C2B61C862E210E581D88C78BDB18EDBBDC89D48363A99A5ECB1BD0D95C248094E123A6F8C618C2B858D8E4BC2C086D340D64B16F6192D233A8CF B6B0C6FCC153AD65D7BDD1B337642C296B146953C8B60EF582B2E99DC5ECD264058ED2E5899ACAC35183 B23C6E78B8EC09B470D977398CD5EC099633501D9B3AB30C823E00C91D86C0FFA1F806830B16BB 5C2DFDC526643EC62E5B32B0C395A86116A6EB26D800BA14681B23291C537F45F813685C8C05 623FA893FB5B0271B853B338585D919D0C646238C065BC2191B5BD407AC91A4C0D2D048B3F3065F8 18A1AE16D0B30663723918102DA6CF65C0F58CA6D48C458990BDC76D93BA92B766395663618485C3 195516189565F5B059958B61316997BC098C222D555673812C64AB08CE3694A25DAB389ADF4245291F 08D4B896099C8B090AD89E8B090CD15C05A99AF38B14AAD6F2803B5C10C5BF4417703DC62C372E8D 18C4B34ACD36B1961C04330B6E933D86B03670BC896A30695B1A3402ECE698FE9B5E8AF57CCF 6D42C1C412CEDB4CCB803D0661389D42036AE2607118C19FA5560303959B68BB35CA3DAE1C4C 48E5932E80A632D2D0C4428D1CAD656F530A10C332BC4E529017348A58695C0B91F4443502D91B4810 3C8661A4C1959308E91632311919B5C14992ED02B5985EDF503A 466E416ECC6E660235B2B46AD5DB547F89BCB93C5C543A3C8765886958D7623CD81B0FA30C84F4279D CD1CD8118BBB5162AEDB232C860CAD4030C8335239731838166634E99EC8CC2A9C4E52BEA1C8AC699B 26BC53B0CA9D1BE6011A132AC2DB532959CD95A31816DCAAD4246B633B5A547B4D9754B2B86B5CD8D90BB4AD93687CE138558996481C1E2F915BD426B5BC0CC5B3BBD722312D6D6A3C5B30E902392A10B38C4D3CAD9A903B 6CCF6A1035E8DC6EA1EB713E04B604B891B604B313B9BA368234CDB973173BA630486B6AD231294C6635ACAF4CA2C141323D8EC18CA58952386E667941D3C4F9363489803A12DE38416A3232CC899D073B5D0C0C 08CBD1848C428B290EEAC694C8D53D5D843DC44DE0CF6FA810CB707C6F85776EE8BB9F67ACA9D443581325B8981D00DB0980347E3DEC8708ECE954AB0D3C69818A333927D431D7D8BE6AE95F6948D6413B9C C2481166381C4F0DE6263D9308B61020BC86C4670F8462B128943B022C16F8C76B38CAFC1C5440653608C896B8E2653D34AC8DB1C8 C8A05EECEC689E36C03E1D4282630B5A5B133D4FEB1F02D9D8A62D961E8A45CCA71E7D206AAEC391CE34B856247B19746D96C62B15943E7FCE62AEA405734CED424918C48F784855A19163AD1806BA 9C2B61CB2BD1664470B5935619D91126189D46 822B0562CDB82C069E598D2993306913433D6BDCCEA909999343519B4C335C2283618D823D058B5ECB2C5F0ACD64 958CE43A55D6BDA1AA89DC21FD6AC2B9F2D91D05A64CCD46E186C314895B01BAB4B4BF5B003D427CA8C4 3B106D4E53AA148EFB1FE6B0C34B0ADCC1E149585D776B2595AC49D8C8DD4530E6F85C1B3CF1BD616CE7A470 B19E7C20B9030910D581656238E810C248FA02CD067A1988B3268666491D995933A54EC869C34C811A1E19BA186D C0BD110A0A34E8BC3CA4FB5EA323C85276664032C4A30E691CA369DD8AC2C237B2FB095B2C686B77991DE431583ACA 9FD6956B16AFA110B95B93BAF649556C089CA24794FB1C018F8A4D830816E1A841397E219EA14060BD8D28194236D21584C6B6 5C4B8709DA3C1E6D9B43985E1B7C219FD3E9D44C093ABDA9516F5BA961D9830349DA9D40A5A56D7134E468B5C9A1E0 197270C4DB5A0C8AC403E2B061EF1791D810 C6B3B613623A18991DE6 FE819AC9AFC6060CD9C391B48965C03910316738D783649604ABDE9582199C69898ADE918B1C967581B4 8D0722691097937A6A65BB26C0161E870D2B0F5ADD02C68A195A7D 381C0B5D6B496B9D9D4B4B5ACA5C81 F5A64B9168C8170EC3395988C53CAE0C241C0528BD6E658844B36E0131A5A65D636B256D51AB42AAB2 229D0763B1691B63B648DFC022F95A9C62C46CFCC99EE5EB46CACB5583419C01323ECC0BE060C8 6D38D8C1FFEE164B0CBDE306B3242DBCC2C91CA2D5D37EA4933AC0D2CC483C4C2C2C7B49281AC3803C00C0 3A5BBD8844698E8B509EC7BC00DBD01C023CA2758DEF323319B8D0B6BB031331BD 495EE987B8CDDAE95310CCCCC62C8E0E6711B310BB2AED9D1777A0B5E85A9B4168AF2685896816461535A919DCEB2E48E16A3CEF3F181D27231260BAD3A36D02CD46E23AE4332A1163B1B0D06136581DACE508DC24E9 1E8DB98165D2666B10B4CE1819970EBD15B0CC5C4B891D81C4238AD60D0CCEA773616A5BD36239161C1234630858D300BE20B7B07D86391191C6E6BB8C679BD95EA205BCE8F49B384862 B14C046418533AEBC33309533B66A92C41991513205C690A95C9172DC0D3763C80322436B33A90B3609DE23616948CB311A3B322B5687C6957E30DC4A039C48CAC6AE3903331B760DC88EED2077DE079D36B 1182B03185F3381CCA30C164B2B85EA0BEC138DCE124CD51C1DECCE62B5F2862867CA2C5385286BFE4DD22D07E8944FA7A7C8CE5916C8731976D8D0898CBB39B348A1AD000DB0999B06C9C8C23C0D2E80C89CB9C01A59E 392DE2DB30F643BC68 DF0D8B5AC4C93A4500CCDC4F3B985C8CC6DC918B42371166B640D23E0C8461BD6852BBC3A3171856 2922C2E89B170362B4A24A41BEE567A435AC65A5DAD18915CC676B960D03B95D22C6434B28D8947DA5 69DE06D959BCA1966C24CE8C20193C4B74BD20358621BBD25968196B685726CB659402CE6821BCA6916B0E8E89C3 0DCC226B9F48459723005D13133C02688B0C1C663965B1BB0779DCDB62AF5C0613285CA6E1946C0AB9119CCDEB01 6BD383CC28D42E2CA8991469048312B8DD873F48DC8C3D81932DAA8BDD60D7703D918FBCD918BD051C49EE009E60 C5B996D9DE1E 02D5CD88C9905B91B50327923C5939DB363C86FC215031C164AD510E1C28CA1E60BE136311D441B18959 0427D3A18DAD05FAD34A503CD69ACE1316C5D0631E06206D95DC4467B36259D4C99739713ACB59D6E8 #CE I hashed the file using sha1 method Edited April 30, 2012 by ac1dm4n [u]My dream is to have a dream...[/u] Link to comment Share on other sites More sharing options...
czardas Posted May 1, 2012 Author Share Posted May 1, 2012 (edited) @ac1dm4n You're not supposed to respond to this thread. Thanks for confirming the hash of the text file for me anyway. You will notice that the forum code boxes are formatting the cyphertext and corrupting the message, so what you have posted is no longer correct. This is why I decided to zip the file up and attach it to post No3. Only joking about not responding BTW. Questions about the program will be answered. Questions about the plaintext to the challenge will be ignored. Edited May 14, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted May 3, 2012 Author Share Posted May 3, 2012 (edited) Thanks to those who downloaded this.QuestionHow long did it take you to figure out the controls?Do you think they are obvious or not? I have to keep reminding myself that no responce is a good sign. Edited May 3, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
acidman Posted May 12, 2012 Share Posted May 12, 2012 hehehehe [u]My dream is to have a dream...[/u] Link to comment Share on other sites More sharing options...
czardas Posted May 14, 2012 Author Share Posted May 14, 2012 (edited) The strange thing about this program is that it sometimes flickers either blue or red. I don't know why it does that (although it doesn't bother me too much), but why blue and red? Is it something to do with blue shift and red shift? Anyone knows why it does that, please let me know (or any way to fix it). Edited May 14, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted June 29, 2012 Author Share Posted June 29, 2012 (edited) I have a sneaky suspicion that the solution to my previous question was to use $WS_EX_COMPOSITED style for the GUI. Does it still flicker? (required resources are in the zip file - 1st post) expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> #include <GuiEdit.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <ButtonConstants.au3> #include <file.au3> #include '3Dv2.1.au3' Main() Func Main() FileInstall(".resourcesNGC 6791.jpg", @ScriptDir & "~NGC 6791.jpg") FileSetAttrib(@ScriptDir & "~NGC 6791.jpg", "+H") Local $hGUI = GUICreate("The Big Rip",320, 165, Default, Default, BitOR($GUI_SS_DEFAULT_GUI, $WS_EX_COMPOSITED), BitOR($WS_EX_ACCEPTFILES, $WS_EX_TOPMOST)) GuiSetIcon(@ScriptDir & "resourcestbr.ico", 0) GUISetBkColor($hGUI, 0x000000) Local $idPic = GUICtrlCreatePic ("~NGC 6791.jpg", 0, 0, 320, 165) GuiCtrlSetState($idPic,$GUI_DISABLE) Local $aControlID[8], $dEditStyles = _ BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_MULTILINE, $ES_WANTRETURN) $aControlID[0] = GUICtrlCreateInput ( "", 10, 3, 300, 19, -1, $WS_EX_TRANSPARENT) GUICtrlSetState(-1, $GUI_DROPACCEPTED) $aControlID[1] = GUICtrlCreateEdit("", 10, 22, 300, 57, $dEditStyles, $WS_EX_TRANSPARENT) GUICtrlSetLimit(-1, 260) _DisplayPassChar($hGUI, $aControlID[1]) $aControlID[2] = GUICtrlCreateEdit("", 10, 82, 300, 57, $dEditStyles, $WS_EX_TRANSPARENT) GUICtrlSetLimit(-1, 260) _DisplayPassChar($hGUI, $aControlID[2]) $aControlID[3] = GUICtrlCreateLabel("Encode", 1, 140, 106, 23, $SS_CENTER) $aControlID[4] = GUICtrlCreateLabel("Decode", 107, 140, 106, 23, $SS_CENTER) $aControlID[5] = GUICtrlCreateLabel("Abort", 213, 140, 106, 23, $SS_CENTER) _CtrlInitState($aControlID) $aControlID[6] = GUICtrlCreateDummy() $aControlID[7] = GUICtrlCreateDummy() Local $AccelKeys[2][2] = [["^a", $aControlID[6]],[@TAB, $aControlID[7]]] GUISetAccelerators($AccelKeys) Local $abShowFlag[6] = [False, False, False, False, False, False], $bInRange = False, _ $ixOffset = _WinAPI_GetSystemMetrics($SM_CYSIZE) + _WinAPI_GetSystemMetrics(7) , _ ; SM_CXFIXEDFRAME $iyOffset = _WinAPI_GetSystemMetrics(8), _ ; SM_CYFIXEDFRAME $sPath, $sPassword, $sConfirm, $sPlainText, $sRet GUISetState(@SW_SHOW, $hGUI) GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND") While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Local $sClip = ClipGet() ExitLoop Case $aControlID[0] _GUICtrlEdit_SetSel($aControlID[0], 0, -1) Case $aControlID[3] $sPath = GUICtrlRead($aControlID[0]) $sPassword = _WinAPI_WideCharToMultiByte(GUICtrlRead($aControlID[1])) $sConfirm = _WinAPI_WideCharToMultiByte(GUICtrlRead($aControlID[2])) _TestInputs($aControlID, $sPath, $sPassword, $sConfirm) If @error Then ContinueLoop $sPlainText = FileRead($sPath) _ControlHide($aControlID[3], $abShowFlag[3]) _ControlShow($aControlID[5], $abShowFlag[5]) $sRet = Encrypt_3D($sPlainText, $sPassword, 1) $iError = @error If $iError Then _ErrorMsg($iError) If $iError = 6 Then $bInterrupt = False Else _Output($hGUI, $sRet, $sPath) EndIf Case $aControlID[4] $sPath = GUICtrlRead($aControlID[0]) $sPassword = _WinAPI_WideCharToMultiByte(GUICtrlRead($aControlID[1])) $sConfirm = _WinAPI_WideCharToMultiByte(GUICtrlRead($aControlID[2])) _TestInputs($aControlID, $sPath, $sPassword, $sConfirm) If @error Then ContinueLoop $sPlainText = FileRead($sPath) _ControlHide($aControlID[4], $abShowFlag[3]) _ControlShow($aControlID[5], $abShowFlag[5]) $sRet = Encrypt_3D($sPlainText, $sPassword, -1) $iError = @error If $iError Then _ErrorMsg($iError) If $iError = 6 Then $bInterrupt = False Else _Output($hGUI, $sRet, $sPath) EndIf Case $aControlID[6], $aControlID[7] _AccelKey($hGUI, $aControlID[0], $aControlID[1], $aControlID[2], $msg) EndSwitch $aMousePos = MouseGetPos() $aWinPos = WinGetPos("The Big Rip") If ($aMousePos[0] > $aWinPos[0] + $iyOffset) And ($aMousePos[0] < $aWinPos[0] - $iyOffset + 320) Then $bInRange = True Else _HideAll($aControlID, $abShowFlag) $bInRange = False EndIf If $bInRange Then If ($aMousePos[1] > $aWinPos[1] + $ixOffset) And ($aMousePos[1] < $aWinPos[1] + $ixOffset + 20) Then _HideAll($aControlID, $abShowFlag, 0) _ControlShow($aControlID[0], $abShowFlag[0]) ElseIf ($aMousePos[1] > $aWinPos[1] + $ixOffset +22) And ($aMousePos[1] < $aWinPos[1] + $ixOffset + 79) Then _HideAll($aControlID, $abShowFlag, 1) _ControlShow($aControlID[1], $abShowFlag[1]) ElseIf ($aMousePos[1] > $aWinPos[1] + $ixOffset +82) And ($aMousePos[1] < $aWinPos[1] + $ixOffset + 139) Then _HideAll($aControlID, $abShowFlag, 2) _ControlShow($aControlID[2], $abShowFlag[2]) ElseIf ($aMousePos[1] > $aWinPos[1] + $ixOffset +140) And ($aMousePos[1] < $aWinPos[1] + $ixOffset + 160) And ($aMousePos[0] > $aWinPos[0] + $iyOffset) And ($aMousePos[0] <= $aWinPos[0] + 107) Then _HideAll($aControlID, $abShowFlag, 3) _ControlShow($aControlID[3], $abShowFlag[3]) ElseIf ($aMousePos[1] > $aWinPos[1] + $ixOffset +139) And ($aMousePos[1] < $aWinPos[1] + $ixOffset + 160) And ($aMousePos[0] > $aWinPos[0] + $iyOffset + 107) And ($aMousePos[0] <= $aWinPos[0] + $iyOffset + 210) Then _HideAll($aControlID, $abShowFlag, 4) _ControlShow($aControlID[4], $abShowFlag[4]) Else _HideAll($aControlID, $abShowFlag) EndIf EndIf WEnd If StringLen($sClip) > 0 Then Local $iMsg = MsgBox(262148,"Warning","The clipboard contains data." &@CRLF &"Would you like to clear the clipboard?") If $iMsg = 6 Then ClipPut("") EndIf FileDelete("~NGC 6791.jpg") EndFunc ; ==> Main Func _Output($hGUI, $sString, $sPath) Local $sDrive, $sDir, $sName, $sExt Local $asPath = _PathSplit($sPath, $sDrive, $sDir, $sName, $sExt) $sDir = $asPath[1] & $asPath[2] $sName = $asPath[3] $sExt = $asPath[4] If StringRight($sName, 1) = "]" And StringRegExp(StringTrimRight($sName,1), "[[]" & "d+b") = 1 Then $sName = StringRegExpReplace(StringTrimRight($sName,1), "[[]" & "d+b", "") EndIf Local $iDupeCount = 0 While FileExists($sPath) $iDupeCount += 1 $sPath = $sDir & $sName & "[" & $iDupeCount & "]" & $sExt WEnd GUISetState(@SW_MINIMIZE, $hGUI) GUISetState(@SW_DISABLE, $hGUI) Local $sWinTitle = " The Big Rip - " & $sName & $sExt, $iWinWidth = @DesktopWidth*.82, $iWinHeight = @DesktopHeight*.76, _ $winStyle = BitOR($WS_OVERLAPPED, $WS_CAPTION, $WS_SYSMENU, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX) Local $hChildGUI = GUICreate($sWinTitle,$iWinWidth,$iWinHeight, $iWinWidth*.06, $iWinHeight*.04,$winStyle) Local $iPartWidth = $iWinWidth - 226, $iBtnStyle = BitOR($BS_CENTER, $BS_FLAT), $sFontFace = "Lucida Console" $hLabel1 = GUICtrlCreateLabel("Save In", 0, 4, 50, 12, $SS_CENTER) GUICtrlSetResizing (-1, $GUI_DOCKSIZE) $hEdit1 = GUICtrlCreateInput($sDir, 51, 1, $iPartWidth*.70, 20) GUICtrlSetResizing (-1, $GUI_DOCKHEIGHT) GUICtrlSetBkColor(-1, 0xF5F6CE) $hFolderBtn = GUICtrlCreateButton("..", $iPartWidth*.70 + 60, 1, 28, 20, $iBtnStyle) GUICtrlSetResizing (-1, $GUI_DOCKSIZE) GUICtrlSetFont($hFolderBtn, 9, 500, 1, $sFontFace) $hLabel2 = GUICtrlCreateLabel("File Name", $iPartWidth*.70 + 92 , 4, 54, 12, $SS_CENTER) GUICtrlSetResizing (-1, $GUI_DOCKSIZE) $hEdit2 = GUICtrlCreateInput($sName & "[" & $iDupeCount & "]" & $sExt, $iPartWidth*.70 + 152, 1, $iPartWidth*.30, 20) GUICtrlSetResizing (-1, $GUI_DOCKHEIGHT) GUICtrlSetBkColor(-1, 0xF5F6CE) $hSaveBtn = GUICtrlCreateButton("Save", $iPartWidth + 160, 1, 60, 20, $iBtnStyle) GUICtrlSetResizing (-1, $GUI_DOCKSIZE) GUICtrlSetFont($hSaveBtn, 9, 400, 1, $sFontFace) $hEdit3 = GUICtrlCreateEdit("", 0, 21, $iWinWidth, $iWinHeight - 21, BitOr($GUI_SS_DEFAULT_EDIT, $ES_NOHIDESEL, $ES_READONLY)) GUICtrlSetLimit(-1, 32000000) GUICtrlSetResizing (-1, $GUI_DOCKTOP) GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlSetFont(-1, 10, 400, 1, $sFontFace) GUICtrlSetData(-1, $sString) GUICtrlSetState(-1,$GUI_FOCUS) GUISetState () $iSaveStatus = 0 While 1 $msg2 = GUIGetMsg() If $msg2 = $GUI_EVENT_CLOSE Then If $iSaveStatus = 0 Then $iGetResponce = MsgBox(262193, "The Big Rip", "Quit without saving?") If $iGetResponce = 1 Then ExitLoop Else ExitLoop EndIf EndIf If $msg2 = $hFolderBtn Then _FolderSelect($hEdit1) If $msg2 = $hSaveBtn Then _FileSave($hEdit1, $hEdit2, $hEdit3, $sExt, $iSaveStatus) WEnd GUIDelete($hChildGUI) GUISetState(@SW_ENABLE, $hGUI) GUISetState(@SW_RESTORE, $hGUI) EndFunc Func _FileSave($hEdit1, $hEdit2, $hEdit3, $sExt, ByRef $iSaveStatus) Local $hFile = GUICtrlRead($hEdit1), $iSave = 1 If FileExists($hFile) Then If StringRight($hFile, 1) <> "" Then $hFile &= "" $hFile &= GUICtrlRead($hEdit2) If FileExists($hFile) Then $iGetResponse = MsgBox(262196, "Caution", "That file already exists." & @CRLF & "Are you sure you want to overwrite it?") If $iGetResponse = 7 Then $iSave = 0 EndIf EndIf If $iSave = 1 And StringRight(GUICtrlRead($hEdit2), StringLen($sExt)) <> $sExt Then $iGetResponse = MsgBox(262196, "Caution", "Are you sure you want to change the file extension?") If $iGetResponse = 7 Then $iSave = 0 EndIf EndIf Else MsgBox(262160, "Error", "That directory does not exist." & @CRLF & "Please select an existing directory.") $iSave = 0 EndIf If $iSave = 1 Then $iSaveStatus = 1 $iTest = _FileCreate($hFile) If $iTest = 1 Then $fHandle = FileOpen($hFile, 1) FileWrite($fHandle, GUICtrlRead($hEdit3)) FileClose($fHandle) MsgBox(64, "File Save","The file has been saved.") Else MsgBox(262160, "Error", "Error saving file.") $iSaveStatus = 0 EndIf EndIf EndFunc Func _FolderSelect($hEdit1) Local $hFolder = FileSelectFolder("Save in:", "") If Not @error Then If StringRight($hFolder, 1) <> "" Then $hFolder &= "" EndIf GUICtrlSetData($hEdit1, $hFolder) EndIf EndFunc Func _HideAll($aControlID, ByRef $abShowFlag, $iExclude = -1) For $i = 0 To 5 If $i = $iExclude Then ContinueLoop If $abShowFlag[$i] Then _ControlHide($aControlID[$i], $abShowFlag[$i]) Return EndIf Next EndFunc Func _ControlShow($iControlID, ByRef $bFlag) If $bFlag = False Then GUICtrlSetState($iControlID, $GUI_SHOW) $bFlag = True EndIf EndFunc Func _ControlHide($iControlID, ByRef $bFlag) GUICtrlSetState($iControlID, $GUI_HIDE) $bFlag = False EndFunc Func _CtrlInitState($aControlID) For $i = 0 To 5 If $i < 3 Then GUICtrlSetColor($aControlID[$i], 0xFFFFFF) Else GUICtrlSetColor($aControlID[$i], 0xEAF7FD) GUICtrlSetFont($aControlID[$i], 13, 400, Default, "Comic Sans MS") GUICtrlSetCursor($aControlID[$i], 3) EndIf GUICtrlSetBkColor($aControlID[$i], 0x000000) GUICtrlSetState($aControlID[$i], $GUI_HIDE) Next EndFunc Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam) If BitAND($wParam, 0x0000FFFF) = 9 Then $bInterrupt = True Return $GUI_RUNDEFMSG EndFunc ;==>_WM_COMMAND Func _AccelKey($hGUI, $idEdit1, $idEdit2, $idEdit3, $msg) Local $sCtrlClass = ControlGetFocus($hGUI) Switch $sCtrlClass Case "Edit1" If $msg = 10 Then _GUICtrlEdit_SetSel($idEdit1, 0, -1) Case "Edit2" If $msg = 10 Then _GUICtrlEdit_SetSel($idEdit2, 0, -1) Else _GUICtrlEdit_ReplaceSel($idEdit2, @TAB) EndIf Case "Edit3" If $msg = 10 Then _GUICtrlEdit_SetSel($idEdit3, 0, -1) Else _GUICtrlEdit_ReplaceSel($idEdit3, @TAB) EndIf EndSwitch EndFunc Func _DisplayPassChar($hHandle, $iControlID) ; By Guiness Local Const $EM_GETPASSWORDCHAR = 0xD2, $EM_SETPASSWORDCHAR = 0xCC Local $aControlGetPos, $iPasswordCharacter, $tRect $iPasswordCharacter = 9679 GUICtrlSendMsg($iControlID, $EM_SETPASSWORDCHAR, $iPasswordCharacter, 0) $aControlGetPos = ControlGetPos($hHandle, "", $iControlID) ; REMOVE COMMENT => GUICtrlSetState($iControlID, $GUI_FOCUS) $tRect = DllStructGetPtr("int " & $aControlGetPos[0] & ";int " & $aControlGetPos[1] & ";int " & $aControlGetPos[0] + $aControlGetPos[2] & ";int " & $aControlGetPos[1] + $aControlGetPos[3] & ";") _WinAPI_InvalidateRect($hHandle, $tRect, False) Return Number($iPasswordCharacter = 0) EndFunc Func _TestInputs($aControlID, $sPath, $sPassword, $sConfirm) ; Test if input fields are correct. If Not FileExists ($sPath) Then MsgBox(BitOR(262144, 8192, 48), "Error", "Invalid Path") Return SetError(1) ElseIf $sPassword <> $sConfirm Then MsgBox(BitOR(262144, 8192, 48), "Error", "Confirm Failed." & @CRLF & "Try again!") GUICtrlSetData($aControlID[1], "") GUICtrlSetData($aControlID[2], "") Return SetError(1) EndIf EndFunc Func _ErrorMsg($iError) Switch $iError Case 1 MsgBox(BitOR(262144, 8192, 48), "Error", "Problem encountered parsing input.") Case 3 MsgBox(BitOR(262144, 8192, 48), "Error", "Password is too weak or invalid.") Case 4 MsgBox(BitOR(262144, 8192, 48), "Error", "File size or format exceed 3D modelling capacity.") Case 5 MsgBox(BitOR(262144, 8192, 48), "Error", "Failed to decode") Case 6 MsgBox(BitOR(262144, 8192, 48), "The Big Rip", "Aborted by user.") EndSwitch EndFunc I think I may make a weaker version of this (to increase speed and size limitations). Edited November 29, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted November 29, 2012 Author Share Posted November 29, 2012 (edited) You have just over 31 days left to solve this and claim the prize, before I reveal the solution. Edited January 1, 2013 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted January 1, 2013 Author Share Posted January 1, 2013 The challenge is now officially closed, with nobody having discovered the solution which I will now reveal. First the encryption from the zip file in post #3: (better to use the zip file - in case of forum code box disfunction) expandcollapse popup8398CC22481594391D66A715898B59B30A2E42CCD37EA03239B434B1748DB9D33950B2DB38B640C348613B80C26786 43305CCB0D2EB1D1691A00D2F030BCE2681315616B543909933690B2EE5A572A78D7DCE13E99D19782C6AD5CA602BEE666219B9C058488E2210B9779C199B31CADDC6763732D2C4F196632E9B986C032CD6B 664852B8146B1B6949999B7CC0480BBC578EA162BC49190B111120E5931B4C59DC519E0D646A38C1723D806D 861C5C60D9991CEC29C4CB1A31759A14B5AD8C53B326E1863A9CD035853DA590E9BCE45E2ED5AB2716C16596BA12B126D9134328BE80DB8415964B0C81918641D9D3093379883E49852629118293D3A765AB 1EEC3658648D83BE991CAAD78A1B58E8B08DA09C2B4B08DB5D031858419C6589C6EB8B1CF85250 FEBD9CD2C0368624723F2F86B666A19AF03302C23030970E266BC37912BD5431B2DD3C8B66316BD3B5B608D48A34FBDD4428C76A5F2D1CE19F50C0CB28EBA23E2170BE9A6B114C43661A5CD1FEAA1713C895 A3813B6D2A3DA2EFDC8AC1D36D01983CEAD045C4B94F4DCB689B0B50C361BEE2C5B71039BC147ADD0915BEA61D44CBDB4B043E2065AEE5B2B31498803238132B81C819D2EC813D19D08D14BCCCD2C76C4EC566CE38 0010220598156C2831A3085950733EA6151268D0461235DCD16F436EEEC33835803A9944033310633ADBD34C879E2C2F12C2BB7EBD6354395A60A0DD4E8C1D4B5CACCD1CA0D192719B66BD9A34EC4B59731E3C1E3A E6C9D1AE98558D0B1B167C0644266B03481902636C57623AB06BCB9A5BA6BC8D96B06EA2BD89A5DCD09E 5ECC885BDD86319CC8F5D011D0603B5C0167BF9112E323B18910332E456CC99698B32CCDC812B588916CC0 8A64BCE5B740BBBAB858BB2CB4E636DD2CA19B8315BB28A47176698653A994E5B89CECAEC8D0081A31FF8994 4BED4EB36404688313350E02B18DB3327AD93CC42B3012DCA5A5A61D6CAC2D8B13ADDE84423B6F4AF047 1C2AD039CBE03DA0EEA6C164ACD471646E4C8D846F2C3B95666DA95471003341A94A9C 6C73B3FCB273BC6C4750DA4A9C2B943D6D9980328597823086531C00C84C8954C056B85DE8DC59651F591E E4E67BB9C38A9684680C6ED576A4A479BE6910333B2A52DAC67B5AC0CB1B56007337284953B2436C36 31BCC19DC8D9AB5E2F2968D39C22B91C8EE2A30B2A54836C74C4DCA2CC123F05A60CA0E4 052A346EA575BE8A3FB530BA062D2E55770AD7570149DDBE4C2921BC82B5635C2C434369CE 4F681C15A5D4631BD8DCB2B4C560F36A517444709583B70B5A4B53499B473B1C1CA2 DC0D260039D08C01A1A169930345688CA42CE9CA06E3C0F33B3A8C665365A3D83EA0E11D63791E24C57EB0D1D0 3ADB15BC29EB8CD681CD30E43D9AF8D99C466DA4AA518CC2B09C9B25BA1338349A 2038D705E250333468E9DB989C00C80EE0B8D2135E9E 2929D9D19D766B058CEC01 FACA181732E618190932CD8F2B9CE642603582CC82BB228A88C190626B90 CA5D1A54E8B04E87B85DA6B22CA697499E9D53B9CD6EACCDD1140EB4091137B001A90D035A10B8D997B4B2C30D 49630442366618BACCC32E8C31903C5C16D8D4331C4B6003 A5386B4B3C1058A64932CB9A875D789648C835385F403CD27E040C683CA4637CDB9C219820CCA10AD6534A129B0D09BCE3286B982D8D130290CEB18850B34C41761EDF3910695B23181B991C818AC307DC0C 0465A42C5118133F6909116B6D1B1D59BE02226CB6C56B3DC585A03D1D62C8090DA509958B40B865BA5199E84AC739A28BA4BD18923CC65F418844DFA60CEA51CBB0360E61D2BB523723C897A3A1F4CD830854 A60A96C585A8ED09936B9465B31E289C068991B63BCB3C658B4AD7B6CCC60C1B89DD5EA0F7A95992C3B896CE446363DB5DDD0B88124B1EE19C9ED373EAC81610903A52D6E1BECC8D77BEAC283164E08CAA B99EF01491A6AE286B212B923CD030B374972A28376AD384B640FD433EC99B94AAE878DC8856C09C58C0F3F59B14BCA8709A9F01A572C369B81E40A5AB967B02B5 9381BB2C62B420C95CA6F4892D25A7B4CED8FCC7BA1D6A447A5B2A56C3063C4AC63F1AB9A85028542F908622BCA0D9 4BE819BC6B7DCE081D3B7D285C3EB8DB13699808CC54A2B19918C812B0EA42D4 748EAC728D92B3126C4598002C2139836C5B9370BDC6F5983956C63EBD9C5B2D603DA6C072BC031C591CC9 B3EA6A3C83292A041CC58334C03570957B4FB8936C333F8CEADCCB5C6AD09C0118833C8166 BD193ECF13D1C64EB904B4C2C8593998C5A5C3A9978E20F42C73930F5A1B799F5664BE3F492A989320BCC4A6 086C803C5598E0DC3E4C0A1FD9552215ADA8C5923C1D62338E0962389B00CBAC9B780F392D 8776A5ADD23B0ECDA95239EC126E85E342BE80360A9311B892 B161359536401FC5DB23D1991E9862656A56B381C40121DC6EEF0E533310318D25BCAC8A953D68006BCB7A20C132 B489923F82C5B6CB2230B2FC29BCC2BCDC0C6E2A1BE08E8D46D34F68F2E63C20C33EDC013C28CE22886DC812D3 606C0D8C946C82BB0B6D244A1EC122BB3089585C08CB238310603C4C8600CAFF1CC8D8BC81C0AC14B9A61339 A7403720DC1C0D8642EE37150CEE167098C8DE4403383581E0B65173BD2AC07754C675BE2D503BC39FD3524F6B40CA C909D7536332EA88C09EF677123994A9C508E98C9ECCE16953BC82378C2E46832BC91FD6640C8C5680C190BC85 B62EE64C0DC8346E8978BC02B1A433180242290561681646AB19AA9AEC8067B5A11063282E2B31218EC36AD919B5 AC620EDCD93B3C612103BA5377DD25318346995C1B06281426AB381C0A1D847E20395D8FCDE375798B83342906EC E58D9B961B098348391E360B059E133F40A31C8B4D4EE233603D91983C905CBE059D509C21966CE03480E9881C07D5 AE606196C235A91104B393323C13872856054A503B766C8A5B1DDC82DA14E9184B1A985D0B488F99 9B672B2D748CE198DB5F5118C6385D5164C1B0633CC36E2CB1CC5484B3 BB4B1CD1BA6F723CCA18908A5634DE065E9C9A3B0E8614E1BA1B98210CAD62C8830CA0B3163196B52194999B 4A54B841B21CA8E92CA31B30C4672675B8DD 8B968435BA6A9CCA2C CCB43ACB2D1B74246B129E5881B7713CE85B56562ED64F2718A91DDC30C6581DAEE1BF63664DBB5CC49588EF0B4C54094A52B19C0D8C222B711EAC09DBB11CD1398CC032440B821956395A3CD39B4B9A0B0640C8 9300146EC3723C2D131990E1358803E3EC1D9F55BDEC766AB0C466BA29809038D064CD141CACAADCCB31BB60D95031FA4EC23B363308B99C1431961D25A8C59D866EA4E59323BE4675A11DD1B26058167BB98D65B38B 8D865CDD4905E2DB11B370316180B4EDCDA3B855C7C34B2B258322C2B61C862E210E581D88C78BDB18EDBBDC89D48363A99A5ECB1BD0D95C248094E123A6F8C618C2B858D8E4BC2C086D340D64B16F6192D233A8CF B6B0C6FCC153AD65D7BDD1B337642C296B146953C8B60EF582B2E99DC5ECD264058ED2E5899ACAC35183 B23C6E78B8EC09B470D977398CD5EC099633501D9B3AB30C823E00C91D86C0FFA1F806830B16BB 5C2DFDC526643EC62E5B32B0C395A86116A6EB26D800BA14681B23291C537F45F813685C8C05 623FA893FB5B0271B853B338585D919D0C646238C065BC2191B5BD407AC91A4C0D2D048B3F3065F8 18A1AE16D0B30663723918102DA6CF65C0F58CA6D48C458990BDC76D93BA92B766395663618485C3 195516189565F5B059958B61316997BC098C222D555673812C64AB08CE3694A25DAB389ADF4245291F 08D4B896099C8B090AD89E8B090CD15C05A99AF38B14AAD6F2803B5C10C5BF4417703DC62C372E8D 18C4B34ACD36B1961C04330B6E933D86B03670BC896A30695B1A3402ECE698FE9B5E8AF57CCF 6D42C1C412CEDB4CCB803D0661389D42036AE2607118C19FA5560303959B68BB35CA3DAE1C4C 48E5932E80A632D2D0C4428D1CAD656F530A10C332BC4E529017348A58695C0B91F4443502D91B4810 3C8661A4C1959308E91632311919B5C14992ED02B5985EDF503A 466E416ECC6E660235B2B46AD5DB547F89BCB93C5C543A3C8765886958D7623CD81B0FA30C84F4279D CD1CD8118BBB5162AEDB232C860CAD4030C8335239731838166634E99EC8CC2A9C4E52BEA1C8AC699B 26BC53B0CA9D1BE6011A132AC2DB532959CD95A31816DCAAD4246B633B5A547B4D9754B2B86B5CD8D90BB4AD93687CE138558996481C1E2F915BD426B5BC0CC5B3BBD722312D6D6A3C5B30E902392A10B38C4D3CAD9A903B 6CCF6A1035E8DC6EA1EB713E04B604B891B604B313B9BA368234CDB973173BA630486B6AD231294C6635ACAF4CA2C141323D8EC18CA58952386E667941D3C4F9363489803A12DE38416A3232CC899D073B5D0C0C 08CBD1848C428B290EEAC694C8D53D5D843DC44DE0CF6FA810CB707C6F85776EE8BB9F67ACA9D443581325B8981D00DB0980347E3DEC8708ECE954AB0D3C69818A333927D431D7D8BE6AE95F6948D6413B9C C2481166381C4F0DE6263D9308B61020BC86C4670F8462B128943B022C16F8C76B38CAFC1C5440653608C896B8E2653D34AC8DB1C8 C8A05EECEC689E36C03E1D4282630B5A5B133D4FEB1F02D9D8A62D961E8A45CCA71E7D206AAEC391CE34B856247B19746D96C62B15943E7FCE62AEA405734CED424918C48F784855A19163AD1806BA 9C2B61CB2BD1664470B5935619D91126189D46 822B0562CDB82C069E598D2993306913433D6BDCCEA909999343519B4C335C2283618D823D058B5ECB2C5F0ACD64 958CE43A55D6BDA1AA89DC21FD6AC2B9F2D91D05A64CCD46E186C314895B01BAB4B4BF5B003D427CA8C4 3B106D4E53AA148EFB1FE6B0C34B0ADCC1E149585D776B2595AC49D8C8DD4530E6F85C1B3CF1BD616CE7A470 B19E7C20B9030910D581656238E810C248FA02CD067A1988B3268666491D995933A54EC869C34C811A1E19BA186D C0BD110A0A34E8BC3CA4FB5EA323C85276664032C4A30E691CA369DD8AC2C237B2FB095B2C686B77991DE431583ACA 9FD6956B16AFA110B95B93BAF649556C089CA24794FB1C018F8A4D830816E1A841397E219EA14060BD8D28194236D21584C6B6 5C4B8709DA3C1E6D9B43985E1B7C219FD3E9D44C093ABDA9516F5BA961D9830349DA9D40A5A56D7134E468B5C9A1E0 197270C4DB5A0C8AC403E2B061EF1791D810 C6B3B613623A18991DE6 FE819AC9AFC6060CD9C391B48965C03910316738D783649604ABDE9582199C69898ADE918B1C967581B4 8D0722691097937A6A65BB26C0161E870D2B0F5ADD02C68A195A7D 381C0B5D6B496B9D9D4B4B5ACA5C81 F5A64B9168C8170EC3395988C53CAE0C241C0528BD6E658844B36E0131A5A65D636B256D51AB42AAB2 229D0763B1691B63B648DFC022F95A9C62C46CFCC99EE5EB46CACB5583419C01323ECC0BE060C8 6D38D8C1FFEE164B0CBDE306B3242DBCC2C91CA2D5D37EA4933AC0D2CC483C4C2C2C7B49281AC3803C00C0 3A5BBD8844698E8B509EC7BC00DBD01C023CA2758DEF323319B8D0B6BB031331BD 495EE987B8CDDAE95310CCCCC62C8E0E6711B310BB2AED9D1777A0B5E85A9B4168AF2685896816461535A919DCEB2E48E16A3CEF3F181D27231260BAD3A36D02CD46E23AE4332A1163B1B0D06136581DACE508DC24E9 1E8DB98165D2666B10B4CE1819970EBD15B0CC5C4B891D81C4238AD60D0CCEA773616A5BD36239161C1234630858D300BE20B7B07D86391191C6E6BB8C679BD95EA205BCE8F49B384862 B14C046418533AEBC33309533B66A92C41991513205C690A95C9172DC0D3763C80322436B33A90B3609DE23616948CB311A3B322B5687C6957E30DC4A039C48CAC6AE3903331B760DC88EED2077DE079D36B 1182B03185F3381CCA30C164B2B85EA0BEC138DCE124CD51C1DECCE62B5F2862867CA2C5385286BFE4DD22D07E8944FA7A7C8CE5916C8731976D8D0898CBB39B348A1AD000DB0999B06C9C8C23C0D2E80C89CB9C01A59E 392DE2DB30F643BC68 DF0D8B5AC4C93A4500CCDC4F3B985C8CC6DC918B42371166B640D23E0C8461BD6852BBC3A3171856 2922C2E89B170362B4A24A41BEE567A435AC65A5DAD18915CC676B960D03B95D22C6434B28D8947DA5 69DE06D959BCA1966C24CE8C20193C4B74BD20358621BBD25968196B685726CB659402CE6821BCA6916B0E8E89C3 0DCC226B9F48459723005D13133C02688B0C1C663965B1BB0779DCDB62AF5C0613285CA6E1946C0AB9119CCDEB01 6BD383CC28D42E2CA8991469048312B8DD873F48DC8C3D81932DAA8BDD60D7703D918FBCD918BD051C49EE009E60 C5B996D9DE1E 02D5CD88C9905B91B50327923C5939DB363C86FC215031C164AD510E1C28CA1E60BE136311D441B18959 0427D3A18DAD05FAD34A503CD69ACE1316C5D0631E06206D95DC4467B36259D4C99739713ACB59D6E8 Now the plain text: expandcollapse popup[Extract] Conventional wisdom says the universe is infinite. But it could be finite, merely giving the illusion of infinity. This possibility has plagued philosophers and scientists since the beginning of recorded history. But now modern science is starting to drag this abstract issue into the realm of the real, the tangible and the observable. How the universe got its spots looks at how science is coming up sharp against the mind- boggling idea that the universe may be finite. Such a revelation would provide the ultimate twist to the Copernican revolution, for we would find out exactly where we are in the cosmos. Its impact would be even more radical than the discovery that the Earth is round or that the Earth is expanding. Through a decade of observation and thought-experiment, we have started to chart out the universe in which we live, just as we have mapped the oceans and the continents of our planet. Now, in the dawn of the new millenium, details of this grand cosmic map are coming into focus. Through a kind of cosmic archaeolegy and without leaving Earth, we can look at the pattern of hot spots left over from the big bang and begin to trace the ‘shape of space’. Beautifully written in a colloquial style, How the Universe Got its Spots explores our aspirations to observe our universe and contemplates our deep connection with it. While relating her own personal and intellectual journey through space abd time, the author gently takes in such gravity-defying concepts as black holes, time- warps, invisible ‘strings’ and chaotic flows. It is a fantastic voyage, impressing on us the extraordinary fact that we are progeny of this universe and that our ability to understand it is an inheritance. £16.99 IN UK ONLY Janna Levin is an Advanced Fellow in the Department of Applied Mathematics and Theoretical Phisics at the Universty of Cambridge. She was born in the United States and lived in Chicago and New York. She received a BA in physics and astronomy from Bernard College, Columbia University, a PHD from the Massachusetts Institute of Technology, and subsequently worked at the Canadian Institute for Theoretical Astrophysics, and the Center for Particle Astrophysics at the University of California, Berkly, before moving to England. Weidenfield & Nicolson The Orian Publishing Group Orion House 5 Upper Saint Martin's Lane London WC2H 9EA Author Photo by Louise Dignand ‘Janna Levin is one of the most tallented and original of the your cosmologists and her book combines a tour of the frontiers of cosmology with an intimate account of her struggles to reconcile the demands of a scientific career with the demands of the heart. No other scientist has yet had the courage to write such an honest and personal account of what it is like to live the life of a scientist’ LEE SMOLIN, AUTHOR OF THE LIFE OF THE COSMOS AND THREE ROADS TO COSMIC GRAVITY ISBN 0-297-64651-6 [Extract] In the last twenty years or so, a clear pattern has emerged in the world of chess— the overall superiority and depth of the Russian chess masters. This book was prepared originally in 1947 by Irving Chernev, one of our countries leading experts, in an effort to point out the causes and factors contributing to this decisive supremacy of the Soviet aces over American and other players. Chernev has put together a remarkable anthology of games—chosen from among thousands of top-flight matches involving Russian masters. Fully annotated and dia grammed, they provide a unique, analytical view of the emergence of Soviet domin ance, while illustrating the winning styles of about 40 prominent players. There are over 50 modern, instructive games by such greats as Botvinnik, Keres, Boleslavsky, Kotov, Ragizin, Tolush,and many others. For this new edition, Chernev has included an additional section containing analysis of six games played in recent years by Smyslov, Petrosian, Taland Bronstein. Inci dentally, all were virtually unknown when this book was first published—indicating the continuing progress and development of Russian chess mastery. Here are examples of the artistic endgame, the brilliant queen scarifice, the extended combination (one splendid combination by Botvinnik is carried out successfully for over twenty moves!), the imaginative attack, the beautiful trap, etc. in games which help to make clear why the Russians have attained the top rank in international play. These games offer a treasure-trove of ideas in chess strategy; a study of them will be of inestimable value to chess players of every level. Enlarged version of the work first published in 1947; 6 additional games. New preface for this edition by the author. Total of 637 diagrams. viii + 215pp. 5 3/8 × 8. Dover 0-486-21165-7 And finally the password: RubinsteinsSchachpartienentdeckt ichfürmichziemlichspät.Ichwar bereitsMeisterkandidat.DerReichtum anschöpferischenIdeen,dieRubin- steinhinterließ,beeindrucktemichda- malssehrstark. Xandy 1 operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted January 2, 2013 Author Share Posted January 2, 2013 (edited) ConclusionThe impression I get is that this system is very strong. I can only liken it to doing a massive Rubix cube blindfold: since a normal rubix cube has a known outcome. Considering that it took Google 30 years to crunch through all the possible solutions from all starting possitions of the rubix cube, I never much feared for my money. However encryption is not my expertise, so who knows?With this project I learned something valuable about handling complicated algorithms, yet the overall concept is in reality very simple. I wouldn't go as far to say it is impossible to crack, just that it may take forever.The original idea for this project started here: Edited January 5, 2013 by czardas Xandy 1 operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted August 4, 2013 Author Share Posted August 4, 2013 (edited) I think I may make a weaker version of this (to increase speed and size limitations). I did exactly that. There's no reason to have an encryption where you have to wait until the end of the universe to see if anyone can crack it. The following encryption should be far weaker than the previous. It's much faster and more flexible. The code still needs additional error checking. CODE DELETED ; ;I just need to create a new GUI for it. This is my final attempt at working on such a project. Code will be removed to a new location shortly, so take a look at it now. I prefer it for its simplicity. Edited August 19, 2013 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
czardas Posted August 5, 2013 Author Share Posted August 5, 2013 Some of the links in this thread will be removed shortly to free up server space. operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
Joeit Posted August 6, 2013 Share Posted August 6, 2013 This is quite interesting.. how the heck does one come up with it?! Link to comment Share on other sites More sharing options...
czardas Posted August 6, 2013 Author Share Posted August 6, 2013 Joeit I'm glad you find it interesting. I found it a challenge to come up with a unique encryption. How strong it really is is difficult to say. If I try to do the maths for the time it takes for brute force attacks, the numbers get silly. I know how it works and I wouldn't have a clue how to unscramble the data without the correct password. This is not quite the final version, but very close. operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
Recommended Posts