I don’t plan on posting many of my political views on this blog but I feel this one is important enough that I can’t just sit by any be silent.
After the recent terror attacks on London, Teresa May is once again attempting to push her own political agenda that the government needs more power to police the internet in order to prevent these sorts of things happening.
Oh boy, where do I start on this one?
Teresa May wants governmental agencies to have access to everything so that there are “no hiding places for terrorists to hide”. This sounds like a good idea in principal but there are some deeper issues that make it not only irresponsible but impossible. The terrorists were already known to the police at the time of the attacks so the intelligence services would already have had access to as much information about them as was needed to complete their jobs. Let’s ignore this fact for now.
I’m sure everyone is aware of the recent our break of malware that severely impacted the NHS infrastructure in England and other institutions around the world. The underlying technology used by the malware to infiltrate systems was originally developed by the NSA and kept hidden from the world until it was released by a hacking group called The Shadow Brokers. The NSA had kept this exploit hidden so that they could leverage it for their own operations. In effect there was a backdoor written into Windows (albeit an unintended one) that could be leveraged by anyone that knew how.
Imagine if the government started to intentionally add back doors to existing technology and infrastructure to enable them to spy on whatever data may be contained. The government could access all the data at their own discretion but so could anyone else found the backdoor. A door can be opened with anyone by the key and we all know that keys can be lost, stolen or misuses.
Encryption technology is the backbone of the internet – it ensures that everything from PayPal payments website logins are secure and safe – I’m sure you will have seen the padlock in your browsers address bar.
Encryption is, for the most part, a clever application of mathematics designed to perform operations that are quick to calculate when certain parameters are known but exceedingly difficult to forcibly break if one or more are not. It’s probably impossible for most of the current technology in use have back doors added. This much is evident to anyone with some basic understanding of how the technology works. Would this mean that these technologies would no longer be usable if Teresa had her way? Would it mean that we would need to use government approved insecure variants?
This nonsense has to stop. The government needs to stop using tragedy as a hammer to try and push forward it’s own moronic agendas.
The technology should be left to the experts – the government doesn’t fall into this category.
For a long time I have been planning to learn Japanese and I have attempted to do so on and off for a little over a year.
My main drive for this has been my love for the Japanese culture and more specifically my interest in anime.
In my various failed attempts to learn the language I have learned a few things that I was ignorant of during my initial attempts:
In order to get a good grasp on the spoken language it is very helpful to learn the written forms first.
Learning the written forms of Japanese is more complex than one would initially expect as Japanese has at least three written forms that are used interchangeably.
The written forms of Japanese are very unlike English and the sentence structure is completely different.
To this end I have decided to write a program that will help me learn the basics Japanese characters – starting with Katakana and Hiragana. I may or may not attempt Kanji after I have some success with the other two.
The program will break down the written forms into categorized subsets, giving options to choose which of the written forms and subsets to use. It will display a random character and prompt the user to enter it’s Romanji variant.
I have other plans for the tool later but I need to start somewhere!
It has been quite a while since I last made a post here. In the near future I plan on starting blogging about my experiences in programming (and other related topics) again. Hopefully I will be able to provide some information related to the “Learning Japanese” program that I am slowly putting together.
This is something I recently had to do so I figured I’d share this with anyone else out there that may want to know. For a long time I’ve wanted to setup a local web server to build and test sites locally without the need to continually upload the files (and as a plus of course, local files are easier to back up). After some research and playing this is the process I eventually came up with to get the optimal configuration for what I need.
Firstly it was a choice between XAMPP and WAMP. I ended up choosing WAMP because I didn’t need Perl. Other than that they seemed about equal.
After downloading the EXE I installed it (obviously) and copied the files to the www folder (which is located in C:\wamp\www\ by default). I noticed a few problems right away however. .htaccess rewrites didn’t work as the module was enabled. To re-enable it I clicked on the icon in the task bar, clicked on “Apache”, then “Apache modules” and selected “rewrite_module”. I then had to restart the server by clicking on the icon once again and selecting “restart all services”.
That fixed most of the rewrites not not all of them worked. It turned out this was because I needed to add a virtual host for the project. Luckily this also wasn’t difficult to achieve.
First you need to pick a name for the virtual host, I picked tnda because that was the name of my project. That name will be used in my examples here. After picking the name you must then open the following file: “C:\Windows\System32\drivers\etc\hosts” in your favorite text editor. At the bottom of the file you need to add a line like this, substituting tnda with your chosen project name. Note that this name CANNOT include spaces!
After doing that, save and close the file.
Next we need to modify the Apache virtual hosts file. This one is also luckily pretty simple. In the default WAMP install it should be located here:”C:\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf”. Of course the Apache version may vary depending on when you installed the program. Open this program in your favorite text editor and at the bottom of the file you need to add this. Substitute the path here “c:/wamp/www/tnda” with the path to the folder in which your project lies. You also need to replace the server name (TNDA here) with the name chosen in your hosts file above.
Options Indexes FollowSymLinks
Allow from all
Save and close the file. Now you again need to restart Apache. You will now find that you can use full mod-rewrite rules on that project and as a plus you’ll be able to use http://projectname to access the resources quickly locally when the server is active.
It has been a while since I posted so here is an update for you guys. I should (hopefully) have some time to post some more blog posts detailing my current projects over the next week or so.
My image encryption tool (now known as PGIE – Pretty Good Image Encryption) is finally completed. Anyone wishing to test it is welcome to ask me about it.
Here is a little description that I threw together about the program.
Have you ever had a secret you wanted to hide in plain sight while still feeling secure? If so PGIE is just the program for you!
PGIE uses an innovative and unique mix of new and traditional encryption techniques to store data within a randomly generated pixel image that can only be decoded using a special key file.
How It Works:
PGIE first encrypts the data using a Rijndael symmetric algorithm. The key used to encrypt the data is a randomly generated 1024-bit binary key that is unique to each encode.
The encrypted data is then split into sections and stored within the image. The data is then further secured by modifying the file based on the information stored within the key file. Finally the image is modified to make the original entry point unreadable.
If either the key file or encoded images are modified or damaged then the encryption is one way.
In order for a brute force attack to be successful on this encryption the whole key file image would have to be guessed precisely; every red, green, blue and alpha component would have to match the original in order for the decryption to occur successfully. This would take a very, very long time to achieve with modern computers. See the technical details section below.
There are a set of 65,535 possible characters that can be used in the encryption key and the key is 1024 characters in length. This means that there are 65535^1024 possible key sets to choose from – one very large number! In the simplest terms possible – if a computer can generate a billion keys per second then it would take far, far longer than the universe has existed to forcibly break.
There are four channels for data within a PNG pixel, red, green, blue and alpha. Each of these can range in value from 0-255. That means that there are 256^4 possible colour values per pixel (4,294,967,296). As the image size grows more pixels need to be correctly guessed in order to decode the image. As such each added pixel makes the image more difficult to decode again, making it virtually impossible to forcibly break.
It has been a while since I last posted. Unfortunately my recent work with CCC has kept me busy and away from my personal projects. However as I currently have some spare time I have decided to revive the old CSIT project and revisit the idea.
I will be starting work on the project in short order (probably tomorrow or later next week). The project will probably still be called CSIT (Complete System Information Tool-kit) and will be similar to the old ideas for CSIT but not identical.
I am currently working on the plans for the design and core code ideas. The project will be based around C++, ASM, C# and WPF.
Just a quick update. Firstly happy new year since this is my first post for this year.
I’m currently working on a new site that will give Neopets users some interesting new tools to play with. I will post more details about it as I decide what features will be there – but in the mean time any suggestions and requests are welcome.
I will be focusing much of my efforts on statistic related items – trying to determine how the random events and so fourth work.
Here I am, writing about yet another one of my projects. This time I have decided to work on a program relating to a subject that is both close to my heart and one that some people find difficult to understand – chemistry.
I am thus building a tool to help people understand and solve chemistry related issues, it comes with a periodic table (as shown below) a chemistry calculator as well as some other features. As always I am open to suggestions and help should you wish to contribute either.
I will post developments on this project as I complete or start work on various parts of it so stay tuned for more! (Yes, I did copy the colours from the Wikipedia Periodic Table but I am colour blind so that was the best I could do under the circumstances!)
In an earlier post I said I would explain a little about the the format used in my new data encoder and so here it is.
The images are stored in PNG, not any other type of format, because PNG supports full alpha transparency. The data is encoded by converting the text into binary data and then these are converted into pixels of colour, with the data stored in one of the 4 colour components (red, green, blue, alpha).
Certain operations are then done on this data to make it harder to recover and the remaining spaces are filled in with randomly generated pixels.