What is the difference between a forgery attack and an user impersonation attack?

I'm new to cryptography, so I was searching for a forgery attack, but unable to find anything.

Can anybody tell me the difference between forgery attack and user impersonation attack?

• I'm currently not 100% sure on the definitions, but a forgery usually applies to a primitive, e.g. a signature or a MAC whereas an impersonation attack usually applies on the protocol-level. – SEJPM Jul 11 '18 at 19:56
• It would be helpful to provide references for where you encountered these terms – Ella Rose Jul 11 '18 at 20:02

In such a scheme, a user has a key pair $(k,vk)$ ($k$ and $vk$ can be the same or different). There is an algorithm $f(m,k)$ that takes a piece of data $m$ and the secret key $k$ as input, and output some cryptographic data $c$, and there is another algorithm $v(m,c,vk)$ that takes data $m$ and $c$, and the verification key $vk$, and outputs 1 if $c$ is indeed generated using $f$ from $m$ and $k$, and outputs 0 otherwise.
Forgery attack in this context means an attacker who has no knowledge of the secret key $k$ can generate a pair $(\bar{c},\bar{m})$ such that he has never seen $f(\bar{m},k)$ before, and $\bar{c}$ can pass the verification, i.e. $v(\bar{m},\bar{c},vk)=1$.