cryptokit
Use Apple CryptoKit for Swift cryptographic primitives. Use when hashing with SHA-2 or SHA-3, generating HMACs, encrypting with AES-GCM or ChaChaPoly, signing with P256/P384/P521/Curve25519 or ML-DSA keys, performing ECDH, HPKE, ML-KEM, or X-Wing key exchange, using Secure Enclave CryptoKit keys, or migrating CommonCrypto code to CryptoKit.
npx skills add dpearson2699/swift-ios-skills --skill cryptokit --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# CryptoKit Apple CryptoKit provides a Swift-native API for cryptographic operations: hashing, message authentication, symmetric encryption, public-key signing, key agreement, HPKE, quantum-secure key encapsulation/signing, and Secure Enclave-backed keys. Most core primitives are available on iOS 13+; check availability for HPKE (iOS 17+) and SHA-3 / post-quantum APIs (iOS 26+). Prefer CryptoKit over CommonCrypto or raw Security framework APIs for new cryptographic primitive code targeting Swift 6.3+. ## Contents - [Hashing](#hashing) - [HMAC](#hmac) - [Symmetric Encryption](#symmetric-encryption) - [Public-Key Signing](#public-key-signing) - [Key Agreement](#key-agreement) - [HPKE](#hpke) - [Post-Quantum CryptoKit](#post-quantum-cryptokit) - [Secure Enclave](#secure-enclave) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Hashing Use SHA256/SHA384/SHA512 on iOS 13+; SHA3_256/SHA3_384/SHA3_512 require iOS 26+. All conform to `HashFunction`. ### One-shot hashing ```swift import CryptoKit let data = Data("Hello, world!".utf8) let digest = SHA256.hash(data: data) let hex = digest.compactMap { String(format: "%02x", $0) }.joi
- Contents
- Hashing
- One-shot hashing
- SHA-3 availability
- Incremental hashing
- Digest comparison
- HMAC
- Computing an authentication code
- Verifying an authentication code
- Incremental HMAC
- Symmetric Encryption
- AES-GCM
- ChaChaPoly
- Authenticated data
What does the cryptokit skill do?
Use Apple CryptoKit for Swift cryptographic primitives. Use when hashing with SHA-2 or SHA-3, generating HMACs, encrypting with AES-GCM or ChaChaPoly, signing with P256/P384/P521/Curve25519 or ML-DSA keys, performing ECDH, HPKE, ML-KEM, or X-Wing key exchange, using Secure Enclave CryptoKit keys, or migrating CommonCrypto code to CryptoKit.
How do I install it?
Run `npx skills add dpearson2699/swift-ios-skills --skill cryptokit --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From dpearson2699/swift-ios-skills, a repository with 963 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.