Welcome Guest [Log In] [Register]
Welcome to Crypto. We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Needle In The Haystack Cipher
Topic Started: Apr 27 2008, 08:05 PM (210 Views)
Revelation
Member Avatar
Administrator
[ *  *  *  *  * ]
Imagine Bob and Alice sending secret messages to each other. What does Eve, who is overhearing their conversation, know at this moment? Well, that they are communicating.

Now imagine that Alice and Bob are constantly sending pseudo random bits (1) to each other. Only when Bob wants to say something to Alice, he types what he wants to say and then the computer uses a cipher (2) and puts the ciphertext in the bit stream. Now Eve doesn't know whether she intercepted random bits (1) or real text.

-----------

This kind of cipher probably exists (and I thought that this was mentioned somewhere before by Donald), but I am sure that we can make a cool one on our own.

The strength of the cipher comes with the extreme rate of random bits to ciphertext. Eve would be looking for a needle in a haystack. The main problems for Eve are storage and analysis.

(1): the pseudo random bits shouldn't be really random. To really mask the text, the bits should have a frequency that matches the letter frequency of the English language.

(2): I am not quite certain of the cipher to use. The cipher should be key-based, but that doesn't neceserally mean that key used is the same every time. If we could create a new key from the previous key, it would make it harder for Eve to analyse the text.

The problems of this cipher are most likely the header and the end. Alice should know if Bob sent something, so the header should be recognisable, thus constant in some way.

I wonder what you think of this cipher. Some things still need to be filled in, and I am counting on you guys ;)
RRRREJMEEEEEPVKLWENFNVJKEEEEEAOLKAFKLXCFZAASDJXZTTTTTTTLSIOWJXMOKLAFJNNKFNXN
RAGRBAQEMHIGDJVDSEOXVIYCELFHWLELJFIENXLRATALSJFSLCYTKLASJDKMHGOVOKAJDNMNUITN
RRRRLJVEEEEECLYVYHNVPFTAEEEEEMWLMEIRNGLARWJAKJDFLWNTIERJMIPQWOTZEOCXKNUBNXCN
RJIRPOWEANFUSNCZVDVZNMSFEKLOEPZLDKDJWSAAAAAAAOERHJCTNCKFRIMVKSOFOMKMANREWNBN
RZUDRGXEEEEENFQIDVLQNCKNEEEEEDGLLLLLLAWIOSNCDARLODMTOEJXMILDFJROTKJSDNLVCZNN
Offline Profile Quote Post Goto Top
 
Donald
Elite member
[ *  *  *  *  * ]
Wouldn't this concept work best with a modern stream cipher?

"Revelation"
 
the pseudo random bits shouldn't be really random. To really mask the text, the bits should have a frequency that matches the letter frequency of the English language.

If you were using a stream cipher, I think you would want the random data to be really really random. Frequency shouldn't matter since you are xoring with psuedo random data anyway.

