whatisgithub

What is awesome-cryptography?

sobolevn/awesome-cryptography — explained in plain English

Analysis updated 2026-06-24

6,931Audience · developerComplexity · 1/5Setup · easy

In one sentence

A curated list of cryptography resources, theory articles, standalone tools, and code libraries for more than twenty programming languages, all organized in one place for developers to browse.

Mindmap

mindmap
  root((awesome-cryptography))
    Theory
      Symmetric encryption
      Asymmetric encryption
      Hash functions
      Books and courses
    Tools
      Standalone programs
      Browser playgrounds
      Git plugins
    Libraries by Language
      C and C++
      Python and JS
      Rust and Go
    Resources
      Blogs
      Mailing lists
      Reference sites
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Find the best cryptography library for your programming language from a list covering more than twenty languages

USE CASE 2

Learn cryptography concepts by browsing curated books, online courses, and articles organized by algorithm type

USE CASE 3

Experiment with encryption and hashing in the browser using linked playgrounds without writing any code

How does it compare?

sobolevn/awesome-cryptographyepicgamesext/raddebuggerl0o0/jasminum
Stars6,9316,9316,931
LanguageCTypeScript
Setup difficultyeasyhardeasy
Complexity1/54/52/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

This is a curated link list with no code to run, just browse the README and follow links to the tools or libraries you need.

So what is it?

Awesome Cryptography is a curated link list covering the field of cryptography, meaning the practice of securing information so that only intended recipients can read it. The list is organized into three broad sections: theory, tools, and programming libraries. The theory section covers the main algorithms used in cryptography, grouping them by type. Symmetric encryption algorithms (like AES and Blowfish) use the same key to lock and unlock data. Asymmetric algorithms (like RSA and ECC) use a pair of keys, one public and one private. Hash functions (like SHA-256) turn data into a fixed-length fingerprint that cannot be reversed. The section also links to articles, books, online courses, and other reading lists for anyone who wants to go deeper into the subject. The tools section lists standalone programs and browser-based playgrounds where you can experiment with encryption and hashing without writing code. There is also a subsection for Git-related cryptography plugins. The largest section covers cryptography libraries, organized by programming language. It spans more than twenty languages, from C and C++ to Python, JavaScript, Rust, Swift, Go, Java, Ruby, and others. Each entry links to a library with a short description of what it provides. A final resources section points to blogs that cover cryptography news and research, mailing lists, browser-based tools, and reference websites. This is a community-maintained list in the style of the broader "awesome" collection of link repositories on GitHub. It is useful as a starting point for developers who want to understand which tools and reading materials exist in the cryptography space, without prescribing any particular approach. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I am new to cryptography and need to add AES encryption to my Python app. Using the awesome-cryptography list as a reference, which library should I use and how do I encrypt a string with it?
Prompt 2
I need to implement RSA public-key encryption in my JavaScript web app. Based on the awesome-cryptography list, which library should I use and how do I generate a key pair?
Prompt 3
I want to understand the difference between symmetric and asymmetric encryption before writing any code. Point me to beginner-friendly reading from the awesome-cryptography theory section.
Prompt 4
Which library from the awesome-cryptography list is best for securely hashing passwords in a Node.js backend, and how do I use it with a salt?
Prompt 5
I am building a Go microservice that needs to verify JWT signatures. Which Go cryptography library from the list should I use and how do I verify an HMAC-SHA256 signature?

Frequently asked questions

What is awesome-cryptography?

A curated list of cryptography resources, theory articles, standalone tools, and code libraries for more than twenty programming languages, all organized in one place for developers to browse.

How hard is awesome-cryptography to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is awesome-cryptography for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.