Skip to content

A illustrative collection of Cryptography routines, trying to make crypto less scary.

License

Notifications You must be signed in to change notification settings

donald-pinckney/Swift-Crypto-Routines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift Crypto Routines

Here you can find clear and readable implementations of various common Cryptography routines, in pure Swift.

Note that this code SHOULD NOT AT ALL be used for production or security-critical applications. Rather, the purpose of Swift Crypto Routines is to have clear, readable, and beautiful code to best explain practical Cryptography. Hence, most of this code is horribly slow compared to actual crypto libraries, and the time has not been taken to verify its security. However, the routines should be correct.

Please peruse the collection of implemented routines, and their linked specifications below. Lastly, pull requests with fixes, improvements, or new routines are welcome!

Swift Crypto Routines - Currently Implemented Routines

Block Ciphers

Encryption Schemes

How to Use

If you want to see a demo of this working, just clone the repository, open the project with Xcode, and run the unit tests.

To use this in a project, just add it to your Package.swift file:

.Package(url: "https://github.com/donald-pinckney/Swift-Crypto-Routines", Version(1, 0, 1))