Signatures of knowledge enable a signer to sign a message using a statement as the public key if she owns a witness to the truth of the statement. They are used in many cryptographic schemes including cryptocurrencies, anonymous credentials, ring and group signatures, and direct anonymous attestation. We will present succinct and highly efficient pairing-based signatures of knowledge. To do this we use that signatures of knowledge and simulation-extractable non-interactive zero-knowledge argument (SE-NIZK argument) are closely linked. We describe a succinct SE-NIZK argument (SE-SNARK) that consists of only 3 group elements and has highly efficient verification. The SNARK is perfectly complete, perfectly zero-knowledge and computationally simulation-extractable. As a consequence, we get signatures of knowledge consisting of only 3 group elements.