Any cryptoanalysts here?

Talk about anything here...

Moderators: Darobat, RecursiveS, Dante Shamest, Bugdude, Wizard

Postby loobian » Thu Oct 09, 2003 1:10 pm

Hi raimo! Nice to see you back here :)

On your question...

From a mathemathical point of view, yes the algorithm is the same. From programmer's point of view- you have two different algorithms- one to encrypt the message, and another one to decrypt it. But even though, the two programmer's algorithms use the same mathematical algorith.
So, the answer is yes- the encrypting and decryption algorithm is the same. i.e. for example, message encrypted with DES will be decrypted with DES. message encrypted with RSA,MD-5,PGP will be decrypted with RSA,MD-5 or PGP.

And the key: yes, in symmetric algorithms, there is just one key. It is used for both- encryption and decryption. Two keys are used in asymmetric algorithms (such as PGP as I already mentioned), but my algorithm is not one of them. My algorithm is symmetric.
User avatar
loobian
Site Admin
 
Posts: 679
Joined: Mon Sep 15, 2003 3:09 pm

Postby RecursiveS » Thu Oct 09, 2003 1:25 pm

Not done this before :( and feeling stupid..

Could someone explain to a complete idiot how the "table" relates to the "chipertext" (ciphertext?) ?????

:oops: :oops:
User avatar
RecursiveS
Site Admin
 
Posts: 1236
Joined: Thu Sep 18, 2003 8:33 am
Location: Dorset, UK

Postby loobian » Thu Oct 09, 2003 1:39 pm

Hi! :)

A table is not used in all algorithms... some of them use it, some of them not. Mine uses it. The table says, wchich letter from the plaintext will be replaced with wich letter from the table, which will go into the chipertext.
The thing is that the table has 3 lines (but it can be made with even more!). This means that for every letter, there are 3 different versions. The key points exactly which version will be used for a given letter.

Now, that was quite a big tip about how my algorithm works... I hope it helps!

But if you guys feel you can't do it, then I will publish the C++ soure code... then it will be just a matter of brute force attack, and the question will be who will first manage to implement the algorithm for the brute force attach and the decryption algorithm...

If you guys want the code, say so... I need at least 2 people to say so!
But if you prefer not to post the C++ code here, then OK :)
User avatar
loobian
Site Admin
 
Posts: 679
Joined: Mon Sep 15, 2003 3:09 pm

Postby Wizard » Thu Oct 09, 2003 1:46 pm

Interesting. In that case, I've never dealt with symmetric encryption. I point you to RecursiveS comment about feeling stupid, and his followup question.
User avatar
Wizard
Site Admin
 
Posts: 3216
Joined: Mon Sep 22, 2003 4:52 pm
Location: ON, CA

Postby RecursiveS » Thu Oct 09, 2003 1:47 pm

Thanks Loobian, a little clearer now.. :)

Wouldn't posting the source code defeat the whole object ???

I'd say no to that.....until my brain gets scrambled trying to solve this....
User avatar
RecursiveS
Site Admin
 
Posts: 1236
Joined: Thu Sep 18, 2003 8:33 am
Location: Dorset, UK

Postby Wizard » Thu Oct 09, 2003 1:56 pm

Even after a complete scrambling, I'd still say no. I'm having fun here XP
I started to decrypt something, but the secret key is a pain to find.
So just to make things a little clearer for me, the table is known, the encryption is known, but supposedly if you don't have the private key, and the algorithm that uses that key to reference into the table, then there is no way of decoding the message, is that about right?
User avatar
Wizard
Site Admin
 
Posts: 3216
Joined: Mon Sep 22, 2003 4:52 pm
Location: ON, CA

Postby loobian » Thu Oct 09, 2003 1:58 pm

Hi!

Wouldn't posting the source code defeat the whole object ???


Depends on the point of view (as usual!). If you are interested in breaking the code, in the mathematicial challenge, then yes, posting the code will defeat the whole object.
But if you are interested in understanding the algorithm from the code, and writing (coding) a function to decrypt it, and perform brute fore attack + some analyzing (so that you can know when the text is decrypted, without reading it for every possible combination), and so, if you are interested in this rather than the math part, then posting the code is what you want.

So, the important here is what people here are interested in: the mathematical challenge or the coding challenge.

1 vote for the mathematical challenge so far! Hey, I am in maths high school :) I vote for it, too! :) but it doesn't matter :)
User avatar
loobian
Site Admin
 
Posts: 679
Joined: Mon Sep 15, 2003 3:09 pm

Postby loobian » Thu Oct 09, 2003 2:08 pm

Hi Wizard!

Even after a complete scrambling, I'd still say no. I'm having fun here XP
I started to decrypt something, but the secret key is a pain to find.
So just to make things a little clearer for me, the table is known, the encryption is known, but supposedly if you don't have the private key, and the algorithm that uses that key to reference into the table, then there is no way of decoding the message, is that about right?


1. the table is known- yes
2. the encryption is known- the algorithm is not known! I haven't published it here. Only the chipertext is known (chipertext is the encrypted text; plaintext is the unencrypted text- the original text)
3. when talking about symmetric algorithms, people usually say secret key, or just key, rather than private key. This comes because when talking about asymmetric algorithms, we have public and private keys, which is different from the symmetric algorithm's key. So, what you mean is correct- if you do not have the key, then you can hardly decode the message. But some cryptoanalysts manage to break some messages without ever knowing the key.
One way to achieve that, is to make statistical analysis on the text, and use a statistic report table which reports the occurance (in %) of every letter in a text. This is research made by organizations, and such tables are open to the public.
So, after you made a statistical analysys of the chipertext, then you have build a table which will contain the occurance (in %) of every symbol. Then, using the table from the public reports, you can assume that the most used symbol is the character "e". Also, you can assume that the last character in the text will be ".".
Unfortunately, this method is not very good nowadays, because:
1) It won't work in algorithms like mine (and mine is based on the sceleton of another algorithm)
2) Nowadays algorithms are such that the chipertext's length is different than the plaintext's length. In this case, such statistical reports are useless.

Now, another tip about the algorithm. You need to know two values: the key and a value that I named "portion".
The key in this case is 5bit, i.e. it is 5 symbols (chars,digits,symbols) long.
The portion value, is the length of one portion of data being encrypted with the key. The portion is measured in bits (i.e. number of characters).

Feel free to ask... I will be happy to help you! :)
After all, the algorithm I used will go public, but we can have fun before that! :)
User avatar
loobian
Site Admin
 
Posts: 679
Joined: Mon Sep 15, 2003 3:09 pm

Postby loobian » Fri Oct 10, 2003 2:41 am

Did you guys lost any interest, or you are just working?
Do you want the C++ source code published here?

Cya!
User avatar
loobian
Site Admin
 
Posts: 679
Joined: Mon Sep 15, 2003 3:09 pm

Postby raimo » Fri Oct 10, 2003 9:00 am

Well, now that you almost explained the idea(from which I got an idea too ;) ), I think you shouldn't publish the code yet.
User avatar
raimo
 
Posts: 372
Joined: Fri Sep 26, 2003 6:50 am
Location: Finland

Postby Wizard » Fri Oct 10, 2003 10:18 am

Don't worry, I'm working hard. Haven't had much time, what with work, personal projects, and video games. I think I'm on to something, but we'll see where I've screwed up by monday :?
User avatar
Wizard
Site Admin
 
Posts: 3216
Joined: Mon Sep 22, 2003 4:52 pm
Location: ON, CA

Previous

Return to Open Discussion

Who is online

Users browsing this forum: No registered users and 3 guests

cron