• Stars
    star
    3,030
  • Rank 14,273 (Top 0.3 %)
  • Language
    CSS
  • License
    MIT License
  • Created over 5 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Practical Cryptography for Developers: Hashes, MAC, Key Derivation, DHKE, Symmetric and Asymmetric Ciphers, Public Key Cryptosystems, RSA, Elliptic Curves, ECC, secp256k1, ECDH, ECIES, Digital Signatures, ECDSA, EdDSA

Welcome

Warning: this book is not finished! I am still working on some of the chapters. Once it is completed, I will publish it as PDF and EPUB. Be patient.

Practical Cryptography for Developers - Free Book by Svetlin Nakov - front cover

A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages.

Author: Svetlin Nakov, PhD - https://nakov.com

Contributors: Milen Stefanov, Marina Shideroff

Sponsor: SoftUni (Software University) - https://softuni.org

ISBN: 978-619-00-0870-5 (9786190008705)

This book is free and open-source, published under the MIT license.

Official Web site: https://cryptobook.nakov.com

Official GitHub repo: https://github.com/nakov/practical-cryptography-for-developers-book.

Sofia, November 2018

Tags: cryptography, free, book, Nakov, Svetlin Nakov, hashes, hash function, SHA-256, SHA3, BLAKE2, RIPEMD, MAC, message authentication code, HMAC, KDF, key derivation, key derivation function, PBKDF2, Scrypt, Bcrypt, Argon2, password hashing, random generator, pseudo-random numbers, CSPRNG, secure random generator, key exchange, key agreement, Diffie-Hellman, DHKE, ECDH, symmetric ciphers, asymmetric ciphers, public key cryptosystems, symmetric cryptography, AES, Rijndael, cipher block mode, AES-CTR, AES-GCM, ChaCha20-Poly1305, authenticated encryption, encryption scheme, public key cryptography, RSA, ECC, elliptic curves, secp256k1, curve25519, EC points, EC domain parameters, ECDH key agreement, asymmetric encryption scheme, hybrid encryption, ECIES, digital signature, RSA signature, DSA, ECDSA, EdDSA, ElGammal signature, Schnorr signature, quantum-safe cryptography, digital certificates, TLS, OAuth, multi-factor authentication, crypto libraries, Python cryptography, JavaScript cryptography, C# cryptography, Java cryptography, C++ cryptography, PHP cryptography.

More Repositories

1

Smart-Mass-Mailer

Smart Bulk Email Sender with Mail Merge, Delay between Emails and HTML Content
C#
68
star
2

TurtleGraphics.NET

C# Turtle Graphics library - for teaching kids to code
C#
65
star
3

NakovForwardServer

TCP port forwarding software, written in Java: forwards a local TCP port (e.g. 127.0.0.1:1521) to external port (e.g. 0.0.0.0:1522)
Java
44
star
4

IMDB-Tech-Module

