Pen and Paper Crypto: A basic exploration of substitution ciphers

Cryptography is an essential part of today’s online information security. Without cryptography there would be no way to safely store your private data on remote servers (it is stored encrypted right?), to safely complete online transactions or to authenticate with online services (you make sure SSL is enabled on the websites you visit, correct?).

Cryptography and information security, however, is not new. It has served as a tool for secure information exchange throughout history, playing a very important role on events that have marked humanity. With time, it has also been rapidly evolving and as new cryptographic techniques are created, more sophisticated attacks are devised, becoming a never-ending game of catch-up.

The first known real cryptographic techniques were very basic, but are both fun to play with and provide a good foundation to understand modern crypto practices and their weaknesses. In this article I’ll be exploring some of these techniques, how they work and provide interactive “playgrounds” to experiment with.

Rot13

The first one is Rot13. This encryption method is more of an obfuscation technique, because it doesn’t provide real security since the key to encrypt is public. However it has been used effectively on online forums to hide messages that are not meant to be read right away. Movie spoilers or puzzle solutions are some good examples.

This algorithm works by assigning a number to each letter of the alphabet. For example, A=1, B=2, C=3 … Y=25, Z=26. Then for each letter on the message, we add 13 to it. If it goes over Z, then wrap around and start on A. This is visualized better on the playground below.

One of the most interesting properties of this encryption technique is that the encrypted text is all that’s necessary to get the original message. You can try this by copying the Cipher Text into the Plain Text field on the playground above.

Caesar Cipher

The Caesar Cipher is a variation on Rot13 in which the rotation by 13 is no longer fixed. This means that our key space and therefore the security of this encryption algorithm is increased 26-fold (yep, mindblown)

If we designate X to be the shifting value when encrypting, then the key to decrypt an encrypted message is (26 – X). You can try it below.

Vigenere Cipher

The Vigenere Cipher is like having multiple Caesar Ciphers chained together, each with a different shift value. The number available key combinations now multiplies by 26 for each instance of a caesar cipher. So, if you have a 3 character key (a character represents a shift value), our key space is 26 * 26 * 26 = 17576.

While the key space for the Vigenere cipher is much larger, all these encryption techniques have some flaws that make it easy to break. I’ll explore the basic technique for this attack in part 2 of this series.

The code for the encryption playgrounds is available here: https://github.com/urtubia/substitution-ciphers-playground


At Olark, we constantly spend time teaching and learning from each other. We have a weekly Show n’ Tell session, where we spend time learning from each others’ skills and interests. This post is an adaptation of one of our Show N’ Tell sessions I did.

 

My Internet (and MIDI) controlled Necktie

Pinoccio Nexopixel Necktie 1

A necktie with NeoPixels sewed into it with conductive thread. Powered by Pinoccio

Internet connected wearable devices are getting more and more common these days. There are many devices available off-the-shelf right now, but there is something special about being able to imagine and create your own. To accomplish this, I truly think the best platform right now is to use a Pinoccio.

Continue reading

SX-150 synth mod instructions, schematics and code

Many people have asked about the instructions and code for the SX-150 mod I did to add MIDI and Audio out, therefore I’m posting the plans for everyone to try. By using the Arduino as the brains of the operation, a lot of other options are available for the mod, really the sky is the limit. If you do any cool hacks to it, by all means, please let me know.

Parts List

Connections from the synth

Back of SX-150

The contact spots shown on the picture refer to the connections on the schematic. Just make sure to get these ones right and that the soldering joints you make are pretty solid.

Casing

IMG_2762

This part gives you a chance to be creative, so get your tools out and make something cool. For my mod, I used a cigar box, and made holes for all the cables that will get connected with the main circuit. I used epoxy to glue the gakken to the box and it is doing pretty well so far.

Just make sure that you will also be able to change the batteries when planning your holes.

Circuit Schematics

Schematics for the gakken sx-150 mod

Schematics for the gakken sx-150 mod


NOTE: It was brought to my attention that the connections P1 and P2 on the Gakken SX-150 are reversed on the schematic above.

Arduino Code

HakkenGakken.pde

Note that there is support on the code for a LED on digital pin 3 that flashes as notes are played. This has not been added on the schematics and it is optional.

If you improve the code, make some other cool mods or have questions, let me know!.

I’m now working on a standalone Arduino based MIDI sequencer on the cheap that can drive this little toy. Updates coming hopefully soon.

Gakken sx-150 arduino hack number two: Adding MIDI and Audio out

IMG_2764

I finally got around to finishing the hack to my Gakken SX-150 mini synth. On the first part I added the ability to be controlled by Arduino through a virtual software midi port. On this iteration, I added a real midi in port and I also added a 1/4′ plug audio out, to make it more usable with standard audio equipment. For more picture you can take a look at the flickr set.

IMG_2769
IMG_2758
IMG_2761

The MIDI part consisted in combining the Arduino MIDI IN circuit and the Voltage Control Circuit described on the first part of this hack.
And, this is how it sounds!

Burned Boss Giga Delay DD-20

Do not, I repeat DO NOT use a 16V adapter on a Boss DD-20 Giga Delay, or this will happen to you. I’m not sure what kind of chip is the one that burned, but its original writing was BJSL. If you know the chip that is burned (IC12) please let me know! I’d like see if I can fix this.

IMG_2683_indicator
IMG_2701

IMG_2692

Instrument-a-day

It seems that during February, other than my super favorite FAWM, there are plenty of other interesting things going on, that have the same “goal oriented” objective. Well, for one, there is the RPM Challenge, where you also do music, but you have to actually turn in a CD at the end of the month.
But, I just discovered this other one, Thing-a-day, where you pretty much pick your poison, do something everyday and document it. This also sounds pretty interesting, specially because some people are able to exploit their creativity, without being framed by a format or activity.
Case in point, (pretty awesome btw), this guy made one instrument a day for the month of February.

Ranjit’s A Hand-made instrument a day