Code breaking

tommywishbone

Platinum Member
May 11, 2005
2,149
0
0
My friend and I disagree: I maintain that a code that utilizes a key is 100% unbreakable. He insist that with certain algorithms any code can be broken. Who is correct and why? Thank you.
 

imported_maelstrom

Junior Member
Oct 15, 2005
16
0
0
Only one type of unbreakable key. It's called a one time pad. It basically modulates every bit in the message by a predetermined random sequence. As long as the key isn't stolen then the message can not be decrypted. Once a key sequence is repeated in a message it can generally be broken with enough time. The one time pad never repeats hence it can never be broken. The only truely unbreakable key is the same length as the message and completely random. Anything else can theoretically be cracked.
 

TuxDave

Lifer
Oct 8, 2002
10,571
3
71
Originally posted by: tommywishbone
My friend and I disagree: I maintain that a code that utilizes a key is 100% unbreakable. He insist that with certain algorithms any code can be broken. Who is correct and why? Thank you.

So you're telling me that if it simply uses any key, it's 100% unbreakable? So using my 'key' of 'X' meaning shift the letters by X, it's unbreakable?
 

Fullmetal Chocobo

Moderator<br>Distributed Computing
Moderator
May 13, 2003
13,704
7
81
No, you can use brute force, which is calculating every single possibility, and eventually you will come up with the answer. You should really check out Dan Browns "Digital Fortress".
 

Calin

Diamond Member
Apr 9, 2001
3,112
0
0
However, some codes that use a key are not vulnerable to brute forcing attacks (i.e. trying every possible key), but to some attacks that reduce the search space (two folds, 4 folds, 16 folds and so on). With that in mind, every key has in it some extra length above what was considered secure at their berth to compensate for such kind of directed attacks.
Well developed codes have (at most) attacks that reduce the search space something up to 4-16 times (and in many cases this kind of attack can be made on certain modes).

Let's refresh some of the "attacks" that can be made on cryptographic protocols:
1. decode a message (having no further clues) - this is the hardest thing
2. decode a message, while having a complete implementation of the coding machines (blackboxes of the machine)
3. modify a message (the example was an encrypted file with name and money due, if I am able to change how much money are due to me, I "won")
4. decode a message if I have some examples of messages coded and their transcription.

Some things are almost unbreakable (except for a brute force attack) thru 1, 2 and 4, but easy to apply 3.
For more reading, there is a book named "Handbook of applied cryptography" that can be found online in electronic form
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
There's also a pretty good (although not too sophisticated) treament of a lot of this material in the novel "Cryptonomicon" by Neal Stephenson. A pretty good book, although the 'hard' cryptographic math is about what I did in my second-year CS courses. :p

As for the OP: you can break anything by brute force, as long as you have some idea of what the output should look like and know what sort of algorithm was used to encrypt it. If you don't even know what *kind* of encryption you're dealing with, or what the output should look like, the problem rapidly becomes intractable.
 

imported_maelstrom

Junior Member
Oct 15, 2005
16
0
0
LoL that's untrue. Just randomly shift each bit in the message with no record and it's completely unbreakable:p Not very practical seeing that you can't decode it yourself.
 

smack Down

Diamond Member
Sep 10, 2005
4,507
0
0
Originally posted by: tasburrfoot78362
No, you can use brute force, which is calculating every single possibility, and eventually you will come up with the answer. You should really check out Dan Browns "Digital Fortress".

You will come up with the answer but you will also come up with every many wrong answers. With short keys you can filter the results based on what is a logical out come and eliminate the errors. If the jey is longer then the message then you will get every single combination up to the key length. So if you where to brute force an encrypted version of this text you would be just as likely to get this message as a message stating to go kill some one.
 

bobsmith1492

Diamond Member
Feb 21, 2004
3,875
3
81
Originally posted by: smack Down
Originally posted by: tasburrfoot78362
No, you can use brute force, which is calculating every single possibility, and eventually you will come up with the answer. You should really check out Dan Browns "Digital Fortress".

You will come up with the answer but you will also come up with every many wrong answers. With short keys you can filter the results based on what is a logical out come and eliminate the errors. If the jey is longer then the message then you will get every single combination up to the key length. So if you where to brute force an encrypted version of this text you would be just as likely to get this message as a message stating to go kill some one.

What's the point of calculating every single possibility?? That helps you none at all, as you have no idea which one is correct. Think about it; if you're looking for even a very specific message that you know most of,, say, "The bank lock combination is XXXX", you would get every single possible answer, including "The bank lock combination is 0000" " ".... is 0001" and so on up to 9999; picking the right answer out of 9999 possibilities is completely random and doesn't help at all; you'd still have to try all 9999 possibilities at the bank vault when you break in or whatever.
 

RaynorWolfcastle

Diamond Member
Feb 8, 2001
8,968
16
81
Originally posted by: jersiq
there is no key or encryption method that is unbreakable
Are you sure?

If this is the system that I think it is, it's breakable as it doesn't use a one-time pad. It uses quantum cryptography generates random-number based AES keys several times a second. Since the AES keys are theoretically breakable so is the system.