IMDB Movie Database (in C#, Java, JS and PHP) - Exam Preparation for the Tech Module @ SoftUni (December 2017)
PHP
26
star
5

Nakov.io.cin

Nakov.IO.Cin is console input for C# in the C++ style: cin >> x >> y;
C#
14
star
6

TODO-List-Tech-Module

TODO List (in C#, Java, JS and PHP) - Exam Preparation for the Tech Module @ SoftUni (August 2017)
PHP
13
star
7

introcsharpbook

"Fundamentals of Computer Programming with C#" Book
12
star
8

Java-Cryptography-Examples

Java Examples for: Hashes, HMAC, PBKDF2, Scrypt, Argon2, AES-CTR-HMAC, ECDSA-secp256k1, EdDSA-Ed25519
Java
11
star
9

Ethereum-Web3-Document-Registry-Demo

Live demo source code: Document Registry DApp (using Ethereum, Solidity, Web3 and MetaMask)
JavaScript
10
star
10

q2a-plugin-open-questions

Open Questions plugin for Questions2Answers QA platform - displays all non-closed questions without answers
PHP
9
star
11

Eventures

Sample ASP.NET MVC App for CI / CD
C#
9
star
12

NakovChain

Simple Educational Blockchain Network
JavaScript
8
star
13

PyNewHope

A Python implementation of the NewHope post-quantum key exchange
Python
6
star
14

Fruits-Web-Game

Fruits game in C# and ASP.NET MVC - sample project
C#
6
star
15

client-side-ethereum-wallet

Voting DApp with client-side Ethereum wallet. Implements register / login / logout / vote
JavaScript
5
star
16

Messages-REST-Service

Messages RESTFul Web Services, based on ASP.NET Web API + Repositories + Unit of Work + Unit Tests + Integration Tests
C#
5
star
17

introjavabook

Книга "Въведение в програмирането с Java"
Java
5
star
18

NakovTestGenerator

Paper-based test generator for exams
Pascal
3
star
19

SoftUni

My SoftUni projects, homework and exercises
C#
3
star
20

playwright-example

Example of Web Browser Automation with the Playwright Framework
JavaScript
3
star
21

OJS-Checkers

Custom checkers for the OJS judge system (open judge system)
C#
3
star
22

nakov.github.io

Nakov's Page at GitHub (http://nakov.github.io)
3
star
23

python-bulb-controller-thinger

Bulb Controller: ESP8266 + Thinger + Python App
Python
3
star
24

nakov

About Svetlin Nakov
3
star
25

Nakov-Simple-Crypto

Simple Crypto Algorithms: 32-Bit Hash and 32-Bit Symmetric Block Cypher
C#
3
star
26

CategoriesAPI

Gategories RESTful API
JavaScript
3
star
27

MVC-app-integration-tests-example-mocha

Integration tests of Web MVC app with Mocha
JavaScript
3
star
28

Books-Library

Simple (Minimalistic) JavaScript Single Page App (SPA) without a Framework
JavaScript
3
star
29

Unified-Support-System

Unified Support System: Embedded Questions with Comments
JavaScript
2
star
30

TaskBoard

Trello-style task board, holding tasks in boards (Open, In Progress, Done): C# App + RESTful API + Desktop Client + Android Client
C#
2
star
31

cognates-and-false-friends-tools

Automatically exported from code.google.com/p/cognates-and-false-friends-tools
C#
2
star
32

ShortURL

URL Shortener (JS App)
JavaScript
2
star
33

SoftUni-Projects

Exercises, Homework, Projects and Exams from SoftUni Java Track
C#
2
star
34

OfficeFilesToPdfConverter

Office Documents (Word and PowerPoint) to PDF Converter (Console App)
C#
2
star
35

ConsoleAppMarch2019Again

C#
1
star
36

gwt-advanced-table

Automatically exported from code.google.com/p/gwt-advanced-table
Java
1
star
37

SoftUni-Foundation-Docs-Converter

SoftUni-Foundation-Docs-Converter (for the "IT Career" trainings)
C#
1
star
38

SimpleTreeNode

Very simple TreeNode<T> class for .NET
C#
1
star
39

Dictionaries-and-Sets-Examples

C# examples for Dictionaries, Nested Dictionaries and Sets
C#
1
star
40

Multidimensional-and-Jagged-Arrays-Examples

C#
1
star
41

Defining-Classes-Examples

C# Classes - Examples
C#
1
star
42

Appium-Tests-Vivino-Android

Appium-Based Automated Tests for the "Vivino" App on Android
C#
1
star
43

ConsoleAppMarch2019

1
star
44

firts-repo

My first repo
1
star
45

Appium-7Zip-Test-Automation

Appium-based Automated Test for the 7-Zip File Archiver
C#
1
star
46

NakovDocumentSigner

NakovDocumentSigner is an obsolete Java-applet based technology for digital signatures in the Web browser
Java
1
star
47

Appium-NUnit-CSharp-Example

Automated UI Testing with Appium for Android and Windows Desktop Apps
C#
1
star
48

selenium-webdriver-example

Example of using Selenium WebDriver to automate Chrome Web browser from Python
Python
1
star
49

test-repo

Това е тестово репо, което е за демо и след малко ще го изтрия
C#
1
star
50

SoftUni-Homeworks

C#
1
star
51

ShortURL-DesktopClient

Windows desktop client app for the "ShortURL" service
C#
1
star
52

site-demo

site-demo (temp repo)
HTML
1
star