Attack models
기본적으로 Attacker가 암호 알고리즘을 알고 있다는 것을 가정한다.
plaintext: 평문
ciphertext: 암호문
Ciphertext Only Attack(COA)
- Attacker는 해독해야 할 ciphertext을 알고 있다.
- 알고있는 Ciphertext의 plaintext를 구하는 것이 목표
- ciphertext는 소극적 공격을 통해 구한다.
- 추측 및 확인
- 빈도수 분석
Known Plaintext Attack(KPA)
- Attacker는 해독해야 할 ciphertext와 몇 개의 plaintext-ciphertext 쌍을 알고 있다.
- COA보다 선호됨.
Chosen Plaintext Attack(CPA)
- Attacker는 해독해야 할 ciphertext를 알고 있다.
- Attacker는 자신이 원하는 plaintext의 ciphertext를 구할 수 있다.
Chosen Ciphertext Attack(CCA1, CCA2)
- Attacker는 해독해야 할 ciphertext를 알고 있다.
- Attacker는 자신이 원하는 ciphertext의 복호화된 plaintext를 구할 수 있다.
Computationally secure
암호구조가 계산적으로 안전하다는 것은 다음 두 조건 중 하나 혹은 두 가지 기준 모두를 만족할 때를 말한다.
- 암호문을 깨는데 드는 비용이 암호화된 정보의 가치보다 더 크다.
- 암호문을 깨는데 걸리는 시간이 해당 정보의 수명보다 더 길다.