<style>
p {
text-align: left;
}
</style>
# Credential Types
---
## Basic Cryptography
> Warning: Not a deep cryptography discussion
**Sign**: Using a private key, create a signature
**Verify**: Using the corresponding public key, verify the signature. The signed data cannot be modified without invalidating the signature.
---
**Symetric Keys**: one key used for both encryption and decryption, or sign and verify
**Asymetric Keys**: two keys (one private, one public) that can be used to encrypto and decrypt, sign and verify
Nearly all modern cryptography uses Asymetric Keys
---
## Credential Purpose
A *Verifiable Credential* is just some data that has been signed by one party and can be verified by another.
Verifiable Credentials make Trust Portable
---
# Credential Anatomy
- Encoding
- Signature Style
- Envelope Format
---
## Privacy Preserving Technologies
- Selective Disclosure
- generally accepted as a useful feature
- Predicates
- common to claim these are not necessary. I'm writing about this.
- Non-correlative holder binding
- also missunderstood. I'm gonna write about this too.
---
## AnonCreds
- All the privacy features
- Flat structure
- Requires a Credential Definition - keys for each field
- Currently bound to Indy ledgers (active work to relax this constraint)
- Data encoded as numbers
- Credential as _issued_ different than credential as _presented_.
- Can ONLY be presented by the Holder
---
## 'Other' Cred Types
- Can be held and 'presented' by anybody
- This can be very useful
- Data issued is the same as data presented
- Presentation by holder must also prove they are the subject
- Typically by proving DID ownership
---
## JSON-LD
- Deep semantic structures
- Data encoded using JSON-LD specific canonicalization
- Encoding not specific to JSON, allows for other formats much easier.
---
## JSON-LD BBS+
- BBS+ is a different signature scheme
- Allows for selective disclosure
- Could _therotically_ provide predicates
- Generates the Cred-Def dynamically
---
## JWT
- Flat-ish structure
- Low semantic meaning
- Data encoded using Base64
---
## ACDCs?
- Based in the KERI world
- Coming soon?
---
## Links
https://www.w3.org/TR/vc-data-model/#types
https://anoncreds-wg.github.io/anoncreds-spec/
{"metaMigratedAt":"2023-06-17T11:43:06.236Z","metaMigratedFrom":"YAML","title":"Credential Types","breaks":true,"slideOptions":"{\"spotlight\":{\"enabled\":true}}","contributors":"[{\"id\":\"682ec8d2-aa5f-4758-ada7-bb28f8f53c5e\",\"add\":3415,\"del\":1085}]"}