• 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
https://www.neowin.net/forum/topic/1154212-i-am-writing-a-ceaser-cipher/
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

  • 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

  • 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

  • 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 !

  • 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
  • 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)

  • 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.

  • 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.

  • 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

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

    • No registered users viewing this page.
  • Posts

    • I don’t get why if I bought the game on the last get I needed to pay $40 to upgrade to the new version in the first place and people who love the game and play a lot would have upgraded already so this is just PR and a chance to grab new players who forgot the game long time ago I think
    • The term "use" is doing a lot of heavy lifting in that headline. "Use" can mean opening ChatGPT occasionally to ask for the definition of a word or information about a specific topic. If you frame the question around how many people use it as a daily driver in their work or personal lives, that number is a lot smaller. Those are the people who pay for AI. Nearly everyone else is happy to use it for free, but doesn't see enough value in it to pay for it.
    • No support for Windows Hello!
    • I think you meant the "ntfs3" driver, but yes there have been a lot of fixes for it in this release and previous releases, not 100% sure if the issue you mentioned is fixed though. In any case, the new "ntfs" driver in 7.1 doesn't have that issue (at least, no reports of such have come thru), but your kernel needs to explicitly enable support for the new driver first (like how CachyOS kernel has it), and you need to edit your mount points in /etc/fstab to use "ntfs" instead of the other drivers.
    • Epic Games says Unreal Engine 6 will help developers "build content faster" using AI models by Pulasthi Ariyasinghe Epic Games is rolling out the latest major update to Unreal Engine 5 today, and at the same time, the company also dropped some information on the next-generation version of the product, Unreal Engine 6. This was already revealed a few weeks ago alongside the new Rocket League upgrade reveal. The company says it is combining the features of Unreal Engine and Unreal Editor for Fortnite to create this new version of its popular media creation tool. On top of creating entire games, the new engine will also focus on letting developers operate large-scale live service titles more easily, whether by shipping content into their own ecosystems or into Fortnite. The use of large language models is also mentioned here, with Epic saying it will be a core part of the engine. "We see LLMs, generative AI models, and tools like Claude and Codex playing a central role in helping you build content faster while maintaining the creative control you need," adds the company. Here is the rundown of what's new about version 6 of Unreal Engine: With all these changes to the programming model, portability upgrades, and generative AI integration, Epic says the new version of the engine will "change a lot about how games are made." The company aims to ship Unreal Engine 6 into early access in late 2027, with a full release planned for 12-18 months later. Epic Games also dropped a lengthy blog post about the new Unreal Engine 5.8 update for game developers over here. The release is focused on delivering better performance, customization, and streamlined workflows for development teams. This will be the final major update for this version of the engine before Epic switches to focus fully on Unreal Engine 6's early access launch.
  • Recent Achievements

    • One Month Later
      Vincian earned a badge
      One Month Later
    • First Post
      Jocimo earned a badge
      First Post
    • Week One Done
      suprememobiles48 earned a badge
      Week One Done
    • One Month Later
      Windows Guy earned a badge
      One Month Later
    • One Month Later
      Prasann earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      501
    2. 2
      +Edouard
      162
    3. 3
      PsYcHoKiLLa
      86
    4. 4
      Steven P.
      67
    5. 5
      neufuse
      65
  • Tell a friend

    Love Neowin? Tell a friend!