Tag Info

Hot answers tagged

259

I dug out my copy of Applied Cryptography to answer this concerning symmetric crypto, 256 is plenty and probably will be for a long long time. Schneier explains; Longer key lengths are better, but only up to a point. AES will have 128-bit, 192-bit, and 256-bit key lengths. This is far longer than needed for the foreseeable future. In fact, we cannot even ...


61

For one AES is built for three key sizes 128, 192 or 256 bits. Currently, brute-forcing 128 bits is not even close to feasible. Hypothetically, if an AES Key had 129 bits, it would take twice as long to brute-force a 129 bit key than a 128 bit key. This means larger keys of 192 bits and 256 bits would take much much much longer to attack. It would take so ...


55

None, that's why it is called a public key. It can not be used to access anything encrypted for you without solving math problems that are currently prohibitively difficult to solve. It is possible that in the future it may be possible to solve these problems and that would cause the public key to allow messages to be decoded, but there is no current known ...


54

The reason why RSA keys are so small is that: With every doubling of the RSA key length, decryption is 6-7 times times slower. So this is just another of the security-convenience tradeoffs. Here's a graph: Source: http://www.javamex.com/tutorials/cryptography/rsa_key_length.shtml


32

It's like one of these: Say you want to secure something in a box. Anyone can close the lock (public key). This means anyone will be able to put something into the box and lock the box (they won't be able to open the lock once it's locked (you just pinch these closed)). The key to open the lock is something only you have (private key). You are the only ...


31

Diffie-Helman is a way of generating a shared secret between two people in such a way that the secret can't be seen by observing the communication. That's an important distinction: You're not sharing information during the key exchange, you're creating a key together. This is particularly useful because you can use this technique to create an encryption ...


27

This preference of symmetric cryptography over asymmetric cryptography is based on the idea that asymmetric cryptography uses parametrized mathematical objects and there is a suspicion that such parameters could be specially chosen to make the system weak. For instance, when using Diffie-Hellman, DSA or ElGamal, you have to work modulo a big prime p. A ...


16

Just to expand on a couple bits of info alluded to above, there are basically two risks to consider, neither of them relating to the algorithms (those are safe). First, is incidental data leakage. Do you run slaterockandgravel.com as Mr. Slate but have your key signed fflintstone@slaterockandgravel.com? Did Betty sign your key and you don't want the world ...


13

The operation at the core of RSA is a modular exponentiation: given input m, compute me modulo n. Although in general this is a one-way permutation of integers modulo n, it does not fulfill all the characteristics needed for generic asymmetric encryption: If e is small and m is small, then me could be smaller than n, at which point the modular ...


11

You cannot have a secure signature scheme in less than 50 bits. Demonstration: the attacker can just enumerate all sequences of 50 bits until a match is found. Indeed, one point of digital signatures is that the verification algorithm can be computed by just everybody, since it uses only the public key (which, by definition, is public). Best you can hope, ...


11

"Proving" depends on whether the recipient (Bob) cooperates (i.e. accepts to reveal his private key to the verifier), and also on the type of cryptographic algorithms and details of the key. If Bob cooperates, then he may decrypt the message; this may show that the message "makes sense" when decrypted with Bob's private key, which is a rather strong hint ...


11

Diffie Hellman is an algorithm used to establish a shared secret between two parties. It is primarily used as a method of exchanging cryptography keys for use in symmetric encryption algorithms like AES. The algorithm in itself is very simple. Let's assume that Alice wants to establish a shared secret with Bob. Alice and Bob agrees on a prime number, p, ...


10

You can't. This is a fundamental principle of general purpose computing. You're running into Shannon's maxim: The enemy knows the system. One ought design systems under the assumption that the enemy will immediately gain full familiarity with them. Just to make my point completely clear: you're giving someone a car, and asking them to only ever drive ...


9

If it is public it cannot be secret... A key is "a parameter for an algorithm, which concentrates secrecy". This means that the key is not only secret, but, normally, nothing else is (algorithms are known to everybody). A public key is a paradoxic terminology which was coined when asymmetric cryptography was invented. The "real" key is what we call the ...


9

The answer to your situation, presented as it is, is that it is impossible unless you make certain assumptions. You have two problems you need to resolve for this to work. For this example, I will use Alice and Bob as examples. You need to have Alice and Bob exchange keys in a secure fashion. This is the easy problem. Any key exchange method like ...


