---
title: P521.Signing.PublicKey
framework: cryptokit
role: symbol
role_heading: Structure
path: cryptokit/p521/signing/publickey
---

# P521.Signing.PublicKey

A P-521 public key used to verify cryptographic signatures.

## Declaration

```swift
struct PublicKey
```

## Topics

### Creating a key

- [init(rawRepresentation:)](cryptokit/p521/signing/publickey/init(rawrepresentation:).md)
- [init(compactRepresentation:)](cryptokit/p521/signing/publickey/init(compactrepresentation:).md)
- [init(compressedRepresentation:)](cryptokit/p521/signing/publickey/init(compressedrepresentation:).md)
- [init(derRepresentation:)](cryptokit/p521/signing/publickey/init(derrepresentation:).md)
- [init(pemRepresentation:)](cryptokit/p521/signing/publickey/init(pemrepresentation:).md)
- [init(x963Representation:)](cryptokit/p521/signing/publickey/init(x963representation:).md)

### Representing the key

- [rawRepresentation](cryptokit/p521/signing/publickey/rawrepresentation.md)
- [compactRepresentation](cryptokit/p521/signing/publickey/compactrepresentation.md)
- [compressedRepresentation](cryptokit/p521/signing/publickey/compressedrepresentation.md)
- [derRepresentation](cryptokit/p521/signing/publickey/derrepresentation.md)
- [pemRepresentation](cryptokit/p521/signing/publickey/pemrepresentation.md)
- [x963Representation](cryptokit/p521/signing/publickey/x963representation.md)

### Verifying a signature

- [isValidSignature(_:for:)](cryptokit/p521/signing/publickey/isvalidsignature(_:for:)-5kwev.md)
- [isValidSignature(_:for:)](cryptokit/p521/signing/publickey/isvalidsignature(_:for:)-dhjh.md)
- [P521.Signing.ECDSASignature](cryptokit/p521/signing/ecdsasignature.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Using keys

- [P521.Signing.PrivateKey](cryptokit/p521/signing/privatekey.md)
