# Tag Info

63

There are one-way functions in computer science (not mathematically proven, but you will be rich and famous if you prove otherwise). These functions are easy to solve one way but hard to reverse e.g. it is easy for you to compute 569 * 757 * 911 = 392397763 in a minute or two on a piece of paper. On the other if I gave you 392397763 and asked you to find the ...

41

No, SSL uses a symmetric key so an attacker is unable to decrypt the message he has just captured. However, SSL is vulnerable to a traffic analysis attack. E.g. If you have 2 messages of very different lengths like "Execute order 66" "This is a very very very very very very very very very very very very very very very very very very very very long ...

33

Juggling is easy: you just throw the balls at the right time, so that you have a free hand when they fall. With one ball or two balls, this is trivial. With three, it is easy enough. With more balls, it (surprisingly) becomes harder. Even substantially harder. In all generality, "reversing" encryption done using an n-bit key is like juggling with 2n balls. ...

28

The hostname is included in the initial SSL handshake to support servers which have multiple host names (with different certificates) on the same IP address (SNI: Server Name Indication). This is similar to the Host-header in plain HTTP requests. The name is included in the first message from the client (ClientHello), that is before any identification and ...

21

Your question is a little like this (with apologies to Tom Stoppard): "why can I stir the jam into my rice pudding, but not stir it out again?" Some mathematical operations are as easy to do backwards as forwards. For instance you can add 100 to a number as easily as subtracting 100. However, some are more difficult to reverse. For instance, if I take x and ...

12

No. See How does SSL/TLS work?: basically, every time you transfer data, it's encrypted with a symmetric key generated for that particular transaction. The public key is only used to verify the server's identity, so even if the attacker knows it, they can't tell what message you sent simply by looking at the ciphertext.

11

