Added tests and styleguide.

Also prettified all the current resources.
Travis support encluded.
pull/3/head
sobolevn 8 years ago
parent 6e0aa7fea8
commit 06c343b141

@ -0,0 +1,13 @@
root = true
[*]
indent_style = spaces
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.py]
indent_style = space
indent_size = 4

2
.gitattributes vendored

@ -0,0 +1,2 @@
* text=auto
readme.md merge=union

88
.gitignore vendored

@ -0,0 +1,88 @@
#### joe made this: http://goel.io/joe
#####=== OSX ===#####
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
#####=== Windows ===#####
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
#####=== Linux ===#####
*~
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
#####=== Node ===#####
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directory
# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
node_modules

@ -0,0 +1,12 @@
language: node_js
node_js:
- '5.0'
sudo: false
install:
- gem install awesome_bot
- npm install
script:
- awesome_bot -f README.md -t 10 --allow-redirect
- node test

@ -1,16 +1,52 @@
# Contributing
<!--lint disable alphabetize-lists-->
Your contributions are always welcome!
## Guidelines
* Add one link per Pull Request.
* Add the link: `* [project-name](http://example.com/) - A short description ends with a period.`
* Keep descriptions concise.
* Add a section if needed.
* Add the section description.
* Add the section title to Table of Contents.
* Search previous suggestions before making a new one, as yours may be a duplicate.
* Check your spelling and grammar.
* Remove any trailing whitespace.
* Send a Pull Request with the reason why the library is awesome.
- Add one link per commit.
- Add one commit per Pull Request.
- Add the link: `- [project-name](http://example.com/) - A short description ends with a period.`
- Keep descriptions concise.
- Add a section if needed.
- Add the section description.
- Add the section title to Table of Contents.
- Search previous suggestions before making a new one, as yours may be a duplicate.
- Check your spelling and grammar.
- Remove any trailing whitespace.
- Send a Pull Request with the reason why the library is awesome.
- Make sure the tests are passing.
## Styleguide
We enforce you all to use the same style for your submittions.
We are using [`remark-lint`](https://github.com/wooorm/remark-lint) to validate the style of the `README.md` and `CONTRIBUTING.md`.
Please, refer to [`Rules`](https://github.com/wooorm/remark-lint/blob/master/doc/rules.md) documentation, when in doubt.
## Testing
To run tests locally you will need:
- Ruby
- Node.js
To execute them:
```shell
$ gem install awesome_bot
$ npm install
$ node test && awesome_bot -f README.md -t 10 --allow-redirect
```

@ -2,189 +2,227 @@
A curated list of cryptography resources and links
<!--lint disable alphabetize-lists-->
- [Theory](#theory)
- [Books](#books)
- [Courses](#courses)
- [Articles](#articles)
- [Articles](#articles)
- [Books](#books)
- [Courses](#courses)
- [Frameworks and Libs](#frameworks-and-libs)
- [C](#c)
- [C++](#cpp)
- [C#](#c-sharp)
- [Clojure](#clojure)
- [Common Lisp](#common-lisp)
- [Delphi](#delphi)
- [Elixir](#elixir)
- [Golang](#go)
- [Haskell](#haskell)
- [Haxe](#hexe)
- [JavaScript](#javascript)
- [Java](#java)
- [Julia](#julia)
- [Lua](#lua)
- [Objective-C](#objective-c)
- [PHP](#php)
- [Python](#python)
- [Ruby](#ruby)
- [Rust](#rust)
- [Scala](#scala)
- [Swift](#swift)
- [Resources](#resources)
- [Websites](#websites)
- [Twitter](#twitter)
- [Web Apps](#web-apps)
- [C](#c)
- [C#](#c-sharp)
- [C++](#cpp)
- [Clojure](#clojure)
- [Common Lisp](#common-lisp)
- [Delphi](#delphi)
- [Elixir](#elixir)
- [Golang](#go)
- [Haskell](#haskell)
- [Haxe](#haxe)
- [Java](#java)
- [JavaScript](#javascript)
- [Julia](#julia)
- [Lua](#lua)
- [Objective-C](#objective-c)
- [PHP](#php)
- [Python](#python)
- [Ruby](#ruby)
- [Rust](#rust)
- [Scala](#scala)
- [Swift](#swift)
- [Contributing](#contributing)
- [...]()
- [License](#license)
<!--lint enable alphabetize-lists-->
- - -
# Theory
#### Books
* [An Introduction to Mathematical Cryptography](http://www.math.brown.edu/~jhs/MathCryptoHome.html) - is an introduction to modern cryptography.
* [Security Engineering](http://www.cl.cam.ac.uk/~rja14/book.html) - There is an extraordinary textbook written by Ross Anderson, professor of computer security at University of Cambridge.
* [OpenSSL Cookbook](https://www.feistyduck.com/library/openssl-cookbook/) - The book about OpenSSL.
* [Crypto101](https://www.crypto101.io/) - Crypto 101 is an introductory course on cryptography.
* [Handbook of Applied Cryptography](http://cacr.uwaterloo.ca/hac/index.html) - This book is intended as a reference for professional cryptographers
* [Introduction to Modern Cryptography](http://www.cs.umd.edu/~jkatz/imc.html) - is an introductory-level treatment of cryptography written from a modern, computer science perspective.
* [The Cryptoparty Handbook](https://unglue.it/work/141611/) - This book provides a comprehensive guide to the various topics of the computer and internet security
* [Cryptography Engineering](https://www.schneier.com/books/cryptography_engineering/) - Learn to build cryptographic protocols that work in the real world
#### Courses
* [Cryptography I](https://www.coursera.org/learn/crypto)
* [Cryptography - Stanford University](http://online.stanford.edu/course/cryptography)
* [Cybrary Cryptography](https://www.cybrary.it/course/cryptography/)
* [Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387)
# Frameworks and Libs
#### C
* [cryptlib](http://www.cryptlib.com/) - is an open source cross-platform software security toolkit library
* [retter](https://github.com/maciejczyzewski/retter) - a collection of hash functions, ciphers, tools and libraries.
* [xxHash](https://github.com/Cyan4973/xxHash) - Extremely fast hash algorithm
* [libtomcrypt](https://github.com/libtom/libtomcrypt) - is a fairly comprehensive, modular and portable cryptographic toolkit
* [libgcrypt](http://directory.fsf.org/wiki/Libgcrypt) - is a cryptographic library developed as a separated module of GnuPG.
* [NaCl](https://nacl.cr.yp.to/) - high-speed library for network communication, encryption, decryption, signatures, etc.
* [tiny-AES128-C](https://github.com/kokke/tiny-AES128-C) - Small portable AES128 in C.
* [RHash](https://github.com/rhash/RHash) - Great utility for computing hash sums.
#### C++
* [Crypto++](https://www.cryptopp.com/) - Crypto++ Library is a free C++ class library of cryptographic schemes.
* [Bcrypt](http://bcrypt.sourceforge.net/) - a cross platform file encryption utility.
* [Botan](https://botan.randombit.net/) - is a cryptography library written in C++11
* [libsodium](https://github.com/jedisct1/libsodium) - a modern and easy-to-use crypto library.
* [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - a low-level cryptographic library.
* [s2n](https://github.com/awslabs/s2n) - an implementation of the TLS/SSL protocols
#### C-sharp
* [Bouncy Castle](https://bouncycastle.org/csharp/index.html) - All-purpose cryptographic library.
* [libsodium-net](https://github.com/adamcaudill/libsodium-net) - libsodium for .NET - A secure cryptographic library.
* [StreamCryptor](https://github.com/bitbeans/StreamCryptor) - Stream encryption & decryption with libsodium and protobuf.
#### Clojure
* [buddy-core](https://funcool.github.io/buddy-core/latest/) - Cryptographic Api.
* [pandect](https://github.com/xsc/pandect) - Fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure.
#### Common Lisp
* [crypto-shortcuts](https://github.com/Shinmera/crypto-shortcuts) - Collection of common cryptography functions.
* [ironclad](http://method-combination.net/lisp/ironclad/) - Collection of common crypto shortcuts.
* [trivial-ssh](https://github.com/eudoxia0/trivial-ssh) - an SSH client library for Common Lisp (Built on libssh2)
#### Delphi
* [DelphiEncryptionCompendium](https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases) - Cryptographic library for Delphi.
* [LockBox](https://sourceforge.net/projects/tplockbox/) - LockBox 3 is a Delphi library for cryptography.
* [SynCrypto](https://github.com/synopse/mORMot/blob/master/SynCrypto.pas) - Fast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed.
* [TForge](https://bitbucket.org/sergworks/tforge) - TForge is open-source crypto library written in Delphi, compatible with FPC.
#### Elixir
* [cipher](https://github.com/rubencaro/cipher) - Elixir crypto library to encrypt/decrypt arbitrary binaries.
* [cloak](https://github.com/danielberkompas/cloak) - Cloak makes it easy to use encryption with Ecto.
* [comeonin](https://github.com/elixircnx/comeonin) - Password authorization (bcrypt) library for Elixir.
* [elixir_tea](https://github.com/keichan34/elixir_tea) - TEA implementation in Elixir.
* [elixir-rsa](https://github.com/trapped/elixir-rsa) - `public_key` cryptography wrapper for Elixir.
* [ex_crypto](https://github.com/ntrepid8/ex_crypto) - Elixir wrapper for Erlang `crypto` and `public_key` modules. Provides sensible defaults for many crypto functions to make them easier to use.
* [exgpg](https://github.com/rozap/exgpg) - Use gpg from Elixir.
* [pot](https://github.com/yuce/pot) - Erlang library for generating one time passwords compatible with Google Authenticator.
* [siphash-elixir](https://github.com/zackehh/siphash-elixir) - Elixir implementation of the SipHash hash family.
#### Go
* [crypto](https://golang.org/pkg/crypto/) - Official Website Resources.
* [cryptoballot](https://github.com/cryptoballot/cryptoballot) - Cryptographically secure online voting.
* [dedis/crypto](https://github.com/dedis/crypto) - Advanced crypto library for the Go language
* [gocrypto](https://github.com/kisom/gocrypto) - Example source code for the Practical Crypto with Go book.
#### Haskell
* [Cryptography & Hashing](https://wiki.haskell.org/Applications_and_libraries/Cryptography) - Official Website of Haskell
* [Cryptonite](https://hackage.haskell.org/package/cryptonite) - Cryptonite is a haskell repository of cryptographic primitives.
* [Crypto](http://hackage.haskell.org/packages/#cat:Crypto) - a collaborative Hackage list.
* [Cryptography](http://hackage.haskell.org/packages/#cat:Cryptography) - a collaborative Hackage list.
#### Hexe
* [haxe-crypto](http://lib.haxe.org/p/haxe-crypto/) - Haxe Cryptography Library.
#### JavaScript
* [cryptojs](https://github.com/gwjjeff/cryptojs) - Provide standard and secure cryptographic algorithms for NodeJS.
* [javascript-crypto-library](https://github.com/clipperz/javascript-crypto-library) - The JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions.
* [JShashes](https://github.com/h2non/jshashes) - Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)
* [sjcl](https://github.com/bitwiseshiftleft/sjcl) - Stanford Javascript Crypto Library.
#### Java
* [Apache Shiro](http://shiro.apache.org/) - Performs authentication, authorization, cryptography and session management.
* [Bouncy Castle](https://www.bouncycastle.org/java.html) - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
* [Google Keyczar](https://github.com/google/keyczar) - Easy to use, yet safe encryption framework with key versioning.
* [pac4j ](https://github.com/pac4j/pac4j) - Security engine.
#### Julia
* [Crypto.jl](https://github.com/danielsuo/Crypto.jl) - a library that wraps OpenSSL, but also has pure Julia implementations for reference.
#### Lua
* [LuaCrypto](https://github.com/mkottman/luacrypto) - Lua bindings to OpenSSL.
* [lua-lockbox ](https://github.com/somesocks/lua-lockbox) - a collection of cryptographic primitives written in pure Lua.
#### Objective-C
* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption.
* [CocoaSecurity](https://github.com/kelp404/CocoaSecurity) - AES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex.
* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac.
#### PHP
* [halite](https://paragonie.com/project/halite) - a simple library for encryption using [libsodium](https://github.com/jedisct1/libsodium).
* [PHP Encryption](https://github.com/defuse/php-encryption) - This is a library for encrypting data with a key or password in PHP.
* [TCrypto](https://github.com/timoh6/TCrypto) - TCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library.
#### Python
* [charm](https://github.com/JHUISI/charm) - a framework for rapidly prototyping cryptosystems.
* [cryptopy](https://sourceforge.net/projects/cryptopy/) - is a pure python implmentation of cryptographic algorithms and applications.
* [cryptography](https://cryptography.io/en/latest/) - is a Python library which exposes cryptographic recipes and primitives.
* [Google Keyczar](https://github.com/google/keyczar) - Easy-to-use crypto toolkit
* [pycrypto](https://github.com/dlitz/pycrypto) - The Python Cryptography Toolkit
* [hashids](https://github.com/davidaurelio/hashids-python) - Implementation of [hashids](http://hashids.org) in Python.
* [paramiko](http://www.paramiko.org/) - a Python implementation of the SSHv2 protocol, providing both client and server functionality.
* [pynacl](https://github.com/pyca/pynacl) - Python binding to the Networking and Cryptography (NaCl) library
#### Ruby
* [RbNaCl](https://github.com/cryptosphere/rbnacl) - Ruby binding to the Networking and Cryptography (NaCl) library.
#### Rust
* [ring](https://github.com/briansmith/ring) - Safe, fast, small crypto using Rust & BoringSSL's cryptography primitives.
* [webpki](https://github.com/briansmith/webpki) - Web PKI TLS X.509 certificate validation in Rust.
* [rust-crypto](https://github.com/DaGenix/rust-crypto) - a (mostly) pure-Rust implementation of various cryptographic algorithms.
* [sodiumoxide](https://github.com/dnaq/sodiumoxide) - Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium).
* [suruga](https://github.com/klutzy/suruga) - TLS 1.2 implementation in Rust.
* [octavo](https://github.com/libOctavo/octavo) - Highly modular & configurable hash & crypto library.
* [rust-openssl](https://github.com/sfackler/rust-openssl) - OpenSSL bindings for Rust.
#### Scala
* [scrypto](https://github.com/ScorexProject/scrypto) - Cryptographic primitives for Scala.
#### Swift
* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language.
* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - a wrapper for Apple's Common Crypto library written in Swift.
* [OpenSSL](https://github.com/Zewo/OpenSSL) - Swift OpenSSL for OS X and Linux.
* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - a tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
* [Swift-Sodium](https://github.com/jedisct1/swift-sodium) - Swift interface to the Sodium library for common crypto operations for iOS and OS X.
* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - an Elegant crypto toolkit in Swift.
# Contributing
Your contributions are always welcome! Please take a look at the [contribution guidelines](https://github.com/lk-geimfari/awesome-cryptography/blob/master/CONTRIBUTING.md) first.
## Theory
### Books
- [An Introduction to Mathematical Cryptography](http://www.math.brown.edu/~jhs/MathCryptoHome.html) - is an introduction to modern cryptography.
- [Crypto101](https://www.crypto101.io/) - Crypto 101 is an introductory course on cryptography.
- [Cryptography Engineering](https://www.schneier.com/books/cryptography_engineering/) - Learn to build cryptographic protocols that work in the real world.
- [Handbook of Applied Cryptography](http://cacr.uwaterloo.ca/hac/index.html) - This book is intended as a reference for professional cryptographers.
- [Introduction to Modern Cryptography](http://www.cs.umd.edu/~jkatz/imc.html) - is an introductory-level treatment of cryptography written from a modern, computer science perspective.
- [OpenSSL Cookbook](https://www.feistyduck.com/library/openssl-cookbook/) - The book about OpenSSL.
- [Security Engineering](http://www.cl.cam.ac.uk/~rja14/book.html) - There is an extraordinary textbook written by Ross Anderson, professor of computer security at University of Cambridge.
- [The Cryptoparty Handbook](https://unglue.it/work/141611/) - This book provides a comprehensive guide to the various topics of the computer and internet security.
### Courses
- [Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387)
- [Cryptography - Stanford University](http://online.stanford.edu/course/cryptography)
- [Cryptography I](https://www.coursera.org/learn/crypto)
- [Cybrary Cryptography](https://www.cybrary.it/course/cryptography/)
## Frameworks and Libs
### C
- [cryptlib](http://www.cryptlib.com/) - is an open source cross-platform software security toolkit library.
- [libgcrypt](http://directory.fsf.org/wiki/Libgcrypt) - is a cryptographic library developed as a separated module of GnuPG.
- [libtomcrypt](https://github.com/libtom/libtomcrypt) - is a fairly comprehensive, modular and portable cryptographic toolkit.
- [NaCl](https://nacl.cr.yp.to/) - high-speed library for network communication, encryption, decryption, signatures, etc.
- [retter](https://github.com/maciejczyzewski/retter) - a collection of hash functions, ciphers, tools and libraries.
- [RHash](https://github.com/rhash/RHash) - Great utility for computing hash sums.
- [tiny-AES128-C](https://github.com/kokke/tiny-AES128-C) - Small portable AES128 in C.
- [xxHash](https://github.com/Cyan4973/xxHash) - Extremely fast hash algorithm.
### C++
- [Bcrypt](http://bcrypt.sourceforge.net/) - a cross platform file encryption utility.
- [Botan](https://botan.randombit.net/) - is a cryptography library written in `C++11`.
- [Crypto++](https://www.cryptopp.com/) - Crypto++ Library is a free C++ class library of cryptographic schemes.
- [libsodium](https://github.com/jedisct1/libsodium) - a modern and easy-to-use crypto library.
- [Nettle](http://www.lysator.liu.se/~nisse/nettle/) - a low-level cryptographic library.
- [s2n](https://github.com/awslabs/s2n) - an implementation of the TLS/SSL protocols.
### C-sharp
- [Bouncy Castle](https://bouncycastle.org/csharp/index.html) - All-purpose cryptographic library.
- [libsodium-net](https://github.com/adamcaudill/libsodium-net) - libsodium for .NET - A secure cryptographic library.
- [StreamCryptor](https://github.com/bitbeans/StreamCryptor) - Stream encryption & decryption with libsodium and protobuf.
### Clojure
- [buddy-core](https://funcool.github.io/buddy-core/latest/) - Cryptographic Api.
- [pandect](https://github.com/xsc/pandect) - Fast and easy-to-use Message Digest, Checksum and HMAC library for Clojure.
### Common Lisp
- [crypto-shortcuts](https://github.com/Shinmera/crypto-shortcuts) - Collection of common cryptography functions.
- [ironclad](http://method-combination.net/lisp/ironclad/) - Collection of common crypto shortcuts.
- [trivial-ssh](https://github.com/eudoxia0/trivial-ssh) - an SSH client library for Common Lisp (Built on libssh2)
### Delphi
- [DelphiEncryptionCompendium](https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases) - Cryptographic library for Delphi.
- [LockBox](https://sourceforge.net/projects/tplockbox/) - LockBox 3 is a Delphi library for cryptography.
- [SynCrypto](https://github.com/synopse/mORMot/blob/master/SynCrypto.pas) - Fast cryptographic routines (hashing and cypher), implementing AES, XOR, RC4, ADLER32, MD5, SHA1, SHA256 algorithms, optimized for speed.
- [TForge](https://bitbucket.org/sergworks/tforge) - TForge is open-source crypto library written in Delphi, compatible with FPC.
### Elixir
- [cipher](https://github.com/rubencaro/cipher) - Elixir crypto library to encrypt/decrypt arbitrary binaries.
- [cloak](https://github.com/danielberkompas/cloak) - Cloak makes it easy to use encryption with Ecto.
- [comeonin](https://github.com/elixircnx/comeonin) - Password authorization (bcrypt) library for Elixir.
- [elixir-rsa](https://github.com/trapped/elixir-rsa) - `public_key` cryptography wrapper for Elixir.
- [elixir_tea](https://github.com/keichan34/elixir_tea) - TEA implementation in Elixir.
- [ex_crypto](https://github.com/ntrepid8/ex_crypto) - Elixir wrapper for Erlang `crypto` and `public_key` modules. Provides sensible defaults for many crypto functions to make them easier to use.
- [exgpg](https://github.com/rozap/exgpg) - Use gpg from Elixir.
- [pot](https://github.com/yuce/pot) - Erlang library for generating one time passwords compatible with Google Authenticator.
- [siphash-elixir](https://github.com/zackehh/siphash-elixir) - Elixir implementation of the SipHash hash family.
### Go
- [crypto](https://golang.org/pkg/crypto/) - Official Website Resources.
- [cryptoballot](https://github.com/cryptoballot/cryptoballot) - Cryptographically secure online voting.
- [dedis/crypto](https://github.com/dedis/crypto) - Advanced crypto library for the Go language.
- [gocrypto](https://github.com/kisom/gocrypto) - Example source code for the Practical Crypto with Go book.
### Haskell
- [Crypto](http://hackage.haskell.org/packages/#cat:Crypto) - a collaborative Hackage list.
- [Cryptography](http://hackage.haskell.org/packages/#cat:Cryptography) - a collaborative Hackage list.
- [Cryptography & Hashing](https://wiki.haskell.org/Applications_and_libraries/Cryptography) - Official Website of Haskell.
- [Cryptonite](https://hackage.haskell.org/package/cryptonite) - Cryptonite is a haskell repository of cryptographic primitives.
### Haxe
- [haxe-crypto](http://lib.haxe.org/p/haxe-crypto/) - Haxe Cryptography Library.
### JavaScript
- [cryptojs](https://github.com/gwjjeff/cryptojs) - Provide standard and secure cryptographic algorithms for NodeJS.
- [javascript-crypto-library](https://github.com/clipperz/javascript-crypto-library) - The JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions.
- [JShashes](https://github.com/h2non/jshashes) - Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)
- [sjcl](https://github.com/bitwiseshiftleft/sjcl) - Stanford Javascript Crypto Library.
### Java
- [Apache Shiro](http://shiro.apache.org/) - Performs authentication, authorization, cryptography and session management.
- [Bouncy Castle](https://www.bouncycastle.org/java.html) - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
- [Google Keyczar](https://github.com/google/keyczar) - Easy to use, yet safe encryption framework with key versioning.
- [pac4j](https://github.com/pac4j/pac4j) - Security engine.
### Julia
- [Crypto.jl](https://github.com/danielsuo/Crypto.jl) - a library that wraps OpenSSL, but also has pure Julia implementations for reference.
### Lua
- [lua-lockbox](https://github.com/somesocks/lua-lockbox) - a collection of cryptographic primitives written in pure Lua.
- [LuaCrypto](https://github.com/mkottman/luacrypto) - Lua bindings to OpenSSL.
### Objective-C
- [CocoaSecurity](https://github.com/kelp404/CocoaSecurity) - AES, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, Base64, Hex.
- [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac.
- [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption.
### PHP
- [halite](https://paragonie.com/project/halite) - a simple library for encryption using [libsodium](https://github.com/jedisct1/libsodium).
- [PHP Encryption](https://github.com/defuse/php-encryption) - This is a library for encrypting data with a key or password in PHP.
- [TCrypto](https://github.com/timoh6/TCrypto) - TCrypto is a simple and flexible PHP 5.3+ in-memory key-value storage library.
### Python
- [charm](https://github.com/JHUISI/charm) - a framework for rapidly prototyping cryptosystems.
- [cryptography](https://cryptography.io/en/latest/) - is a Python library which exposes cryptographic recipes and primitives.
- [cryptopy](https://sourceforge.net/projects/cryptopy/) - is a pure python implmentation of cryptographic algorithms and applications.
- [Google Keyczar](https://github.com/google/keyczar) - Easy-to-use crypto toolkit.
- [hashids](https://github.com/davidaurelio/hashids-python) - Implementation of [hashids](http://hashids.org) in Python.
- [paramiko](http://www.paramiko.org/) - a Python implementation of the SSHv2 protocol, providing both client and server functionality.
- [pycrypto](https://github.com/dlitz/pycrypto) - The Python Cryptography Toolkit.
- [pynacl](https://github.com/pyca/pynacl) - Python binding to the Networking and Cryptography (NaCl) library.
### Ruby
- [RbNaCl](https://github.com/cryptosphere/rbnacl) - Ruby binding to the Networking and Cryptography (NaCl) library.
### Rust
- [octavo](https://github.com/libOctavo/octavo) - Highly modular & configurable hash & crypto library.
- [ring](https://github.com/briansmith/ring) - Safe, fast, small crypto using Rust & BoringSSL's cryptography primitives.
- [rust-crypto](https://github.com/DaGenix/rust-crypto) - a (mostly) pure-Rust implementation of various cryptographic algorithms.
- [rust-openssl](https://github.com/sfackler/rust-openssl) - OpenSSL bindings for Rust.
- [sodiumoxide](https://github.com/dnaq/sodiumoxide) - Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium).
- [suruga](https://github.com/klutzy/suruga) - TLS 1.2 implementation in Rust.
- [webpki](https://github.com/briansmith/webpki) - Web PKI TLS X.509 certificate validation in Rust.
### Scala
- [scrypto](https://github.com/ScorexProject/scrypto) - Cryptographic primitives for Scala.
### Swift
- [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language.
- [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - a wrapper for Apple's Common Crypto library written in Swift.
- [OpenSSL](https://github.com/Zewo/OpenSSL) - Swift OpenSSL for OS X and Linux.
- [SweetHMAC](https://github.com/jancassio/SweetHMAC) - a tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
- [Swift-Sodium](https://github.com/jedisct1/swift-sodium) - Swift interface to the Sodium library for common crypto operations for iOS and OS X.
- [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - an Elegant crypto toolkit in Swift.
## Contributing
Your contributions are always welcome! Please take a look at the [contribution guidelines](https://github.com/sobolevn/awesome-cryptography/blob/master/CONTRIBUTING.md) first.
## License
`awesome-cryptography` by sobolevn
To the extent possible under law, the person who associated CC0 with
`awesome-cryptography` has waived all copyright and related or neighboring
rights to `awesome-cryptography`.
You should have received a copy of the CC0 legalcode along with this
work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.

@ -0,0 +1 @@
{"date":"2016-05-25 20:54:39 +0300","links":["https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg","https://github.com/sindresorhus/awesome","http://www.math.brown.edu/~jhs/MathCryptoHome.html","https://www.crypto101.io/","https://www.schneier.com/books/cryptography_engineering/","http://cacr.uwaterloo.ca/hac/index.html","http://www.cs.umd.edu/~jkatz/imc.html","https://www.feistyduck.com/library/openssl-cookbook/","http://www.cl.cam.ac.uk/~rja14/book.html","https://unglue.it/work/141611/","https://www.udacity.com/course/applied-cryptography--cs387","http://online.stanford.edu/course/cryptography","https://www.coursera.org/learn/crypto","https://www.cybrary.it/course/cryptography/","http://www.cryptlib.com/","http://directory.fsf.org/wiki/Libgcrypt","https://github.com/libtom/libtomcrypt","https://nacl.cr.yp.to/","https://github.com/maciejczyzewski/retter","https://github.com/rhash/RHash","https://github.com/kokke/tiny-AES128-C","https://github.com/Cyan4973/xxHash","http://bcrypt.sourceforge.net/","https://botan.randombit.net/","https://www.cryptopp.com/","https://github.com/jedisct1/libsodium","http://www.lysator.liu.se/~nisse/nettle/","https://github.com/awslabs/s2n","https://bouncycastle.org/csharp/index.html","https://github.com/adamcaudill/libsodium-net","https://github.com/bitbeans/StreamCryptor","https://funcool.github.io/buddy-core/latest/","https://github.com/xsc/pandect","https://github.com/Shinmera/crypto-shortcuts","http://method-combination.net/lisp/ironclad/","https://github.com/eudoxia0/trivial-ssh","https://github.com/winkelsdorf/DelphiEncryptionCompendium/releases","https://sourceforge.net/projects/tplockbox/","https://github.com/synopse/mORMot/blob/master/SynCrypto.pas","https://bitbucket.org/sergworks/tforge","https://github.com/rubencaro/cipher","https://github.com/danielberkompas/cloak","https://github.com/elixircnx/comeonin","https://github.com/trapped/elixir-rsa","https://github.com/keichan34/elixir_tea","https://github.com/ntrepid8/ex_crypto","https://github.com/rozap/exgpg","https://github.com/yuce/pot","https://github.com/zackehh/siphash-elixir","https://golang.org/pkg/crypto/","https://github.com/cryptoballot/cryptoballot","https://github.com/dedis/crypto","https://github.com/kisom/gocrypto","http://hackage.haskell.org/packages/#cat:Crypto","http://hackage.haskell.org/packages/#cat:Cryptography","https://wiki.haskell.org/Applications_and_libraries/Cryptography","https://hackage.haskell.org/package/cryptonite","http://lib.haxe.org/p/haxe-crypto/","https://github.com/gwjjeff/cryptojs","https://github.com/clipperz/javascript-crypto-library","https://github.com/h2non/jshashes","https://github.com/bitwiseshiftleft/sjcl","http://shiro.apache.org/","https://www.bouncycastle.org/java.html","https://github.com/google/keyczar","https://github.com/pac4j/pac4j","https://github.com/danielsuo/Crypto.jl","https://github.com/somesocks/lua-lockbox","https://github.com/mkottman/luacrypto","https://github.com/kelp404/CocoaSecurity","https://github.com/RNCryptor/RNCryptor","https://github.com/cossacklabs/themis","https://paragonie.com/project/halite","https://github.com/jedisct1/libsodium","https://github.com/defuse/php-encryption","https://github.com/timoh6/TCrypto","https://github.com/JHUISI/charm","https://cryptography.io/en/latest/","https://sourceforge.net/projects/cryptopy/","https://github.com/google/keyczar","https://github.com/davidaurelio/hashids-python","http://hashids.org","http://www.paramiko.org/","https://github.com/dlitz/pycrypto","https://github.com/pyca/pynacl","https://github.com/cryptosphere/rbnacl","https://github.com/libOctavo/octavo","https://github.com/briansmith/ring","https://github.com/DaGenix/rust-crypto","https://github.com/sfackler/rust-openssl","https://github.com/dnaq/sodiumoxide","https://github.com/klutzy/suruga","https://github.com/briansmith/webpki","https://github.com/ScorexProject/scrypto","https://github.com/krzyzanowskim/CryptoSwift","https://github.com/iosdevzone/IDZSwiftCommonCrypto","https://github.com/Zewo/OpenSSL","https://github.com/jancassio/SweetHMAC","https://github.com/jedisct1/swift-sodium","https://github.com/SwiftP2P/SwiftSSL","https://github.com/sobolevn/awesome-cryptography/blob/master/CONTRIBUTING.md","http://creativecommons.org/publicdomain/zero/1.0/"],"results":[{"url":"http://www.cryptlib.com/","status":-1,"error":"execution expired","headers":{},"loc":72}]}

@ -0,0 +1,45 @@
{
"name": "awesome-cryptography",
"version": "1.0.0",
"description": "A curated list of cryptography resources and links.",
"main": "index.js",
"scripts": {
"test": "./node_modules/remark/bin/remark README.md CONTRIBUTING.md -f"
},
"repository": {
"type": "git",
"url": "git+https://github.com/sobolevn/awesome-cryptography.git"
},
"keywords": [
"awesome-list",
"awesome",
"cryptography"
],
"author": "sobolevn",
"license": "CC-BY-1.0",
"bugs": {
"url": "https://github.com/sobolevn/awesome-cryptography/issues"
},
"homepage": "https://github.com/sobolevn/awesome-cryptography#readme",
"dependencies": {
"remark": "^4.2.2",
"remark-lint": "^3.2.1",
"remark-lint-alphabetize-lists": "^1.0.4"
},
"remarkConfig": {
"plugins": {
"lint": {
"maximum-line-length": 350,
"list-item-indent": "space",
"no-tabs": null,
"external": [
"remark-lint-alphabetize-lists",
"remark-validate-links"
]
}
},
"settings": {
"commonmark": true
}
}
}
Loading…
Cancel
Save