3 - Defining security Flashcards
Considerations when designing a secure algorithm (in relation to the hackers)
- What does the attacker know?
- What does it mean to break the system? Finding key, plaintext etc
- How much computing power does the attacker have?
Computational Security
(If something is computationally secure then it is…)
Unfeasible to break the cipher
- Depends on the currently available algorithms and computing power
Unconditional security
Impossible to break the cipher
Possible mathematical definition of computational security
Provable security
- There is no efficient algorithm that can be used to succeed with reasonably high probability.
… Reasonably high might mean 1/(polynomial in n)
polynomial time is efficient and exponential is…
Inefficient
NP hard problem
No polynomial time algorithm exists and strongly believed to not exist
If a known NP-complete problem reduces to breaking the cipher then
It is not expected that an efficient algorithm exists for breaking the cipher
Unconditional security: potential precise definition.
(Explained in terms of ciphertext c and plaintext m)
Perfect secrecy/information-theoretic security
- Cipher text only attack
- Attacker has unlimited power
If, for ciphertext c, the probability that plaintext is m = the probability of plaintext being m without knowing c