Tag Info

Hot answers tagged

12

Implementing your own SSL is not a small endeavour. It takes some effort to make it run at all; it takes a lot of effort to do it securely. The cryptography in SSL is subtle, and especially the implementation of the symmetric encryption (with block ciphers) is known to have some vulnerabilities if the decryption and MAC verification are not done with the ...


6

Your method cannot be completely unknown, since both sender and receiver know it. Moreover, they run it; so either it is simple enough that they use it in their heads, or it exists as some piece of additional software, in which case the method is also known to their hard disks, the method designer and implementer, and github. In fact, unknown methods do not ...


6

This is security by obscurity. It's bad practice, and it will basically only require your attacker to have some motivation & time to spend in order to identify/analyze your cipher. After that, it's basically game over, "old crypto" is pretty much trivially broken with a desktop computer, there is just no reason not to use a recent & secured system ...


5

"MD5(SHA-1(password))" is more secure than "MD5(password)" in the following sense: computing SHA-1 then MD5 on a candidate password takes about 2.5x the time it takes to compute only MD5 on the same password. Thus, it makes naive dictionary attacks 2.5x slower. It still is pathetically weak, for two reasons: 2.5x slower than a single MD5 is still awfully ...


6

Kerberos has multiple mature, interoperable implementations on major platforms with active user communities and under continuous development (MIT Kerberos, Heimdal, Microsoft, Java), and through standard abstraction layers such as GSSAPI and SASL, it is easy to use Kerberos either directly or indirectly to secure many standard applications and protocols, ...


5

You can use a zero-knowledge proof to demonstrate that you have a solution to a general class of problem. (For example: "I can efficiently find the prime factorization of any number. I won't tell you how I do it, but I'll prove my ability by quickly factorizing any number you throw at me.") However, here, the solution is how you solved the problem; it's ...


4

There are only 7680 possible expressions using exactly once each of the four values, and binary operators in a list of four possible binary operators. A number of these expressions are in fact duplicates of each other, since two of the operators (addition and multiplication) are commutative. You can tell Ollie and Paul that they are lazy bastards. This ...


4

For old protocols to be replaced by newer ones, it is not sufficient that the old protocol is inefficient, clunky, complex, and has more holes than Emmental cheese. That the new protocol is shiny, fast, simple, fashionable and secure does not ensure upgrade either. To really get rid of an old protocol, you must kill all the humans that have grown accustomed ...


4

Poodle is, as presented, a chosen-plaintext attack, although not by a large amount. At its core, the vulnerability that Poodle builds upon allows an active attacker to try to guess a single byte of cleartext data. The conditions are the following: The stream uses SSL 3.0 with encryption done with a block cipher in CBC mode. The byte value that the ...


4

The "encryption" step is what makes EKE a Password Authenticated Key Exchange algorithm; the low entropy shared secret (the password) can be tolerated precisely because of that step. Note that it is a special encryption; we are not talking about something like AES here. The idea can be roughly expressed in the following terms: There is a base, ...


4

This does several things wrong. First, as Rory mentions in the comments, Don't Roll Your Own. Use HMAC, not an arbitrary hash function. This will actually protect you against length extension attacks. Second, you propose to encrypt your pseudo-MAC along with the message. Don't do this either. This is called MAC-then-encrypt, and it leaves you ...


3

128bit AES has 128 bit keys by definition. If the key is 32 bytes, it's AES-256. Perhaps your key consists of 32 hex characters, which only map to 16 bytes or 128 bits. Note that all variants of AES, map to MCRYPT_RIJNDAEL_128 in php, since that 128 is the block size and AES has 128 bit blocks regardless of the key size. As Xander said, your code it very ...


3

No, most cryptographic methods that are considered secure are based around assuming every computer in the world is working on the problem non-stop and it still takes to the heat death of the universe. Sure it could be used to break less secure encryption, and in fact, using a super computer to crack such weak keys is effectively the same thing as using a ...


3

The part of WEP you describe isn't really a major weakness because most encryption algorithms in use today are immune to known-plaintext attacks. Basically, this means that having access to both the encrypted data and the decrypted plaintext will not help you figure out the key in any way - so "figuring out the password from here" would NOT be ...


2

It doesn't weaken the encryption per-se, but it represents an information disclosure issue. By reasoning about the number of bytes that have changed and the position of those bytes, an attacker might be able to infer the types of changes that have been made between two different versions of the container, as well as how the container is being used. Most ...


2

Assuming your encrypted container is using a secure algorithm in a secure manner, this won't let the attacker break the encryption. In the worst-case scenario (writing files provided by the attacker), this is giving them information for performing a chosen-plaintext attack. Any good encryption algorithm (eg. AES or Twofish) is strongly resistant to this ...


2

The important point is to work out who should handle the keys. Without multiple encryption, then there must be, upon encryption and decryption, a system that at least transiently learns all the keys. For instance, if the "master key" and "user key" are concatenated (your "method 3"), then both keys are present simultaneously in the RAM of the computer that ...


2

One workaround I could think of would be writing an open source website. The site is configured to accept one type of formula, e.g. one that contains one or more of ()/*+= (in any amount and any order) and 1, 5, 6 and 7 must occur only once. The input formula will be stored in a file or database, the formula evaluated, and the result shown. Then the friend ...


2

For "symmetric cryptographic algorithms" (symmetric encryption, MAC...), things are simple: a non-broken cryptographic algorithm is such that it uses an n-bit key, and the fastest method to find the key is trying out all possible keys until the right one is found (that is called exhaustive search or brute force). The algorithm is said "non-broken" precisely ...


2

The Algorithms are broken : We can manually generate false certificates given only the md5 signature, for instance. Many weaknesses have been found is SHA-1 to this day, but as far as I know, you can't yet generate a false certificate matching a SHA-1 hash. However, it is being considered obsolete, security experts think this weakness may soon come, and are ...


1

The equivalent data for ECDSA, or any ECC including ECDH, is the public point value and a specification of the curve used. In practice for interoperability people use one of the curves identified by a standardized OID (NIST, SECG, etc) and mostly only the two "blessed" by NSA Suite B, namely nistp256 and nistp384, although the ASN.1 formats (and openssl ...


1

You could share the hash of the answer. store the answer in a static file. cat >answer.txt hash this file sha1sum answer.txt. share the resulting hash with your friend. Once puzzle timeout reached, you could show your file and re compute the hash. They must match!


1

POODLE is the last nail in SSLv3's coffin. This issue is a design flaw and not an implementation bug, like Heartbleed was. As it's a design flaw ánd it's basically a dead protocol, it will never be "fixed". Moving to TLS is your only option to not be vulnerable to POODLE. So yes, your non-browser application is also vulnerable to POODLE. However, an ...


1

Note of the above. You should create a message key per entry, and encrypt that message key with the user key and the back-office key. Then use the message key to encrypt/decrypt the data of the user. In this way the keys can remain independent and you can use either to encrypt/decrypt. You may want to consider using an asymmetric public/private key pair for ...


1

The modulus is usually bound to the key pair. If somebody would want to sign or decrypt anything he/she would basically have to use the same private key. Obviously you cannot generate a valid private key if you only have knowledge about the public key, that would defeat RSA. If you want a more theoretical answer, then I wish you luck and a good mathematical ...



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