swift-crypto

Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms.

APACHE-2.0 License

Stars
1.5K
Committers
40

Bot releases are visible (Hide)

swift-crypto - Swift Crypto 3.6.1 Latest Release

Published by Lukasa 2 months ago

SemVer Patch

  • Convert PrivacyInfo.xcprivacy symlinks to files (#251, patch credit to @jakepetroules)
swift-crypto - Swift Crypto 3.6.0

Published by Lukasa 2 months ago

SemVer Minor

  • extras: Provide initializers for RSA keys from RSA parameters (#247)

SemVer Patch

  • Reduce the number of heap allocations when computing hash digests (#238, patch credit to @baarde)
swift-crypto - Swift Crypto 3.5.2

Published by glbrntt 4 months ago

SemVer Patch

  • Revert to using @_implementationOnly for all BoringSSL modules (#246)
swift-crypto - Swift Crypto 3.5.1

Published by glbrntt 4 months ago

SemVer Patch

  • build: Add missing prefix to BoringSSL delete_if stack symbols (#245)
swift-crypto - Swift Crypto 3.5.0

Published by Lukasa 4 months ago

SemVer Minor

  • extras: Add APIs for RSA Blind Signatures (#232)

SemVer Patch

  • add support for riscv64 (#240, patch credit to @futurejones)
  • Move ArbitraryPrecisionInteger type to CryptoBoringWrapper module (#236)
  • Change inclusiveMin param of ArbitraryPrecisionInteger.random from UInt64 to UInt (#242)

Other Changes

  • Fix broken DataProtocol.hexString test utility (#230)
  • update README recommended versions (#233)
swift-crypto - Swift Crypto 3.4.0

Published by Lukasa 5 months ago

SemVer Minor

  • Update lower bound for RSA key sizes (#218, patch credit to @ptoffy)

SemVer Patch

  • Add empty privacy manifest files (#226)
  • Use BoringSSL implementation for _CryptoExtras.AES._CTR (#229)
swift-crypto - Swift Crypto 3.3.0

Published by Lukasa 7 months ago

SemVer Minor

  • Add support for AES CTR mode in _CryptoExtras (#220)
  • Raise minimum Swift version to 5.7 (#221)

SemVer Patch

  • Remove dtls1.h as part of removing libssl (#217, patch credit to @davidben)
  • Update BoringSSL to dbad745811195c00b729efd0ee0a09b7d9fce1d2 (#222)

Other Changes

  • Documentation: Update macOS development instructions (#216, patch credit to @coldjugular)
swift-crypto - Swift Crypto 3.2.0

Published by Lukasa 9 months ago

SemVer Minor

  • Add pkcs8PEMRepresenation for RSA private keys (#203, patch credit to @bjhomer)
  • Add support for CBC without padding (#210, patch credit to @lovetodream)
  • Add support for RSA OAEP with SHA256 (#206)
  • Add Sendable annotations to Crypto Extras (#211, #214)

SemVer Patch

  • Add extern C markers (#204, patch credit to @brianmichel)
  • Update BoringSSLRSAPublicKey to use EVP_PKEY API (#205)
  • Update BoringSSL to 7a813621dac6878ab53b6ed7392939a8982226e8 (#207, #215)

Other Changes

  • Add cxx interop build pipeline (#212)
  • Update availability annotations in tests (#213)
swift-crypto - Swift Crypto 3.1.0

Published by FranzBusch about 1 year ago

SemVer Minor

  • Add support for AES-CBC in _CryptoExtras (#200)
  • Bump minimum Swift version to 5.7 (#201)
swift-crypto - Swift Crypto 3.0.0

Published by Lukasa about 1 year ago

The only meaningful breaking change in this release is the addition of new cases in the CryptoKitError enum. The overwhelming majority of users can and should express a wider version range than usual: "1.0.0" ..< "4.0.0" is the recommended version range.

SemVer Major

  • Update to CryptoKit 2023 final API (#199)

SemVer Patch

  • Set missing Windows defines (#197) (patch credit to @compnerd)
  • Use SecKeyGetBlockSize instead of kSecAttrKeySizeInBits (#198)
swift-crypto - Swift Crypto 2.6.0

Published by Lukasa about 1 year ago

Semver Minor

  • Add API providing basic RSA pubkey encrypt and privkey decrypt (#125, #191, patch credit to @gwynne)

Semver Patch

  • Switch to canImport instead of os conditions (#184, #192)
  • Update BoringSSL to 7ae2b910c13017b63f1a8bd6c8decfce692869b0 (#190, #193)

Other changes

  • Typo fixes (#179, patch credit to @joey-gm)
  • Update code of conduct (#182)
swift-crypto - Swift Crypto 3.0.0-beta.1

Published by Lukasa over 1 year ago

While this adds a Semver Major, the only breaking changes are in error enumerations. Users are encouraged to support 3.x alongside 2.x and 1.x.

Semver Major

  • Update to the 2023 CryptoKit API (#181)

Other changes

  • Update code of conduct (#182)
  • Clean up documentation typos (#179) (patch credit to @joey-gm)
swift-crypto - Swift Crypto 2.5.0

Published by Lukasa over 1 year ago

SemVer Minor

  • ChaCha20 CTR Encryption (#169, patch credit to @btoms20)

SemVer Patch

  • Drop support for Swift 5.5 (#172)

Other Changes

  • Set CRYPTO_IN_SWIFTPM (#177, patch credit to @etcwilde)
swift-crypto - Swift Crypto 2.4.1

Published by Lukasa over 1 year ago

SemVer Patch

  • Update BoringSSL to abfd5ebc87ddca0fab9fca067c9d7edbc355eae8 (#171)

Other Changes

  • Fix broken link (#153, patch credit to @Sajjon)
  • Update Wycheproof 'x25519_test.json' to v1 (#155, patch credit to @Sajjon)
  • Update Wycheproof aes_gcm.json to v1 (#156, patch credit to @Sajjon)
  • Update Wycheproof chacha20_poly1305 to v1 (#157, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp256r1_ecpoint_test.json to v1 (#158, patch credit to @Sajjon)
  • Update Wycheproof eddsa_test to v1 (renamed to ed25519_test) (#159, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp256r1_test.json to v1 (#160, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp384r1_ecpoint_test.json to v1 (#161, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp384r1_test.json to v1 (#162, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp521r1_test.json to v1 (#163, patch credit to @Sajjon)
  • Update Wycheproof ecdh_secp521r1_ecpoint_test.json to v1 (#164, patch credit to @Sajjon)
  • Update Wycheproof multiple ECDSA test vectors to v1 (#166, patch credit to @Sajjon)
  • Add five new Wycheproof ECDSA test vectors using IEEE P1363 format (#167, patch credit to @Sajjon)
  • Exclude AES from CMake (#152)
  • Add docker-compose file for Swift 5.8 and 5.9 (#170)
swift-crypto - Swift Crypto 2.4.0

Published by Lukasa over 1 year ago

SemVer Minor

  • Make RSA public key formats consistent on all platforms (#151)
swift-crypto - Swift Crypto 2.3.0

Published by Lukasa over 1 year ago

SemVer Minor

  • Support SwiftWasm (#145, patch credit to @AndrewBarba)

Other Changes

  • build: add ARM64 spelling for Windows (#148, patch credit to @compnerd)
  • Set up CMake build for _CryptoExtras (#144)
swift-crypto - Swift Crypto 2.2.4

Published by Lukasa over 1 year ago

SemVer Patch

  • Add AES block function to CryptoExtras (#142)
  • Update BoringSSL to 45b8d7bbd771cbf7e116db2ba1f1cc7af959497e (#143)
swift-crypto - Swift Crypto 2.2.3

Published by Lukasa almost 2 years ago

This release contains no semantic changes, only adjustments to the CMake build.

Other Changes

  • build: adjust linking for Crypto (#137, patch credit to @compnerd)
swift-crypto - Swift Crypto 2.2.2

Published by Lukasa almost 2 years ago

This release contains no functional changes

Other Changes

  • Link Foundation in CryptoBoringWrapper (#136)
swift-crypto - Swift Crypto 2.2.1

Published by Lukasa almost 2 years ago

SemVer Patch

  • Add Linux support for PKCS#1 RSA public keys (#135)