Yes this time of year I generally have too much time on my hands.
Every winter I generally dive into a project of some sort. I like programming, but there have been so many times that I have felt an urge to write a program of my own and its like, what can I make that isn't completely pointless and would be useful to me. Making a program that scrambles text became this winters project as for I have a small notebook that I use to keep in my trunk of my car so that in case of a fire or same notebook in home was lost, I'd still have passwords and private info readily available... BUT its very dangerous having it all in a small notebook where if it fell out of my trunk or someone got their hands on it they would have "EVERYTHING" in clear text to use.
My plans with the program I have is its a 2 part. A file is created with a key listing, and another file is created with the scrambled data. The key file and scrambled data file are kept separate so its like a key and a lockbox. But the lockbox is like a box of scrabble squares in it with the squares all different colors. It could be any message, but without the key and program to reassemble the message its almost pointless. Then a USB stick or a CD or DVD is burned with this data only without the program and keys needed to decrypt it. The program and key file is then kept in 2 locations, but never in the trunk of car, where odds of both locations having a fire for example at same time to destroy it are unlikely and the data and the tool and key to decrypt it are always kept appart with exception to when I need to look up a complex password that I dont use every day.
The program I have now is not perfect and it needs to be strengthened. For now with it in its weak form words that have duplicate characters such as Hello World I enter into it as HeLlo World so that a duplicate character output is not seen in the scrambled output which is what a crypto cracker would probably use as a means to brute force it back to its original form. But passwords that are case sensitive unfortunately if there is a Password of YellowDog5$ the scrambled output would be something like &577*xH*+qU and that 77 pairing in there is a weakness!
Hoping to implement later more complexity to it so that you could get pairing but pairing would not likely ever be substitution for the same character by use of multiple shuffled strings in use and based on the character placement within the full message to crypt its scrambled that much more complexly. Including an idea to salt the message with extra characters to add noise to it so Hello_World would not be always a scrambled output of 11 characters, but could be greater than 11 characters such as an output of G6*k@mJ?>0pZ&$Bvd3L# ( 20 characters ).
The good thing is that my wife of 20 years knows my Winter Cycle of diving into programming heavily winters when daylight is short and too cold outside TV is boring and I get burnt out on video games. She has learned not to ask what I have been up to. Although she asked the other day and then after I started spilling out what i was doing and this algorithm doing this and the probability of a string match and running 1 Trillion iterations to test for the slim possibility of an exact match absolute worst key to use scenario she told me to shut up. ha ha ha
Then I had an idea and started writing it onto paper as a brain dump and she told me she doesnt want to see me even writing code or flow charts at the dinner table as my brain is still going.
I told her as long as she doesnt see me wallpapering the room in source code and flow charts that I'm still sane.
She also said you should have married a computer nerd girl who gets turned on by code talk. I then reminded her of a girl that matched well with me at work 16 years ago and how if I wasnt married to my wife, I suppose that would have been the one since we were both heavily flirting with geek speak and very into each others conversations, as well as she was very nice on the eyes, but being true to my wife, I didnt leave her or cheat. She just looked at me and shook her head and I laughed. I said so they say opposites attract. And your telling me that likes attract then.
She then said that you should have been a character on the tv show big bang theory and I laughed and said thank you for that compliment.
Thanks BC for that info on Windows 7 memory leak. I wasnt aware of that and this system hasnt been connected for Windows updates in a while. I will update it tonight. Also interesting that my IDE didnt complain about the #include <algorithm> missing, not even a warning in the compile log. Also I dont run systems for days on end anymore other than some laptops that are crunching for BOINC in my basement. I either shut down my systems or have them processing data that is CPU intensive such as online gaming events with others that i record with Fraps and then use virtual dub to take the raw 40GB video file and process it down to a more manageable 1GB video file when I am sleeping and they are completed with processing by the time I wake up in which I check e-mail, delete the massive 40GB file and then shut it down and head to work.