MASTG-KNOW-0066: Kit de Criptografia (CryptoKit)
O Apple CryptoKit foi lançado com o iOS 13 e é construído sobre a biblioteca criptográfica nativa da Apple, corecrypto, que é validada pelo FIPS 140-2. O framework Swift fornece uma interface de API fortemente tipada, possui gerenciamento eficiente de memória, conformidade com equatable e suporte a genéricos. O CryptoKit contém algoritmos seguros para hashing, criptografia de chave simétrica e criptografia de chave pública. O framework também pode utilizar o gerenciador de chaves baseado em hardware do Secure Enclave.
O Apple CryptoKit contém os seguintes algoritmos:
Hashes:
- MD5 (Módulo Inseguro)
- SHA1 (Módulo Inseguro)
- Digest SHA-2 de 256 bits
- Digest SHA-2 de 384 bits
- Digest SHA-2 de 512 bits
Chave Simétrica:
- Códigos de Autenticação de Mensagem (HMAC)
- Criptografia Autenticada
- AES-GCM
- ChaCha20-Poly1305
Chave Pública:
- Acordo de Chaves
- Curve25519
- NIST P-256
- NIST P-384
- NIST P-512
Exemplos:
Gerando e liberando uma chave simétrica:
let encryptionKey = SymmetricKey(size: .bits256)
Calculando um digest SHA-2 de 512 bits:
let rawString = "OWASP MTSG"
let rawData = Data(rawString.utf8)
let hash = SHA512.hash(data: rawData) // Calcula o digest
let textHash = String(describing: hash)
print(textHash) // Imprime o texto do hash
Para mais informações sobre o Apple CryptoKit, visite os seguintes recursos: