What is Chosen-plaintext attack?
A '''chosen-plaintext attack (CPA)''' is a model for [[cryptanalysis]] which assumes that the attacker can choose random [[plaintext]]s to be encrypted and obtain the corresponding [[ciphertext]]s. The goal of the attack is to gain some further information which reduces the security of the encryption scheme. In the worst case, a chosen-plaintext attack could expose secret information after calculating the [[Key (cryptography)|secret key]]. Modern cryptography is implemented in software or hardware and is used for a diverse range of applications; for many applications, a chosen-plaintext attack is often very feasible. Chosen-plaintext attacks become extremely important in the context of [[Public-key cryptography|public key cryptography]], where the encryption key is public and attackers can encrypt any plaintext they choose. Any cipher that can prevent chosen-plaintext attacks is then also guaranteed to be secure against [[known-plaintext attack|known-plaintext]] and ciphertext-only attacks; this is a conservative approach to security. Two forms of chosen-plaintext attack can be distinguished: *'''Batch chosen-plaintext attack''', where the [[cryptanalysis|cryptanalyst]] chooses all plaintexts before any of them are encrypted. *'''Adaptive chosen-plaintext attack''', where the professional [[cryptanalysis|cryptanalyst]] makes a series of interactive queries, choosing subsequent plaintexts based on the information from the previous encryptions. ==Related pages== *[[Ciphertext-only attack]] *[[Chosen-ciphertext attack]] *[[Known-plaintext attack]] ==References== <references/> {{Math-stub}} [[Category:Cryptography]]