{"id":29038,"date":"2018-11-28T14:22:08","date_gmt":"2018-11-28T12:22:08","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=29038"},"modified":"2018-11-28T14:22:08","modified_gmt":"2018-11-28T12:22:08","slug":"practical-cryptography-for-developers","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/","title":{"rendered":"Practical Cryptography for Developers"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"29039\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/practical-cryptography-for-developers-book-nakov-front-cover\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover.png?fit=500%2C690&amp;ssl=1\" data-orig-size=\"500,690\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Practical-Cryptography-for-Developers-Book-Nakov-front-cover\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover.png?fit=500%2C690&amp;ssl=1\" class=\"aligncenter size-medium wp-image-29039\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover-362x500.png?resize=362%2C500&#038;ssl=1\" alt=\"\" width=\"362\" height=\"500\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover.png?resize=362%2C500&amp;ssl=1 362w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover.png?w=500&amp;ssl=1 500w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/a>&#8220;<a href=\"https:\/\/cryptobook.nakov.com\/\">Practical Cryptography for Developers<\/a>&#8221; is a free book (with <a href=\"https:\/\/github.com\/nakov\/practical-cryptography-for-developers-book\">GitHub repository<\/a>) by\u00a0<a href=\"http:\/\/www.nakov.com\/\">Svetlin Nakov<\/a>, which aims at teaching developers some of the most practical concepts of cryptography.\u00a0 The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more.\u00a0 Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;Practical Cryptography for Developers&#8221; is a free book (with GitHub repository) by\u00a0Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography.\u00a0 The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more.\u00a0 Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Practical Cryptography for Developers #WebDev #security #books","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,2294,18,62,1334],"tags":[200,1330],"keyring_services":[],"class_list":["post-29038","post","type-post","status-publish","format-standard","hentry","category-general","category-books","category-programming","category-technology","category-web-work","tag-security","tag-web-development"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"&quot;Practical Cryptography for Developers&quot; is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Practical Cryptography for Developers - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"&quot;Practical Cryptography for Developers&quot; is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2018-11-28T12:22:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2018-11-28T12:22:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Practical Cryptography for Developers - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"&quot;Practical Cryptography for Developers&quot; is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#blogposting\",\"name\":\"Practical Cryptography for Developers - Leonid Mamchenkov\",\"headline\":\"Practical Cryptography for Developers\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover-362x500.png\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#articleImage\"},\"datePublished\":\"2018-11-28T14:22:08+02:00\",\"dateModified\":\"2018-11-28T14:22:08+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#webpage\"},\"articleSection\":\"All, Books, Programming, Technology, Web work, security, web development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#listItem\",\"name\":\"Practical Cryptography for Developers\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#listItem\",\"position\":4,\"name\":\"Practical Cryptography for Developers\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/\",\"name\":\"Practical Cryptography for Developers - Leonid Mamchenkov\",\"description\":\"\\\"Practical Cryptography for Developers\\\" is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2018\\\/11\\\/28\\\/practical-cryptography-for-developers\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2018-11-28T14:22:08+02:00\",\"dateModified\":\"2018-11-28T14:22:08+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Practical Cryptography for Developers - Leonid Mamchenkov","description":"\"Practical Cryptography for Developers\" is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#blogposting","name":"Practical Cryptography for Developers - Leonid Mamchenkov","headline":"Practical Cryptography for Developers","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/11\/Practical-Cryptography-for-Developers-Book-Nakov-front-cover-362x500.png","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#articleImage"},"datePublished":"2018-11-28T14:22:08+02:00","dateModified":"2018-11-28T14:22:08+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#webpage"},"articleSection":"All, Books, Programming, Technology, Web work, security, web development"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#listItem","name":"Practical Cryptography for Developers"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#listItem","position":4,"name":"Practical Cryptography for Developers","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/","name":"Practical Cryptography for Developers - Leonid Mamchenkov","description":"\"Practical Cryptography for Developers\" is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2018-11-28T14:22:08+02:00","dateModified":"2018-11-28T14:22:08+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Practical Cryptography for Developers - Leonid Mamchenkov","og:description":"&quot;Practical Cryptography for Developers&quot; is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.","og:url":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2018-11-28T12:22:08+00:00","article:modified_time":"2018-11-28T12:22:08+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Practical Cryptography for Developers - Leonid Mamchenkov","twitter:description":"&quot;Practical Cryptography for Developers&quot; is a free book (with GitHub repository) by Svetlin Nakov, which aims at teaching developers some of the most practical concepts of cryptography. The book covers hashing functions, random generators, symmetric and asymmetric keys, digital signatures, and more. Each chapter is rich with diagrams, illustrations, code samples, as well as exercises.","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"29038","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 15:38:37","updated":"2026-01-15 13:53:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPractical Cryptography for Developers\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Practical Cryptography for Developers","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/11\/28\/practical-cryptography-for-developers\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":25977,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/03\/29\/cipherli-st-strong-ciphers-for-apache-nginx-and-lighttpd\/","url_meta":{"origin":29038,"position":0},"title":"Cipherli.st &#8211; strong ciphers for Apache, Nginx and Lighttpd","author":"Leonid Mamchenkov","date":"March 29, 2016","format":false,"excerpt":"Cipherli.st - provides ready to use cipher configurations for a variety of applications, such as Apache, Nginx, Lighttpd, HAProxy, Exim, Postfix, Dovecot, OpenSSH, and others. \u00a0This is a huge time-saver for those of us not well versed in cryptography and security. Don't forget to use Qyalis SSL Labs SSL Server\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15429,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/08\/24\/how-broken-is-broken\/","url_meta":{"origin":29038,"position":1},"title":"How broken is broken?","author":"Leonid Mamchenkov","date":"August 24, 2011","format":false,"excerpt":"The Register runs an article with the title \"AES crypto broken by 'groundbreaking' attack\". Inside the said article they have the following quote: This technique is a divide-and-conquer attack. To find an unknown key, they partition all the possible keys into a set of groups. This is possible because AES\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9869,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/01\/27\/ripe-dnsdnssec-course\/","url_meta":{"origin":29038,"position":2},"title":"RIPE DNS\/DNSSEC course","author":"Leonid Mamchenkov","date":"January 27, 2006","format":false,"excerpt":"Most of today I spent in the Mediterranean hotel. Together with about twenty other administrators from most Cyprus ISPs, I attended DNS\/DNSSEC course given by RIPE NCC. We all gathered together around 9:00am and started off with some tea and coffee. Until about 11:00am we went through some organizational stuff,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27425,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/18\/practical-color-theory-for-people-who-code\/","url_meta":{"origin":29038,"position":3},"title":"Practical Color Theory for People Who Code","author":"Leonid Mamchenkov","date":"March 18, 2017","format":false,"excerpt":"Practical Color Theory for People Who Code is an excellent guide to color theory for developers. \u00a0If you'd rather rely on simple formulas for color combinations, than on your own authentic eye, this guide is for you.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/03\/colors-500x311.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":42631,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/05\/20\/php-in-2019\/","url_meta":{"origin":29038,"position":4},"title":"PHP in 2019","author":"Leonid Mamchenkov","date":"May 20, 2019","format":false,"excerpt":"Here's a nice overview of \"PHP in 2019\" for those who are still trying to avoid the language because of some preconceived or outdated reasons. TL;DR* PHP is actively developed with a new release each year* Performance since the PHP 5 era has doubled, if not tripled* There's a extremely\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7715,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/07\/24\/cryptonomicon\/","url_meta":{"origin":29038,"position":5},"title":"Cryptonomicon","author":"Leonid Mamchenkov","date":"July 24, 2004","format":false,"excerpt":"I have just finished reading \"Cryptonomicon\" by Neal Stephenson. It is a great action book for people interested in technology. There is a lot of stuff about cryptography, UNIX and computers in general, but it is also quiet an entertaining read. You can read a proper review at Slashdot. There\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=29038"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/29038\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=29038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=29038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=29038"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=29038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}