• 0

I am writing a ceaser cipher


Question

hello all I am writing ceaser cipher in java (to go along with a massive encryption tool when its all done)...

I just wanted a few opinions really...

should I include special characters? like punctuation ... if I leave puntuation out of a cipher it could be easier to decrypt ... example

hello bob, how is you're mother?

could looks like

gyrrq tqt, gqp dz uqi'wy fqmgyw?

obviously I can see that the first word is probably hello and that the second is a name or something to address someone due to the normal letter lay out if wrong I can for sure see the " ' " which would suggest "re" .... but if I remove all punctuation sentences can become hard to understand or meanings can change all together.

also should i make everything a standard lower case? this is my alphabet char array so far:

{'a', 'b', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',

'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1',

'2', '3', '4', '5', '6', '7', '8', '9', '0', '\'', '\"', ',', '@', '[', ';', '#', ']', '-', '_', '~', '{', '}', '?', '*', '?',};

is this going a bit OTT? or good to allow proper communication? i need to add more special characters and maybe remove the caps (as most people would assume the first would be a cap in a sentence which allows a small amount of elimination)

opinions? thoughts? ideas? extras?

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

What type of encryption tool are you going to write that uses a caesar cipher?

Ceaser ciphers are pretty weak for security, as are most rotational ciphers, so I hope its not meant to protect something valuable. ROT13 is another good one to play with, but it doesnt use punctuation, only letters of the alphabet.

If you really wanted to mess with someone, make it load the russian cyrillic alphabet as a cipher :p

Link to comment
Share on other sites

  • 0

What type of encryption tool are you going to write that uses a caesar cipher?

meh just an extra layer ... its ceaser ciphers (maybe going into enigma) the ciphered text will then be encrypted using RSA with an optional AES

Ceaser ciphers are pretty weak for security, as are most rotational ciphers, so I hope its not meant to protect something valuable. ROT13 is another good one to play with, but it doesnt use punctuation, only letters of the alphabet.

If you really wanted to mess with someone, make it load the russian cyrillic alphabet as a cipher :p

ha! I like that sounds amusing ... like i said just adding it on for that little bit extra ya know :p

Link to comment
Share on other sites

  • 0

"meh just an extra layer"

"will then be encrypted using RSA with an optional AES"

So in other words utterly pointless.. Like mac filtering or disabling your dhcp server as "extra security layer" on your wireless while your using WPA2.

Clearly not following KISS

Link to comment
Share on other sites

  • 0

"meh just an extra layer"

"will then be encrypted using RSA with an optional AES"

So in other words utterly pointless.. Like mac filtering or disabling your dhcp server as "extra security layer" on your wireless while your using WPA2.

Clearly not following KISS

pretty much pointless yes , just for practice mostly! it wont do anything.... except annoy who ever is trying to decrypt it as well as suck up processing power lol !

Link to comment
Share on other sites

  • 0

"annoy who ever is trying to decrypt it"

So you mean after they break RSA or AES -- so your talking someone with the computer power of a small country at his disposable? You mean that guy, that guy that really wants to know those launch codes SPEhosting is sending via some special code he wrote.. That guy?

I am fairly sure, nobody is going to spend 2 seconds on "cracking" your encryption - unless you put some sort of prize on it in the 1,000's of dollars, etc. Now if in the 100's of Ks or Millions you might get some serious people trying to break it. If not then sorry nobody is going to be wasting time trying to break your "practice" code.

Thats great if you want to practice, practice with something useful - so some software using using a "Caesar Cipher" based encryption makes sense. But then wrapping it inside of AES, that is not practice that is just pointless complexity that serves no purpose.

KISS!!

  • Like 3
Link to comment
Share on other sites

  • 0

"annoy who ever is trying to decrypt it"

So you mean after they break RSA or AES -- so your talking someone with the computer power of a small country at his disposable? You mean that guy, that guy that really wants to know those launch codes SPEhosting is sending via some special code he wrote.. That guy?

I am fairly sure, nobody is going to spend 2 seconds on "cracking" your encryption - unless you put some sort of prize on it in the 1,000's of dollars, etc. Now if in the 100's of Ks or Millions you might get some serious people trying to break it. If not then sorry nobody is going to be wasting time trying to break your "practice" code.

Thats great if you want to practice, practice with something useful - so some software using using a "Caesar Cipher" based encryption makes sense. But then wrapping it inside of AES, that is not practice that is just pointless complexity that serves no purpose.

KISS!!

wow you are just a bundle of joy to day aint ya :p lol the RSA and AES have a very vital role in my program, its for a secure communication which will be built in to android communications (text messaging and hopefully phone calls, which may be a little harder) I have already started this app in a basic messenger style (which is easy as hell) but I want to make it so people can use their text messages and minutes rather then their data allowence. the point of RSA being included is so that people dont have to have a key they made up... because lets face it people would send the password via a plain text message and make the whole thing rather pointless...

your right the cipher is POINTLESS it has no point in this program and wont be in my final version, I just thought it would be fun way to kill a boring night (i know how sad that sounds)

Link to comment
Share on other sites

  • 0

your right the cipher is POINTLESS it has no point in this program and wont be in my final version, I just thought it would be fun way to kill a boring night (i know how sad that sounds)

Writing a Ceaser cipher encrypter/decrypter is acceptable fun (a few years ago I implemented a few algorithms to do brute force decryption and things like frequentist analysis to break things like Affine ciphers).

I think its more that you worry us by writing your own encryption layer AND THEN planning to use it in an actual application. Something that should never need to be done.

Link to comment
Share on other sites

  • 0

hello bob, how is you're mother?

could looks like

gyrrq tqt, gqp dz uqi'wy fqmgyw?

Are you sure you even know what a Caesar cipher is? That's not encrypted with a Caesar cipher... a Caesar cipher is a type of substitution cipher where you shift by a constant.

h->g is +1, l->r is +6, o->q is +2... they should be the same... if not, don't call it a Caesar cipher. It's a generic substitution cipher... which, admittedly, is more secure... but so incredibly insecure that it's almost as good as unencrypted. But not the point if you're just having fun :)

Anyway, to answer your question:

char c = 'a';

char c_shifted = (char)((((int)c)+2)%256)

Something along those lines... convert the character to an ASCII value, add a constant (here, 20), then compute the modulus with 256 (assuming 8 bit chars...), then convert back to a char.

Link to comment
Share on other sites

  • 0

Are you sure you even know what a Caesar cipher is? That's not encrypted with a Caesar cipher... a Caesar cipher is a type of substitution cipher where you shift by a constant.

h->g is +1, l->r is +6, o->q is +2... they should be the same... if not, don't call it a Caesar cipher. It's a generic substitution cipher... which, admittedly, is more secure... but so incredibly insecure that it's almost as good as unencrypted. But not the point if you're just having fun :)

Anyway, to answer your question:

char c = 'a';

char c_shifted = (char)((((int)c)+2)%256)

Something along those lines... convert the character to an ASCII value, add a constant (here, 20), then compute the modulus with 256 (assuming 8 bit chars...), then convert back to a char.

yes i know what a ceaser cipher is i just used random letters in the example to get my explination across I couldnt be bothered to actually do one for an example

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.