Intro to Encryption
Posted by
CmdrTaco
on Mon Nov 15, 2004 03:15 PM
from the getting-on-the-same-page dept.
from the getting-on-the-same-page dept.
An anonymous reader submitted a Techworld story which is a sort of encryption primer. The difference between codes & cyphers, and what all those acronyms like RSA and DES actually mean. This is good primer material for newbs, and a good refresher for fogeys.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
intro to encryption (Score:5, Funny)
(Last Journal: Monday May 17 2004, @07:10PM)
Re:intro to encryption (Score:5, Informative)
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
first post!
Re:intro to encryption (Score:4, Funny)
Re:intro to encryption (Score:4, Funny)
Re:intro to encryption (Score:4, Insightful)
Thanks. Actually it's been good for my karma. Some moderators dutifully comply--even on non-insightful humor bits. That's pretty funny.
Inaccuracy in article? (Score:5, Informative)
(http://seventhcycle.net/)
Certificates are 1024 or 2048 bit with SSL. On the other hand, once the key is sent and shared, a 128 bit symmetric form of encryption is used. The only thing RSA is used for is sending / receiving the symmetric encryption key, yes?
Correct me if I'm wrong.
Re:Inaccuracy in article? (Score:5, Interesting)
(http://theory.csail.mit.edu/~cpeikert/)
There are other glaring inaccuracies, e.g.: An increasingly important use for asymmetric encryption is digital signing. A digital signature is the reverse of public key encryption.
This is sort-of true if you're talking about plain-vanilla RSA signatures (though even here, it's only about half-right). But in general, digital signatures have nothing to do with encryption. An encryption scheme does not always yield a useful signature scheme, nor vice-versa.
Re:Inaccuracy in article? (Score:5, Informative)
Kinda yes. The public key is used to encrypt the session key, which is used in turn to encrypt the payload using a symmetric algorithm for speed.
Certificates are a bit bigger than 1024 or 2048 bits. They contain the public key (consisting in the case of RSA, among other things, of the 1024/2048 bit modulus) the owner's identification (e.g. e-mail address, common name, url,
A certificate is just that; it's to certify that a certain public key belongs to a certain entity.
If you pay enough to microsoft/opera/etc., you can certify anybody you want and all internet explorer users will take it for granted, because no one checks certificates.
Much better than that article (Score:5, Informative)
Difference betwen Codes and Cyphers? (Score:5, Funny)
Garbage (Score:1, Insightful)
640 bits should be enough for anybody (Score:3, Insightful)
(Last Journal: Monday March 21 2005, @03:37PM)
Usually, the weakest link will be the user using short keys or the user using the same password on a weaker system.
Re:640 bits should be enough for anybody (Score:5, Funny)
(http://www.slashdot.org/~lukewarmfusion/journal/ | Last Journal: Tuesday August 02 2005, @02:49PM)
Well my porn passwords are Juliet and Juliet. It's a lesser known work, to be sure, but it's certainly steamier.
Handbook (Score:5, Informative)
(http://www.student.gsu.edu/~zliu2/centrinia.html | Last Journal: Saturday March 13 2004, @11:26AM)
Re:Handbook (Score:5, Informative)
Not only does it cover the same ground, it also goes into detail a bit more about real tricky business; protocols (where most mistakes are made these days, since nearly everybody uses off-the-shelf algorithms like AES, DSA, RSA and ElGamal). This guy knows how to write, and succeeds in warning you of potential pitfalls in a humorous manner. Also, he knows his stuff; he submitted one of the AES candidates, Blowfish.
Bruce also publishes the most excellent Crypto-Gram [counterpane.com] newsletter.
Beware of not heeding Bruce's stern words of warning. You may end up in the doghouse [google.nl]! The humiliation! The shame upon your house!
Re:Handbook (Score:5, Informative)
(http://slashdot.org/ | Last Journal: Friday November 16, @12:15AM)
He wrote it after realizing how poorly people had misunderstood his warnings in Applied Cryptography (as documented in Secrets and Lies.) I thought his warnings were plain enough, but apparently too many people just plopped in some encryption because they "needed" some, and Blowfish was printed right there in the appendix.
ROT13 (Score:1)
(http://www.manganext.org/)
Eric Rescorla has written a fine book... (Score:5, Interesting)
(http://tomcopeland.blogs.com/)
The explanation of stream vs block ciphers is especially good, with nice examples showing how each technique works.
Comprehensive list of unsolved codes and ciphers (Score:5, Interesting)
http://www.elonka.com/UnsolvedCodes.html [elonka.com]
Enjoy.
- tokengeekgrrl
Re:Comprehensive list of unsolved codes and cipher (Score:5, Informative)
(http://theory.csail.mit.edu/~cpeikert/)
The problem with challenges like "crack this uncracked cipher" is that the challenge is not realistic.
Most of these codes/ciphers give you no idea the process behind how they were generated. That's unrealistic: usually an analyst will have the algorithm that does the encryption (if not the key itself), either via open-source, reverse engineering of a public binary, legitimate purchase, or espionage.
Most of these challenges only give you a tiny piece of ciphertext. That's not realistic: if you're trying to break, say, SSL, you'll be able to get your hands on megabytes of transcripts, and you'll even be able to generate ciphertexts that correspond to plaintexts of your choice.
Most of these "ciphers" don't generalize to arbitrary messages. That's unrealistic. Sure, someone can design some ad-hoc cipher to encrypt the location of his buried treasure using landmarks, clever puns, and weird symbols. That's a far cry from being able to efficiently encrypt an arbitrary TCP/IP stream.
I realized something while reading the article... (Score:2, Interesting)
Re:I realized something while reading the article. (Score:5, Insightful)
(http://graha.ms/ | Last Journal: Friday August 17, @06:22PM)
Unless we have other asymetric ciphers to fall back on, then e-commerce would be wiped out.
Additionally algorithms with very low computational requirements are of particular importance since we need encryption that can run on smart cards, but cant be broken by super computers.
Re:I realized something while reading the article. (Score:4, Insightful)
This may not be too big of a problem if we just have two people who need to send a few messages to each other as long as both can keep the pad safe, but it fails horribly in other situations. For instance lets say I want to send my credit card number to some online store, but I want to make sure it is encrypted first. Lets say the store writes a random pad for us to use. How do we share it? Somehow they have to get it to me without anyone else seeing it. But if we had a known secure method of communication, we wouldn't need the pad in the first place, now would we?
Public Key encryption solves this problem by allowing the store to develop the code and send me a key that only allows me to encrypt it (it can't decrypt anything). Thus it doesn't matter if the whole world intercepts the key, all that would allow them to do is encrypt more messages. It doesn't help them decrypt anything. Of course all these codes are usually based on problems that are mathematically hard to solve. If an easy solution is found (as with knapsack cryptosystems like Merkle-Hellman [wikipedia.org]), then it becomes easy to crack the codes, and thus we need to have other codes available. In addition, many decryption algorithms are very slow and thus work is done on more efficient algorithms (though slow ones like RSA actually can be sped up by only encrypting a private key with the public key scheme and using the private key to encrypt the actual message).
Hope that helps.
This is good primer material for newbs (Score:5, Insightful)
(http://www.jgc.org/ | Last Journal: Friday August 22 2003, @11:31AM)
Here's part of what the article says about RSA:
"Unfortunately, nothing in life is free, and so it is with asymmetric cryptosystems. Since d can be computed from e given p and q, and p and q are the factors of N, they must be chosen so large that N cannot be factorised in any reasonable time"
THE ARTICLE NEVER STATES WHAT d, p, q, e OR N ARE. Sorry for the shouting but this piece o'crap is worthy of a
John.
What p, q, e, d, and N mean (Score:4, Informative)
That's it. Now, put N and e together in a file and call it your "private key", and put N and d together and call it your "public key". To use them:
In practice RSA takes too much time, so you make yourself a random key, encrypt that using RSA, and you and your recipient communicate using a symmetric cipher.
As to why ((n^e mod N)^d mod N) = n, that's where it helps to know some math. Mathweb or Wikipedia can help you, but having a bit of background in abstract algebra will help.
Safe encryption (Score:5, Funny)
(http://www.cootey.com/absent.html | Last Journal: Wednesday August 18 2004, @09:57AM)
Applied Cryptography (Score:5, Informative)
(http://www.dullsville.com/ | Last Journal: Wednesday December 22 2004, @11:41AM)
It comes with source too! You know you love source....
Smaller signatures? (Score:2)
(http://www.draconpern.com/)
Not really the best intro for crypto (Score:5, Informative)
(http://www.gentoo.org/)
Clarification on web-browser security... (Score:4, Informative)
(http://www.partow.net/)
>> so cannot be considered secure against a determined
>> and sufficiently well-resourced attack.
The 128-bit there is the symmetric cipher key length, RSA is
used for signature authentication and not encryption, key
exchanges occur via hand-shake algorithms ie: diffie-hellman
and derivatives there of...
a 128-bit symmetric cipher is actually very strong, for temporary
transit data ie: purchase data, cc numbers etc.
Arash Partow
_________________________________________
Be one who knows what they don't know,
Instead of being one who knows not what they don't know,
Thinking they know everything about all things.
http://www.partow.net
Sosumi, McCartney! (Score:5, Funny)
(http://www.gis.net/~cht)
Speaking words of wisdom, 'PGP, PGP.'"
Good primer? Bah. (Score:2)
(http://slashdot.org/)
known plaintext attacks? (Score:2)
(http://ourdoings.com/)
Someone has been reading too much Cryptonomicon (Score:3, Insightful)
(http://homestarrunner.com/)
The Poles broke it, they even invented the "computers" (bombes) that automated the further breaking of it. Turing (not to diminish the contributions he made to BP) really just vastly improved on their methods and created a much more sophisticated machine to break it.
Finkployd
random & pseudorandom pads (Score:5, Informative)
That said, paddign with pseudo-random data is very unsafe. Breaking this type of encryption is typically one of the first homework assignments in cryptography courses. The article is either very fuzzy on this distinction, or plain out wrong, depending on how you read it.
SETI noise (Score:5, Interesting)
(http://vsxgen.sourceforge.net/)
If you want to be absolutely definitely sure that no one can intercept your communication with someone then here's what you do.
1) Get 600MB of random noise data from listening for extra terrestrials from for instance SETI.
2) Burn two CD's, give one to your friend. Keep the other.
3) Encrypt your message by superimposing it on that noise at a given location.
4) send the message as well as the location with the random location that you started copying the noise from (from the CD).
This message can _not_ be deciphered if you make sure that you never reuse the same random noise. Even if you reuse it it is hard.
In addition, if you at some point expect that someone is on to you, just burn the two CD's.
At that point those messages can _never_ be deciphered. Even if you try for a billion years.
Simple.
Unbreakable.
Re:SETI noise (Score:5, Insightful)
(http://slashdot.org/)
Often these systems were broken because the pads were misused: the same pad used multiple times, or the same pad used with some variation.
IIRC, the scheme you are purposing is similar to the way that the red telephone communication between the Soviet Union and the US, as well as embassy communications, was secured. In that case, special vinyl records were distributed that had to be started at the same point. The length of the record determined how long you can talk.
This essay on Bruce Schneier's site [schneier.com] highlights one of the chief weaknesses of the one-time pad: the key distribution problem. You have to figure out how to get your friend's CD to him without being intercepted. You also have to be sure that the computer that generated the CD's wasn't compromised; someone spying on your machine could just log what audio file you used, copy it, and generate their own key CD.
Considering that a CD can only hold around 700MB (for a standard audio CD), I would say the key space is small enough that even if an attacker doesn't know your position choosing scheme (your description of the system states that the position is part of the message, so I'm being generous here), it should be possible to brute force the message if he somehow gets access to the key.
Another problem is: you may suspect that you are being watched or the system is compromised, but your buddy may not. How do you communicate that information to your friend, especially if you aren't supposed to be in contact with them in the first place?
If the attacker has your key CD, he could send an encrypted message stating that you (the legitimate user) are the attacker? Then who would your buddy believe?
The benefit of public-key cryptography is that it limits the amount of data that needs to be shared in order to communicate. The keys used for encryption never leave the possession of the person doing the encryption. It is also relatively simple to generate new keys.
Of course, man-in-the-middle attacks can still happen. But if you can establish the first public keys that you and your friend will use in a secure manner (e.g. face-to-face meeting), subsequent public keys can be encrypted using the last trusted key, or by using other key sharing schemes.
Best class in college (Score:2, Insightful)
(http://www.siluxx.net/)
Well (Score:1)
Mel & Baker a good crypto book (Score:3, Informative)
Cryptography Decrypted [amazon.com] by H. X. Mel and Doris Baker is a good intro to crypto. I found it entertaining and the topics went from elementary to, uh, more than I cared to know. The appendices explaining the mathematics of crypto were interesting as well.
some things newbs should learn about encryption (Score:3, Informative)
(http://ourdoings.com/)
Just set up a new system (Score:2)
I've heard that using more than one "encryption algorithm" can open you up to new vulnerabilities...
I need to encrypt certain short string in our database and I'm using 1024-bit RSA with OAEP, but I also need to be able to search for all occurences of a particular sting in the DB, so I'm also storing a (salted) MD5 hash of the same string that was encrypted, since the RSA-encrypted string is different even if the plaintext is identical, but the MD5 hash is the same when the plaintext is the same... I can compare based on MD5s and not need to keep the plaintext or even know what it was...
But does having the same string hashed with MD5 and encrypted with RSA open me up to any problems? Is there maybe a more clever way to address my needs (if I've even described the situation properly...)?
A better introduction (Score:3, Informative)
It talks about the origins of crypto a little, and leads into public key encryption, a field I have been trying to learn a little more about. Much better article than the parent!
And now to toot a small horn (Score:2, Interesting)
(Last Journal: Monday December 13 2004, @10:06PM)
isyay isthay ayay odecay? (Score:4, Funny)
Uggerbay, hatway oday ouyay eanmay "veryeay oneyay owsknay igpay atlinlay?"
Talking about encryption (Score:1)
(http://sduran.inetlocker.com/)
It's about making the script think you're really from new zealand, spoofing headers, using proxies and such. I haven't been able to solve that one, i already got all the other 3 from the level 5.
I learned a lot about encryption in that website, they used the ceasear cypher, xor encryption, and some other methods I didnt know back then. It was fun.
Is some of you from new zealand? I could also use a hand from somebody who has a
Great article!!! (Score:1)
Encryption Primer (Score:1, Informative)
RND number generation and encription cards (Score:4, Interesting)
So if you need random numbers for encryption, try some googling, and you will find many variations on this theme - serial port based equpment; noise from sound card (low cost solution - all you need is software). There are also schemes for do-it-yourself equipment.
Unfortunately, you should be a bit reluctant to accept the idea that all these things work as advertised. Just for beginning, although thermal noise is white noise by default, it get filtered in system during the processing. Its spectrum will not be the same as it was on the origin. (I am not an expert, but I think that spectral characteristics of the signal is not a requrement for randomness, but this is still good example of possible flaw in implementation.)
If I would start using this, I would test this generators with some mathematical tools.
Also, there are encription cards. I was able to see one made by Soekris. It has hardware implementation of DES. DES is designed to be done in hardware - shifting and xoring is easy to implement in hardware. Soekris makes 486 and P5 low-consumption small sized boxes. With this card, you may make good and fast IPSec firewall that runs on 133MHz 486 (!). Unfortunately, I am not in touch with this equipment any more, but problem was that Linux driver was in alpha state (situation from 10 months ago). BSD drivers were in release state.
(One idea came to my dirty mind - how interesting this card might be for crackers?)
Good For Newbs! (Score:3, Insightful)
(http://code.luniac.com/ | Last Journal: Sunday December 19 2004, @04:42AM)
- dshaw
Fogeys (Score:2)
(http://marreck.com/)
And for what its worth.... (Score:2)
Solved! (Score:1)
LLE (Score:2)
http://www.giantlavalamp.com/information/Easy_to_
and
http://www.google.com/search?hl=en&q=lava+lamp+en
Overblown (Score:1)
Some more crypto info/links (Score:1)
(http://allfreightaustralia.com/cana5ta/)
I also have a number of links on a crappy page of mine, that some of you may find informative. Scroll down to Crypto/Privacy etc...
http://allfreightaustralia.com/cana5ta-mirr0r/l
-Cam
Re:Inaccuracy in article? (Score:1, Insightful)
See http://www.interesting-people.org/archives/intere
(Also from this link)
NIST says: "For data that needs to be protected longer [than 2015], the key size should be at least 2048 bits." (Otherwise they recommend that the RSA keysize be at least 1024 bits)
RSA also says: "..high-value organization [RSA] keys should be at least 2048 bits"
So you would think anyone who knows about security would want to know the asymmetric key size as well as the symmetric key size of the secure web site they're visiting.
Not so. In Mozilla/Firefox you can see at a glance the symmetric key size sure, but to find out the asymmetric key size you have to find the actual key and calculate it yourself. In Mozilla you can reject ciphers based on symmetric encryption method and hash method but not whether they have low asymmetric (RSA) keys. It is theoretically possible for a "secure" website to use an obscenely low RSA key, let's say 72 bits but use a 256 bit AES symmetric cipher. Mozilla/Firefox will most likely proudly say that the site uses "high grade" security anyway!
You would think this would be a priority for Mozilla developers, right? Wrong.
This has been in Bugzilla for years, with numerous duplicates yet no-one is working on it.
See: http://bugzilla.mozilla.org/show_bug.cgi?id=78837 [mozilla.org]
Also see: http://www.dslreports.com/forum/remark,11293626~m
A fun intro to encryption? (Score:1)
(http://covertcreations.com/)
An oldtime Slashdot favourite : Cryptonomicon [amazon.com], Neal Stephenson.
Includes a supplemental algorithm called, Solitaire [schneier.com], developed by crpto-researcher Bruce Schneier.