9

But, you have to publish your public key in order for people to encrypt messages that are intended for you. That is why you must publish your public key and have it signed by people you know (preferably personally). For more information: Web of Trust and Key signing Parties


8

As far as RSA goes, this provides a good example that can be followed and shows corresponding examples of input and output. This demo application will walk you through the various steps and allow you check the work. Sometimes just clicking your way through something in steps like that will help. For Wikipedia articles, you need to look at the actual ...


8

For signing only, a 512-bit RSA key ought to resist at least a few days, more probably a few weeks, even against determined attackers. This is still "reasonable" as long as you verify the signature "soon". You can imagine that from the point the public key was made public, you have a few minutes, at best hours of security, after which you must consider the ...


8

Processing time, pure and simple. Everything in security is a balancing act between the need for security (keeping the bad people out), and useability (letting the good people in). Encryption is a processing expensive operation even with dedicated hardware for doing the calculations. It simply isn't worth going beyond a certain level of security for ...


8

X.509 is a format for certificates: a certificate is a sequence of bytes which contains, in a specific format, a name and a public key, over which a digital signature is computed and embedded in the certificate. The signer is a Certification Authority which asserts that the public key is indeed owned by the entity known under that name. By verifying the ...


7

With a modern but not-so-speedy x86 processor, and a good enough implementation, cryptography speed will not be the bottleneck. For instance, consider a quite cheap AMD Athlon 2650e processor, a not-so-modern and really-not-so-speedy processor that I have in my home file server; it is clocked at 1.6 GHz and has a single core. It can still do about 2200 RSA ...


7

You should avoid the "weak" cipher suites: Cipher suites with no encryption (with a NULL in the name). Cipher suites with 40-bit or 56-bit symmetric keys (DES, DES40, RC4_40, RC2_CBC_40)(3DES is fine, though). Cipher suites marked "for export" (with EXPORT in the name: they are weakened to comply with pre-2000 US export regulations). Cipher suites with no ...


7

ElGamal is an asymmetric encryption algorithm, which is used in OpenPGP. Almost all usages of asymmetric encryption is for key exchange (by encrypting a random string, which is then used as shared key in symmetric encryption algorithms). There are key exchange algorithms which are not asymmetric encryption algorithm, the most well-known and used being ...


7

In a way, algorithms using such "insanely large" keys already exist. It's called one-time pads. Nobody really uses them in practice, though, since they require a key the length of the message you wish to encrypt and key material can never be reused (unless you want the ciphertext to become trivially breakable). Given that the purpose of encryption is to ...


7

Most asymmetric encryption algorithms are very slow while most symmetric algorithms are quite fast. When you want to encrypt a large file with asymmetric encryption, encrypting and decrypting will take a while. But when you only encrypt the symmetric key, you don't have much data, so it will be quite fast, and you can then use the symmetric key to decrypt ...


6

If you encrypt the message using a symmetric algorithm (AES), then you store this key twice - once encrypted with the admins public key, and the other with the users public key. This way when the admin wants to view the message, he decrypts the first key, and the user uses the second.


6

I found these videos easy to understand and usefull: https://www.youtube.com/watch?v=3QnD2c4Xovk The second is starting with SSL, but later the guy is speaking about symmetric and asymmetric cryptography: https://www.youtube.com/watch?v=JCvPnwpWVUQ


6

In addition to the great answer by @Lucas, you can make the comparison: Symmetric cryptography is like a door lock. Everyone that has a key can lock and unlock: Asymmetric cryptography is like a common lock or handcuff. Anyone can lock it but only the (private) key unlocks it:


6

The risks are of trust. Non-intuitively, if you don't publish your key, it's easy for someone to publish their own key and claim it's yours. A public key should be very public. Your best defense is to ensure your key is properly signed.


6

Your notation seems to relate to hybrid encryption. The message is encrypted with a symmetric key KAB; that key was probably generated randomly by the sender. For the recipient to know it, it is necessary to send it along with the message, but not as clear text, of course: KAB is encrypted with the recipient's (Bob's) public key. Thus, Alice does the ...



Only top voted, non community-wiki answers of a minimum length are eligible