The problem with current true QKD systems is that they are very slow. As was mentioned previously, Vernon ciphers (one-time pads) are unbreakable only if generated completely randomly AND they are of the same length as the transmitted message. Now, to ensure that the key really is completely random to an observer, you have to use single photon transmissions, it turns out that this causes all kinds of difficulties which result in a very low transmission rate.

Since Vernon ciphers consume a bit of key for every bit of information, the data rate is limited to match the key generation rate for true unbreakable security. Currently, QKD systems generate keys at rates of a few kbps, not exactly practical for data transfer over fibres with terabits per second of bandwidth. ID Quantique's solution is a good intermediary step, but it is definitely breakable in theory.
 

Xyo II

Platinum Member
Oct 12, 2005
2,177
1
0
Originally posted by: jersiq
there is no key or encryption method that is unbreakable
Are you sure?

i was just about to mention this, because just observing the particles alters their state, (if you didnt know that already) so it's pretty much unbreakable. Although, i am pretty sure this is only available for companies right now. it was in a Scientific American article the other month.
 

MartyMcFly3

Lifer
Jan 18, 2003
11,436
29
91
www.youtube.com
Originally posted by: maelstrom
Only one type of unbreakable key. It's called a one time pad. It basically modulates every bit in the message by a predetermined random sequence. As long as the key isn't stolen then the message can not be decrypted. Once a key sequence is repeated in a message it can generally be broken with enough time. The one time pad never repeats hence it can never be broken. The only truely unbreakable key is the same length as the message and completely random. Anything else can theoretically be cracked.

Yup. Problem with one time pad's however is both sender/receiver need to know which key to use. So you gotta figure out a way to give that to the other person securely, which limits your options. With the exception of hand delivering/mailing the code, it's an at risk type of deal. But if used correctly, it is unbreakable.
 

AnthraX101

Senior member
Oct 7, 2001
771
0
0
For a bit of a more technical description:

A one-time pad is provably secure due to the sheer number of possible decryptions of a message. In technical terms, this can be proven by finding the unicity distance of a message encrypted with a one-time pad. The unicity distance is the amount of cipher text that has to be intercepted to uniquely determine a message key with a given probability. This is defined as the minimum n which satisfies H(K/(Y0, Y1, ? Yn-1) < = Dn where K is defined as the key space, Y is the variation in of the plain text, H is the probability of success of a proper message decryption, and D is a confidence probability. Given a truly random key stream used only once, K grows arbitrarily large, causing the unicity distance approach infinity. The only exception to this rule occurs as the variation in message approaches 0. In this case there is no unpredictability in the plaintext, therefore it can easily be predicted.

This can be more easily understood with a practical example. I encrypt the plain text ?ABORTMISSION? with the key text ?HUWMFOCPALTS? and get the cipher text ?HVKDYAKHSTHF?. By using different keys, this cipher text can be decrypted into the following messages:

Key | Message
IQQZGTXXJVFW | PLACETHEBOMB
DNBIOYJTZNXO | KILLMYTARGET
XFJECROZWHMN | EATHARYGOATS

Each message is equally likely using only the intercepted cipher text. This makes it impossible for an attacker to break the message.

AnthraX101
 

MoD TaRkIn

Junior Member
Nov 30, 2004
14
0
0
Here's a simple way to ensure that the sender and receiver know which key to use in a quantum cryptography system; have the system generate exess data, alot of it (like 10000 times or more). The systems at each end can then compare a random sample of the data (say 10%) on an open line to check to see if someon was listening in (probability of correctly intercepting and re-transmiting the data stream is 0.5^n, where you listen into n bits of data). The sender can then direct the receiver as to which bits of information to look at on an open line (but not including the random sample). Since the actual data will be like 0.001% of the total data stream, the probablility of somone being able to listen in is almost infintesimal, but not 0. You could then argue that there is no such thing as an unbreakable code, as even quantum methods can be broken, but the process is random, in essence you need to be extreamley lucky (for a message of only a few bits, your more likley to win the lottery, every week, for the whole of you life, than sucesfully intercept just a portion of data undetected). I'd say that was close enough to zero as to call quantum cryptography unbreakable, but you could be padantic.
 

Mday

Lifer
Oct 14, 1999
18,647
1
81
any code that can be decoded is breakable. it's a matter of how long it would take.
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
No, you can use brute force, which is calculating every single possibility, and eventually you will come up with the answer. You should really check out Dan Browns "Digital Fortress".
It's been a while since I read it, but I remember several factual errors and some gross oversimplifications in Dan Brown's "Digital Fortress". It's an entertaining story - but for a good background in cryptography - including a section on quantum cryptography, I'd recommend Simon Singh's "The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography".

http://www.amazon.com/exec/obidos/tg/detail/-/0385495323/
 

tommywishbone

Platinum Member
May 11, 2005
2,149
0
0
Thanks for all the information... very enlightening. I was looking at keys and transcription sheets the wrong way. Thanks again.
 

Rainsford

Lifer
Apr 25, 2001
17,515
0
0
Originally posted by: tasburrfoot78362
No, you can use brute force, which is calculating every single possibility, and eventually you will come up with the answer. You should really check out Dan Browns "Digital Fortress".

Brute force is certainly right, but Dan Brown really missed a lot of the details in that book. Very poorly researched, still entertaining if you're not really into crypto though.