SNI is there for virtual hosting (several servers, with distinct names, on the same IP address). When a SSL client connects to a SSL server, it wants to know whether it is talking to the right server. To do that, it looks for the name of the intended server in the certificate. Every evil hacker can buy a certificate for his own server (called ...

10

You are making two assumptions here, that would need justification: NSA / "other agencies" invest in supercomputers. They do ? How exactly would you know that ? Did you read it on the Source of All Truths, i.e. "the Internet" ? NSA's unique goal in life is to break TLS sessions. Considering that the NSA has been created in 1952, while SSL was first ...

9

Entropy is required in the following sense: if a PRNG has only n bits of entropy, then this means that it has (conceptually) only 2n possible internal states, and thus could be broken through brutal enumeration of these 2n states, provided that n is low enough for such a brute force attack to be feasible. Then things become complex, because the "entropy ...

6

The fact that you are communicating to some server obviously cannot be hidden from IP. The packets have to leave your machine, enter the network, be routed to the destination, and be delivered. It's not a secret that you're contacting a server that delivers pages from https://www.fred.com. However, the URL does not contain the IP. Instead, it contains ...

6

Well, for one, the description of your scheme is not a scheme description. This is just a collection of vague intents. The description of a cryptographic scheme must be such that by reading the description alone, I could write an independent implementation that interoperates with yours. A good description looks like this. Or that. Also, in your description, ...

6

Well in the case of SSL, it would not be possible because of the way SSL works. The message would not be encrypted with the public key. Instead, the public key would be used to share information between the two persons in order to agree on a symmetric session key. This key will then be used to encrypt the "order", so you can't replicate this on your own ...

5

There are many likely reasons. 99% of popular web sites support TLS 1.0, but only 58% support TLS 1.2 (SSL Pulse, 4/5/15) The existence of strong encryption does not imply the use of strong encryption The use of strong encryption does not imply the correct use of strong encryption The NSA is arguably interested in many, many things aside from TLS web ...

5

There are encryption techniques like the One Time Pad that are provably non-compromisable when employed properly (but the one-time pad as single encryption technology has other problem like the possibility to change the encrypted message unnoticed). Otherwise, it is often good enough to know that there are no publically known breaks to the encryption ...

4

As the other answered, it is generally not possible. However, there is always the possibility of having some information leaking depending on how the message is structured: an observer could read the encrypted message flow between party and obtain some of the meaning of these messages based on size or flow.

4

To answer a different part of your question: No, even if the message was encrypted using the public key, real asymmetric encryption systems will not let the attacker easily try their list of possibilities and look for a match with the ciphertext. This exact concern is why asymmetric encryption is always done using a probabilistic encryption scheme, in which ...

3

Max, the best tool ever created for thinking about cryptography is the Rubik's cube. If you presume a world where solving them is an unsolved problem, there are direct analogs for DiffieHellmanKeyExchange, RSA signing, RSA encryption, etc. You can play tricks with writing down moves and performing them on cubes and exchanging them; and the group theory ...

3

No, not really. You can't switch because ECC and RSA are totally different algorithms that use totally different keys. The best you can do is generate a new ECC subkey which will be signed by your old RSA master key, then you can use that subkey for signing and/or encryption.

2

Super computers have a lot more use than just 'breaking' Cryptography. the NSA could be using super computers for anything from Big Data Analysis to Breaking a specific Encryption.

2

It is difficult for someone to tell you if a particular resource is adequately protected as it depends on the value of the files stored on the server as well as many other factors. I am assuming that you are using WPA/WPA2-PSK, which is what most small businesses usually use. Every employee connects to the wireless network using the same password. The risk ...

2

I'm unfamiliar with the details of the systems you specify but understand email encryption in general. Once a message is encrypted, the system cannot re-encrypt it with a stronger algorithm without user intervention as the system can't decrypt the email to re-encrypt it. So you're email is frozen in time in terms of the encryption that was used. Even if the ...

2

What you need to do is read up on Public-Key Cryptography. The short answer is it is based on an algorithm that allows one key to encrypt and the other key to do the decryption, which is why you cannot work backwards. That is a simplified explanation of what is happening, if you want to get to the heart of the issue you can look at sources such as the ...

2

Generally, the best two rules governing encryption scheme creation when seeking reliable security and not just "folklore security" are: Rule 1: Usually you do not need to run your own crypto Rule 2: If you need to run your own crypto, immediately refer to rule 1. If at last, for some reasons, you so need to run own crypto that it overwhelms the two above ...

1

Diti is almost right about the historical context, but the real historical reason is in the part he/she omitted. For quite some time, gpg used DSA keys by default, which can only be used for signing, and then had to attach an elGamal subkey (which can be used for encryption only) to get a fully functional key. For RSA, that isn't necessary, but it was kept ...

1

You generally don't want to encrypt passwords as that opens the door to them being stolen. Instead you want to hash them, a one-way operation is mathematically impossible (or at least very hard) to reverse. This means that stealing password hashes will never lead to stealing passwords. PHP has a great set of functions for this: password_hash and ...

1

In your interpretation of the message, you're performing a step that a computer wouldn't: you're assuming the output of the base64 decoding process is ASCII-encoded hexadecimal and converting it to binary before performing the disassembly process. The first few bytes of the message are (note: there's a newline before the 5 571266161278423 with hex values ...

1

As this seems to be homework, I'll try not to just give you the answer, but to give you some questions and thoughts which should help you. Also, here are some links which should be interesting: Modern Cryptography Overview Padding Symmetric vs Public key crypto Cost of Crypto a)The communications require a key exchange not supported by block ciphers. ...

1

With an Arduino, you are limited in many ways. One of the ways you are limited is in your entropy (the random bits) which you need for ANY encryption system. You could add entropy randomness using the analogue pins of your Arduino, van Heusden has a example here. He has also quite some interesting articles about entropy and how it affects security. A ...

1

You can never know for certain if your cryptosystem is still safe. But there are few classical ways of going about this. If you are the one whose cryptosystem may be broken: Use your cryptosystem to send false information and see if the enemy responds to the false information. If they do, they've read your message. Note that that indicates that your ...

1

I agree that most Europeans will see their IBAN as private data and want them to be encrypted. But there is another compelling reason to encrypt and sign the IBANs: A man-in-the middle attacker may maliciously alter them to receive the money you want to pay off. So you should protect any IBAN against this threat.

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