319 Actions

Is there a hash function which has no collisions?@supercat All you've shown is that the OP is probably making the same mistake you are, believing that it's better to make things impossible than impractical. For practical purposes, which is all that matters, there is no difference. Bijections have huge practical disadvantages and no practical advantages.

Aug27

comment

Is there a hash function which has no collisions?@supercat That's just not a valid argument. Impossibility is, for practical purposes, indistinguishable from sufficiently impractical. For example, it's trivial to prove that public key cryptosystems cannot possibly make decryption by an attacker impossible (by trial encryption, for example), but such schemes are entirely practical. If you insisted an alarm system make burglary impossible, you'd use no alarm system at all, and that's foolish. You just need to make it impractical.

Signing the hash of a key with the same keyWould people really use a signature scheme were signing a piece of public information could compromise your signing key? Wouldn't that be an obvious catastrophic deficiency?

Elliptic Curve Cryptography Encryption ResultsRSA does not involve any randomness, but it is trivially breakable (if used in the context involved here). Say I send you a message in plaintext, "Should we attack? Respond 'yes' or 'no' encrypting with RSA." This is trivially breakable, you can just trial encrypt both the 'yes' and the 'no'. This is one of the reasons RSA is not used alone. A public key algorithm that operates on short plaintext (which is what we're talking about here) must involve some randomness or it's trivially breakable by trial encryption.

Should I delete cryptographic data from memory?What are you trying to prevent exactly? Presumably an "attacker" who had access to the machine's memory would thereby be entitled to the data the machine had processed. And if your model is that an attacker may have control over the machine while it's processing the data, erasing it later won't help. Are you trying to protect against sensitive data in swap or core dumps?