Tag Info

Hot answers tagged

43

That is exactly what encryption is designed to safely enable. If Bob and Alice could safely share the message without allowing attackers and eavesdroppers access to it, they would not, in fact, need encryption at all. So, yes, it is safe to allow any and everyone access to the ciphertext. You do want to authenticate it so that it cannot be tampered with ...


13

Exposure of ciphertext does not inherently decrease is security of the algorithm. However, if the ciphertext is more easily accessible it is more likely to be found by an adversary. If your adversary has means to steal your private/shared keys, rubber hose you, etc its more risky to increase exposure. You may always want to consider that in the future a ...


11

NIST has defined in NIST Special Publication 800-22 an extensive set of statistical tests for verifying a source of randomness. However, while this is good enough to assert that a RNG is not obviously broken, it isn't sufficient to assert that a RNG is "good". It is the nature of RNGs that very subtle flaws can lead to breaking it. The only proper way of ...


5

I will add a list with time constant functions for different languages: PHP: Discussion: https://wiki.php.net/rfc/timing_attack bool hash_equals ( string $known_string , string $user_string ) http://php.net/manual/de/function.hash-equals.php Java Discussion : http://codahale.com/a-lesson-in-timing-attacks/ public static boolean ...


4

What you are looking for is theoretically viable, provided that you add the missing extra piece, i.e. some form of time stamping. However, behaviour of existing, deployed implementations is likely to be a problem. The conceptual idea is that if you verify a signature at date T on some message, then, at a later date T', you can still remember that the ...


4

OpenSSH is unaffected by FREAK for several reasons: It only uses a small, carefully-audited portion of the OpenSSL library. The SSL cipher-negotiation code is not one of the parts it uses. The SSH protocol is resistant to "downgrade" attacks: the size of the server key is fixed at the time of key generation and the key fingerprint is stored by the client. ...


3

Answer depends on your security model. Classically, a cryptographic hash function has three properties: It resists preimages: given y, it is infeasible to find x such that h(x) = y. It resists second preimages: given x, it is infeasible to find x' such that x ≠ x' and h(x) = h(x'). It resists collisions: it is infeasible to find x and x' such that x ≠ x' ...


3

Your exact case is that RSA is used as the key exchange mechanism. Instead, you should use DHE_RSA or ECDHE_RSA. Modern cryptography = TLS 1.2 or QUIC (protocol) + AES_128_GCM or CHACHA20_POLY1305 (cipher) + DHE_RSA or ECDHE_RSA or ECDHE_ECDSA (key exchange). Twitter discussion: https://twitter.com/reschly/status/534956038353477632 Commit: ...


3

Real "randomness" comes down to the amount of entropy in the samples. And entropy is more or less impossible to qualify in blackbox testing, as others pointed out. A good conditioning function and a simple input with very little information can pass statistical tests. So the tests can only point out that there is or isn't some inherent statistical weakness ...


3

The problem here is that generic string comparison functions return as soon as they find a difference between the strings. If the first byte is different, they return after just looking at one byte of the two strings. If the only difference is in the last byte, they process both entire strings before returning. This speeds things up in general, which is ...


3

The file in question does not exist (404). What the code does, is downloading the rep.jpg file as 83152553.exe. The code is equvalient with right-clicking on the link (http://.../rep.jpg), save as, save on harddrive, and then renaming rep.jpg to 83152553.exe , and then possibility executing the file. The reason its a JPG file is to circumvent upload ...


2

You can't. It is impossible to verify that the output of a purported random generator is random enough for cryptography. (It is possible to verify that it's random enough for some applications such as Monte Carlo numerical methods, but not, say, to generate a cryptographic key.) There exist cryptographically secure pseudorandom number generators, that is, ...


2

You may be asking for steganography, where data is hidden in seemingly normal data/files. The hidden data can be encrypted or plaintext. There are many different applications of steganography, such as lists, text, images and file metadata. Keeping entropy in encrypted data means insecure encryption. Think of rot13 or similar substitution ciphers where one ...


2

That message probably indicates you're Using SSLv3, or Have a certificate signed with SHA-1 or MD5 According to this page. The former is a configuration issue, the latter require you to get a certificate signed with a SHA-256 hash.


2

Every time you browse GMail or your bank's website using HTTPS from your laptop in a coffee shop or airport, your are broadcasting all sorts of ciphertexts to everyone who cares to listen in. It had better be safe publicly to share ciphertexts. Assuming a great many things about the strengths of the chosen ciphersuite, crypto implementations, and ...


2

The difference between the two keys is that the Master key (PMK) is supposed to be valid for at least as long as the client is connected. In the case of WPA-PSK, the PMK is the same from the moment the AP is configured until either the passphrase or the SSID changes. Therefore, if the PMK is compromised in any way, the attacker gains "permanent" access to ...


2

This probably sounds like snark, but your solution only improves the situation if the two PRNGs are themselves chosen with sufficient randomness. Think of the reason that we consider a weak PRNG to be insecure: the result is statistically easy to guess some/all of, resulting in crypto and other operations that can be attacked by knowing part of the input ...


1

The quick but overly vague answer to your original question is: Yes. However, as most people have indicated: more secure != secure. The purpose behind RNGs/PRNGs is to produce sufficient entropy to make it infeasible for an attacker to guess enough information to recover sufficient protected data. Most sources of entropy are tested to determine whether ...


1

Unless one is perfectly random, the end results is unclear. But if one were perfectly random, it would not be weak any more. Edit: Unless you're sure the two are completely independent of each other, the benefits may be unclear.


1

The host has a key pair, consisting of a public key and a private key. (It can have multiple key pairs in different formats; at the beginning of a connection, the client and the server negociate to determine a format that they both support.) There's a host public key and a host private key; there are also other key pairs (public and private keys) which are ...


1

The reason AES-CBC isn't an authenticated mode has everything to do with the CBC and nothing to do with the AES. CAST5-CBC isn't inherently authenticated either; changing one bit in the IV changes the corresponding bit in the first block, and there's no way to detect it, because that's a result of the CBC construction and not of the cipher.


1

I think the link you provided above is one off--check here instead, which covers key import (what you need to start with). In short, you'll invoke BCryptImportKey or BCryptImportKeyPair, depending on if you're dealing with symmetric or asymmetric keys. Once imported, use the various functions provided in CNG, probably starting with BCryptDecrypt and ...


1

Yes, sharing the ciphertext is safe. Kerckhoffs' principle, which modern cryptosystems are designed around, states that the system should be secure if everything about it is known except the specific key used for encryption/decryption. Additionally, security through obscurity is rarely effective. What you're (somewhat) getting at in your question is that of ...


1

Timing attacks against string comparisons are not PHP-specific. They work in any context where a user-provided string is checked against a secret string using the standard “short circuit” comparison algorithm (the check stops on the first non-matching byte). This applies to PHP, Python, C and even database systems like MySQL. The standard approach to this ...



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