Due to the constantly sending nature of this cipher, the key should probably be a Self-synchronizing stream cipher (which I don't actually understand) or you could use a clock keyed cipher where the key at any second was a combination of the secret key hashed with the date/time. that way the receiver and the sender wouldn't have to worry about getting out of sync.

I could see this being very useful in cases where traffic analysis is a serious threat. For example, an embassy could use a method like this and be transmitting constantly on an open channel to home. Even though the enemy can intercept the channel they won't be able to use traffic analysis to determine when the embassy is involved in intense communications with home, and when they are all in bed sleeping.
Offline Profile Quote Post Goto Top
 
Revelation
Member Avatar
Administrator
[ *  *  *  *  * ]
Quote:
 
a clock keyed cipher


That would mean that the receiver would know at what time the message is sent. This means that the header of the encrypted message is not encrypted with that key, else the receiver can't recognise the header.

I was thinking of another way to change the key: just keep encrypting it. If the first message is sent, both the sender and the receiver have got the same key. When the sender wants to send something, he encrypts the key. The receiver has done the same, so he can still check for the header. This way the header is never the same.

The question still remains: could Eve find the header? If the header is just a few bytes long, there is a possibility that the random bits give a correct header. If the sender wants to prevent that, he should filter the header sequence. That could help Eve. He could also make the header longer, but I am not sure if that would help a cryptoanalyst.
RRRREJMEEEEEPVKLWENFNVJKEEEEEAOLKAFKLXCFZAASDJXZTTTTTTTLSIOWJXMOKLAFJNNKFNXN
RAGRBAQEMHIGDJVDSEOXVIYCELFHWLELJFIENXLRATALSJFSLCYTKLASJDKMHGOVOKAJDNMNUITN
RRRRLJVEEEEECLYVYHNVPFTAEEEEEMWLMEIRNGLARWJAKJDFLWNTIERJMIPQWOTZEOCXKNUBNXCN
RJIRPOWEANFUSNCZVDVZNMSFEKLOEPZLDKDJWSAAAAAAAOERHJCTNCKFRIMVKSOFOMKMANREWNBN
RZUDRGXEEEEENFQIDVLQNCKNEEEEEDGLLLLLLAWIOSNCDARLODMTOEJXMILDFJROTKJSDNLVCZNN
Offline Profile Quote Post Goto Top
 
Donald
Elite member
[ *  *  *  *  * ]
"Revelation"
 
That would mean that the receiver would know at what time the message is sent.

I'm sorry, I didn't make myself clear.

You see, the problem I'm worried about is keeping the receiver and transmitter both in sync. For example, suppose power went out at the embassy for 10 seconds. When they come back online, they will suddenly be out of sync with the transmitted signal coming from home, and since they are out of sync, they will be out of communication, unable to read the oncoming stream anymore.

One method to avoid that is to make the key a hash of the secret key, and the date/time. This gives us a pseudo random stream cipher, but one that both parties can easily resynchronize at any time.

We aren't actually giving any information to Eve about the time of our transmission, because we are transmitting all the time. Most of the time we simply transmit true random data, and send that. But when the ambassador wants to warn home that the enemy is planning a war! Then the secret key is hashed with the date/time and then xored with "message begins", followed by the message, followed by "message ends". All of this is transmitted, then followed by more random data.

To Eve, the data stream is continuous. The random data looks like random data, AND the stream cipher encrypted message looks like random data. She doesn't have any way to detect that a message has begun or ended. Or whether there was a message at all.

Of course, this all depends on the strength of the stream cipher. If the pseudo random function shows patterns, then all bets are off and Eve has a chance to detect the message. BUT, modern stream ciphers are VERY strong cryptographically and are (as far as we know) indistinguishable from random data.
Offline Profile Quote Post Goto Top
 
Revelation
Member Avatar
Administrator
[ *  *  *  *  * ]
It sounds pretty solid. The only thing I can think of is that Eve triggers a party to send information, like giving false information about an attack. Then Eve has got a smaller piece of bytes to examine. Maybe Eve has got a better computer than I and she finds the header. She has got the time, so now she could brute force the key. A good hashing algorithm is thus required.
RRRREJMEEEEEPVKLWENFNVJKEEEEEAOLKAFKLXCFZAASDJXZTTTTTTTLSIOWJXMOKLAFJNNKFNXN
RAGRBAQEMHIGDJVDSEOXVIYCELFHWLELJFIENXLRATALSJFSLCYTKLASJDKMHGOVOKAJDNMNUITN
RRRRLJVEEEEECLYVYHNVPFTAEEEEEMWLMEIRNGLARWJAKJDFLWNTIERJMIPQWOTZEOCXKNUBNXCN
RJIRPOWEANFUSNCZVDVZNMSFEKLOEPZLDKDJWSAAAAAAAOERHJCTNCKFRIMVKSOFOMKMANREWNBN
RZUDRGXEEEEENFQIDVLQNCKNEEEEEDGLLLLLLAWIOSNCDARLODMTOEJXMILDFJROTKJSDNLVCZNN
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · General · Next Topic »
Add Reply