CINXE.COM

Codebreaking | No Starch Press

<!DOCTYPE html> <html lang="en" dir="ltr" xmlns:og="https://ogp.me/ns#"> <head> <link rel="profile" href="https://www.w3.org/1999/xhtml/vocab" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="shortcut icon" href="https://nostarch.com/sites/default/files/favicon.ico" type="image/vnd.microsoft.icon" /> <meta name="description" content="A tour through history’s real codes and ciphers written by two of today’s best cipher crackers." /> <meta name="generator" content="Drupal 7 (http://drupal.org)" /> <link rel="image_src" href="https://nostarch.com/sites/default/files/Codebreaking_cover.png" /> <link rel="canonical" href="https://nostarch.com/codebreaking" /> <link rel="shortlink" href="https://nostarch.com/node/687" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://nostarch.com/codebreaking" /> <meta property="og:title" content="Codebreaking" /> <meta property="og:description" content="A tour through history’s real codes and ciphers written by two of today’s best cipher crackers." /> <meta property="og:updated_time" content="2024-01-12T06:40:21-08:00" /> <meta property="og:image:url" content="https://nostarch.com/sites/default/files/Codebreaking_cover.png" /> <meta property="og:image:secure_url" content="https://nostarch.com/sites/default/files/Codebreaking_cover.png" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@nostarch" /> <meta name="twitter:url" content="https://nostarch.com/codebreaking" /> <meta name="twitter:title" content="Codebreaking" /> <meta name="twitter:description" content="A tour through history’s real codes and ciphers written by two of today’s best cipher crackers." /> <meta name="twitter:image" content="https://nostarch.com/sites/default/files/Codebreaking_cover.png" /> <meta property="product:price:amount" content="29.99" /> <meta property="product:price:currency" content="USD" /> <meta property="product:isbn" content="9781718502727" /> <meta property="article:published_time" content="2022-03-10T08:22:31-08:00" /> <meta property="article:modified_time" content="2024-01-12T06:40:21-08:00" /> <meta property="product:retailer_part_no" content="codebreaking-combo" /> <meta property="product:mfr_part_no" content="codebreaking-combo" /> <title>Codebreaking | No Starch Press</title> <link type="text/css" rel="stylesheet" href="https://nostarch.com/sites/default/files/css/css_lQaZfjVpwP_oGNqdtWCSpJT1EMqXdMiU84ekLLxQnc4.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://nostarch.com/sites/default/files/css/css_guSWpwqRBCVb2J7ivC8BaNuaPffCXmbkGB5xDBqKKu8.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://nostarch.com/sites/default/files/css/css_Dw0rmhFX_owMmlf1HH5Y-_BnOHcMlkri1yMjYHD4ffs.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://nostarch.com/sites/default/files/css/css_XJm3Wqia1GUjoI4j54duSLNZVR3Kxhbwy0s3UwuhhHg.css" media="all" /> <!-- HTML5 element support for IE6-8 --> <!--[if lt IE 9]> <script src="https://cdn.jsdelivr.net/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> <![endif]--> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <script>window.jQuery || document.write("<script src='/sites/all/modules/contrib/jquery_update/replace/jquery/2.2/jquery.min.js'>\x3C/script>")</script> <script src="https://nostarch.com/misc/jquery-extend-3.4.0.js?v=2.2.4"></script> <script src="https://nostarch.com/misc/jquery-html-prefilter-3.5.0-backport.js?v=2.2.4"></script> <script src="https://nostarch.com/misc/jquery.once.js?v=1.2"></script> <script src="https://nostarch.com/misc/drupal.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/jquery_update/js/jquery_browser.js?v=0.0.1"></script> <script src="https://nostarch.com/misc/form-single-submit.js?v=7.103"></script> <script src="https://nostarch.com/sites/all/modules/contrib/ubercart/uc_file/uc_file.js?steosx"></script> <script src="https://nostarch.com/sites/all/libraries/colorbox/jquery.colorbox-min.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/colorbox/js/colorbox.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/colorbox/styles/plain/colorbox_style.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/colorbox/js/colorbox_load.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/colorbox/js/colorbox_inline.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/ubercart/uc_cart/uc_cart_block.js?steosx"></script> <script src="https://nostarch.com/sites/all/modules/contrib/google_analytics/googleanalytics.js?steosx"></script> <script src="https://www.googletagmanager.com/gtag/js?id=UA-5027625-1"></script> <script>window.google_analytics_uacct = "UA-5027625-1";window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("set", "developer_id.dMDhkMT", true);gtag("config", "UA-5027625-1", {"groups":"default","anonymize_ip":true});gtag("config", "G-51XGZT9Y4H", {"groups":"default","anonymize_ip":true});</script> <script src="https://nostarch.com/sites/all/themes/nostarch/js/bootstrap.min.js?steosx"></script> <script src="https://nostarch.com/sites/all/themes/nostarch/js/main.js?steosx"></script> <script src="https://nostarch.com/sites/all/themes/nostarch/js/front_grid_height.js?steosx"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"nostarch","theme_token":"lYj7LAo9CZw05hLN_iA_ZUntx9Sh0EE71SOQU1Kzs1M","js":{"sites\/all\/modules\/contrib\/addthis\/addthis.js":1,"sites\/all\/libraries\/shariff\/shariff.min.js":1,"sites\/all\/themes\/contrib\/bootstrap\/js\/bootstrap.js":1,"\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/2.2.4\/jquery.min.js":1,"0":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery-html-prefilter-3.5.0-backport.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/contrib\/jquery_update\/js\/jquery_browser.js":1,"misc\/form-single-submit.js":1,"sites\/all\/modules\/contrib\/ubercart\/uc_file\/uc_file.js":1,"sites\/all\/libraries\/colorbox\/jquery.colorbox-min.js":1,"sites\/all\/modules\/contrib\/colorbox\/js\/colorbox.js":1,"sites\/all\/modules\/contrib\/colorbox\/styles\/plain\/colorbox_style.js":1,"sites\/all\/modules\/contrib\/colorbox\/js\/colorbox_load.js":1,"sites\/all\/modules\/contrib\/colorbox\/js\/colorbox_inline.js":1,"sites\/all\/modules\/contrib\/ubercart\/uc_cart\/uc_cart_block.js":1,"sites\/all\/modules\/contrib\/google_analytics\/googleanalytics.js":1,"https:\/\/www.googletagmanager.com\/gtag\/js?id=UA-5027625-1":1,"1":1,"sites\/all\/themes\/nostarch\/js\/bootstrap.min.js":1,"sites\/all\/themes\/nostarch\/js\/main.js":1,"sites\/all\/themes\/nostarch\/js\/front_grid_height.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/field\/theme\/field.css":1,"sites\/all\/modules\/contrib\/logintoboggan\/logintoboggan.css":1,"modules\/node\/node.css":1,"sites\/all\/modules\/contrib\/uc_fedex\/uc_fedex.css":1,"sites\/all\/modules\/contrib\/ubercart\/uc_file\/uc_file.css":1,"sites\/all\/modules\/contrib\/ubercart\/uc_order\/uc_order.css":1,"sites\/all\/modules\/contrib\/ubercart\/uc_product\/uc_product.css":1,"sites\/all\/modules\/contrib\/ubercart\/uc_store\/uc_store.css":1,"sites\/all\/modules\/contrib\/views\/css\/views.css":1,"sites\/all\/modules\/contrib\/ckeditor\/css\/ckeditor.css":1,"sites\/all\/modules\/contrib\/uc_discounts_alt\/uc_discounts\/uc_discounts.css":1,"sites\/all\/modules\/contrib\/colorbox\/styles\/plain\/colorbox_style.css":1,"sites\/all\/modules\/contrib\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/contrib\/ubercart\/uc_cart\/uc_cart_block.css":1,"sites\/all\/libraries\/shariff\/shariff.complete.css":1,"sites\/all\/themes\/nostarch\/css\/en_styles.css":1,"sites\/all\/themes\/nostarch\/css\/custom.css":1,"sites\/all\/themes\/nostarch\/css\/bootstrap-3-vert-offset.css":1,"sites\/all\/themes\/nostarch\/css\/bootstrap-3-autoclear.css":1,"sites\/all\/themes\/nostarch\/css\/glyphicons.css":1}},"colorbox":{"opacity":"0.85","current":"{current} of {total}","previous":"\u00ab Prev","next":"Next \u00bb","close":"Close","maxWidth":"98%","maxHeight":"98%","fixed":true,"mobiledetect":true,"mobiledevicewidth":"480px","file_public_path":"\/sites\/default\/files","specificPagesDefaultValue":"admin*\nimagebrowser*\nimg_assist*\nimce*\nnode\/add\/*\nnode\/*\/edit\nprint\/*\nprintpdf\/*\nsystem\/ajax\nsystem\/ajax\/*"},"better_exposed_filters":{"views":{"topics":{"displays":{"block":{"filters":[]}}},"related_products":{"displays":{"block":{"filters":[]}}}}},"googleanalytics":{"account":["UA-5027625-1","G-51XGZT9Y4H"],"trackOutbound":1,"trackMailto":1,"trackDownload":1,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip","trackColorbox":1},"urlIsAjaxTrusted":{"\/codebreaking":true},"bootstrap":{"anchorsFix":"0","anchorsSmoothScrolling":"0","formHasError":1,"popoverEnabled":1,"popoverOptions":{"animation":1,"html":0,"placement":"right","selector":"","trigger":"click","triggerAutoclose":1,"title":"","content":"","delay":0,"container":"body"},"tooltipEnabled":1,"tooltipOptions":{"animation":1,"html":0,"placement":"auto left","selector":"","trigger":"hover focus","delay":0,"container":"body"}}});</script> </head> <body class="html not-front not-logged-in two-sidebars page-node page-node- page-node-687 node-type-product uc-product-node"> <div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a> </div> <header id="" class="header" role="banner" class="navbar navbar-default"> <div class="container"> <div class="row"> <nav role="navigation" class="navbar navbar-default visible-xs"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand text-uppercase" href="/"><img src="https://nostarch.com/sites/all/themes/nostarch/logo.png" alt="Home" class="img-responsive"/></a> </div> <div id="navbar" class="navbar-collapse collapse text-center"> <ul class="menu nav navbar-nav"><li class="first leaf"><a href="/catalog.htm" title="Explore our catalog">Catalog</a></li> <li class="leaf"><a href="https://nostarch.com/merchandise-0" title="Merchandise">Merchandise</a></li> <li class="leaf"><a href="/blog" title="The No Starch Press blog">Blog</a></li> <li class="leaf"><a href="https://nostarch.com/early-access-program" title="Media contact">Early Access</a></li> <li class="leaf"><a href="/writeforus" title="Submit a book proposal">Write for Us</a></li> <li class="leaf"><a href="/about" title="About No Starch Press">About Us</a></li> <li class="last leaf"><a href="/contactus" title="Contact Us">Contact Us</a></li> </ul> <div class="region region-navigation"> <section id="block-uc-cart-cart" class="block block-uc-cart clearfix"> <h2 class="block-title"><a href="/cart"><span class="cart-block-icon-empty" title="View your shopping cart."></span></a><span class="cart-block-title-bar" title="Show/hide shopping cart contents.">Shopping cart<span class="cart-block-arrow arrow-down"></span></span></h2> <p class="cart-block-items collapsed uc-cart-empty">There are no products in your shopping cart.</p><table class="cart-block-summary"><tbody><tr><td class="cart-block-summary-items"><span class="num-items">0</span> Items</td><td class="cart-block-summary-total"><label>Total:</label> <span class="uc-price">$0.00</span></td></tr></tbody></table> </section> <section id="block-search-api-page-site-search" class="block block-search-api-page clearfix"> <form action="/codebreaking" method="post" id="search-api-page-search-form-site-search" accept-charset="UTF-8"><div><div class="form-item form-item-keys-2 form-type-textfield form-group"><input placeholder="Search" class="form-control form-text" type="text" id="edit-keys-2" name="keys_2" value="" size="15" maxlength="128" /> <label class="control-label element-invisible" for="edit-keys-2">Enter your keywords</label> </div><input type="hidden" name="id" value="2" /> <button class="icon glyphicon glyphicon-search btn-primary form-control btn form-submit" type="submit" id="edit-submit-2" name="op" value=""></button> <input type="hidden" name="form_build_id" value="form-IfBTjvZaGNlUOH62aJzxDWiP_c4t1FhqC4ka1rI_LCo" /> <input type="hidden" name="form_id" value="search_api_page_search_form_site_search" /> </div></form> </section> </div> </div> </nav> <div class="navbar-header"> <div class="logo-wrapper col-sm-6 hidden-xs"> <a class="logo navbar-btn pull-left" href="/" title="Home"> <img src="https://nostarch.com/sites/all/themes/nostarch/logo.png" alt="Home" class="img-responsive"/> </a> </div> <div class="logo-wrapper col-sm-6 hidden-xs"> <div class="region region-navigation"> <div class="region region-navigation"> <section id="block-uc-cart-cart" class="block block-uc-cart clearfix"> <h2 class="block-title"><a href="/cart"><span class="cart-block-icon-empty" title="View your shopping cart."></span></a><span class="cart-block-title-bar" title="Show/hide shopping cart contents.">Shopping cart<span class="cart-block-arrow arrow-down"></span></span></h2> <p class="cart-block-items collapsed uc-cart-empty">There are no products in your shopping cart.</p><table class="cart-block-summary"><tbody><tr><td class="cart-block-summary-items"><span class="num-items">0</span> Items</td><td class="cart-block-summary-total"><label>Total:</label> <span class="uc-price">$0.00</span></td></tr></tbody></table> </section> <section id="block-search-api-page-site-search" class="block block-search-api-page clearfix"> <form action="/codebreaking" method="post" id="search-api-page-search-form-site-search" accept-charset="UTF-8"><div><div class="form-item form-item-keys-2 form-type-textfield form-group"><input placeholder="Search" class="form-control form-text" type="text" id="edit-keys-2" name="keys_2" value="" size="15" maxlength="128" /> <label class="control-label element-invisible" for="edit-keys-2">Enter your keywords</label> </div><input type="hidden" name="id" value="2" /> <button class="icon glyphicon glyphicon-search btn-primary form-control btn form-submit" type="submit" id="edit-submit-2" name="op" value=""></button> <input type="hidden" name="form_build_id" value="form-IfBTjvZaGNlUOH62aJzxDWiP_c4t1FhqC4ka1rI_LCo" /> <input type="hidden" name="form_id" value="search_api_page_search_form_site_search" /> </div></form> </section> </div> </div> </div> </div> </div> </div> <div class="container"> <div class="row"> <div class="navbar-collapse collapse"> <nav role="navigation"> <ul class="menu nav navbar-nav"><ul class="menu nav navbar-nav"><li class="first leaf"><a href="/catalog.htm" title="Explore our catalog">Catalog</a></li> <li class="leaf"><a href="https://nostarch.com/merchandise-0" title="Merchandise">Merchandise</a></li> <li class="leaf"><a href="/blog" title="The No Starch Press blog">Blog</a></li> <li class="leaf"><a href="https://nostarch.com/early-access-program" title="Media contact">Early Access</a></li> <li class="leaf"><a href="/writeforus" title="Submit a book proposal">Write for Us</a></li> <li class="leaf"><a href="/about" title="About No Starch Press">About Us</a></li> <li class="last leaf"><a href="/contactus" title="Contact Us">Contact Us</a></li> </ul></ul> </nav> </div> </div> </div> </header> <div class="main-container container"> <header role="banner" id="page-header"> <div class="region region-header"> <section id="block-block-159" class="block block-block clearfix"> <style> <!--/*--><![CDATA[/* ><!--*/ #banner { height: 120px; } #banner-graphic { width: 700px; } #banner-countdown { width: 240px; } #banner-cta { width: 200px; text-align: center; margin-top: 19px; } .banner-column { float: left; } .banner_image { max-width: 100% } @media (max-width: 1199px) { #banner-graphic { width: 500px; } } @media (max-width: 991px) { #banner { height: 160px; } #banner-graphic { float: none; width: 100%; } #banner-countdown { width: 50%; } #banner-cta { width: 50%; } } @media (max-width: 422px) { #banner { height: 200px; } #banner-countdown { float: none; width: 100%; } #banner-cta { float: none; width: 100%; margin-top: 10px; } } .time-left { margin: 1em; font-size: .75em; font-weight: bold; text-transform: uppercase; font-family: Arial, Helvetica, Verdana, sans-serif; text-align: center; } .countdown-container { display: flex; justify-content: center; } .countdown-timer { font-family: Arial, Helvetica, Verdana, sans-serif; color: white; } .countdown-timer .countdown-timer-counter { background-color: #222; display: inline-flex; flex-direction: column; justify-content: space-around; text-align: center; border-radius: 0.2em; width: 3em; line-height: 1.3; margin: 0 0.2em; padding: .6em 0.15em 0.75em; text-shadow: 1px 1px 1px rgba(0,0,0,0.85); } .countdown-timer .countdown-timer-counter .countdown-timer-number { font-weight: bold; font-size: 1em; } .countdown-timer .countdown-timer-counter .countdown-label { font-size: 0.75em; } .cta-parent { text-align: center; } .cta-button { font-family: Arial, Helvetica, Verdana, sans-serif; color: white; display: inline-block; font-weight: bold; text-decoration: none; background-color: #ec6352; border: 1px solid #ec6352; cursor: pointer; padding: 0.8em 1.25em 1em; margin: 0.75em auto 0; font-size: 1.15em; text-rendering: optimizeLegibility; border-radius: 0.3em; text-shadow: 1px 1px 1px rgba(0,0,0,0.65); text-transform: uppercase; transition-duration: 0.2s; transition-property: background-color, border, color, box-shadow, text-shadow; transition-timing-function: ease-in-out; white-space: nowrap; } .cta-button:hover { background-color: #ec6352; border: 1px solid #ec6352; } /*--><!]]>*/ </style><div id="banner1"> <div class="banner-column" id="banner-graphic"> <p><a href="https://www.humblebundle.com/books/computer-science-fun-way-no-starch-books" target="_blank"><img src="https://nostarch.com/images/banners/HumbleBundleWebsiteBanner_March2025.png" class="banner_image" /></a></p> </div> <div class="banner-column" id="banner-countdown"> <div class="time-left">time left</div> <div class="countdown-container"> <div class="countdown-timer"> <div class="countdown-timer-counter" data-unit="days"> <div class="countdown-timer-number"></div> <div class="countdown-label">days</div> </div> <div class="countdown-timer-counter" data-unit="hours"> <div class="countdown-timer-number"></div> <div class="countdown-label">hours</div> </div> <div class="countdown-timer-counter" data-unit="minutes"> <div class="countdown-timer-number"></div> <div class="countdown-label">min</div> </div> <div class="countdown-timer-counter" data-unit="seconds"> <div class="countdown-timer-number"></div> <div class="countdown-label">sec</div> </div> </div> </div> </div> <div class="banner-column" id="banner-cta"><a href="https://www.humblebundle.com/books/computer-science-fun-way-no-starch-books" target="_blank"><span class="cta-button">Get The Bundle</span></a></div> </div> <script> <!--//--><![CDATA[// ><!-- function initCountdown(bannerId, endDate) { var countdownTime = new Date(endDate); var banner = document.getElementById(bannerId); var x = setInterval(function() { var now = new Date(); var distance = countdownTime - now; var days = Math.max(Math.floor(distance / (1000 * 60 * 60 * 24)), 0); var hours = Math.max(Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)), 0); var minutes = Math.max(Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)), 0); var seconds = Math.max(Math.floor((distance % (1000 * 60)) / 1000), 0); function padZero(num) { return num.toString().padStart(2, '0'); } banner.querySelector('[data-unit="days"] .countdown-timer-number').textContent = padZero(days); banner.querySelector('[data-unit="hours"] .countdown-timer-number').textContent = padZero(hours); banner.querySelector('[data-unit="minutes"] .countdown-timer-number').textContent = padZero(minutes); banner.querySelector('[data-unit="seconds"] .countdown-timer-number').textContent = padZero(seconds); if (distance < 0) { clearInterval(x); banner.querySelector('.countdown-container').textContent = "Event has ended"; } }, 1000); } // Initialize the countdown for banner1 initCountdown('banner1', '2025-03-24T19:00:00Z'); //--><!]]> </script> </section> </div> </header> <!-- /#page-header --> <div class="row"> <aside class="col-sm-3" role="complementary"> <div class="region region-sidebar-first well"> <section id="block-views-topics-block" class="block block-views clearfix"> <button class="btn btn-primary btn-block visible-xs vert-offset-top-2" data-toggle="collapse" data-target="#topics"><span class="glyphicon glyphicon-menu-down pull-left"></span> <span class="btn-text">Topics</span><span class="glyphicon glyphicon-menu-down pull-right"></span></button> <h2 class="block-title hidden-xs">Topics</h2> <div id="topics" class="view-content collapse dont-collapse animateCollapse"> <div class="view view-topics view-id-topics view-display-id-block view-dom-id-16cbe3c140f021d64828d10b6c448236"> <div class="view-content"> <div class="item-list"> <ul> <li class="views-row views-row-1 views-row-odd views-row-first"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/art-photography-design">Art &amp; Design</a></span> </div></li> <li class="views-row views-row-2 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/general-computing">General Computing</a></span> </div></li> <li class="views-row views-row-3 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/security">Hacking &amp; Computer Security</a></span> </div></li> <li class="views-row views-row-4 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/hardware-and-diy">Hardware / DIY</a></span> </div></li> <li class="views-row views-row-5 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/kids">Kids</a></span> </div></li> <li class="views-row views-row-6 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/lego">LEGO®</a></span> </div></li> <li class="views-row views-row-7 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/linux-bsd-unix">Linux &amp; BSD</a></span> </div></li> <li class="views-row views-row-8 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/manga">Manga</a></span> </div></li> <li class="views-row views-row-9 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/programming">Programming</a></span> </div></li> <li class="views-row views-row-10 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/python">Python</a></span> </div></li> <li class="views-row views-row-11 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/rforall">R for All</a></span> </div></li> <li class="views-row views-row-12 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/science-math">Science &amp; Math</a></span> </div></li> <li class="views-row views-row-13 views-row-odd"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/scratch">Scratch</a></span> </div></li> <li class="views-row views-row-14 views-row-even"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/system-administration">System Administration</a></span> </div></li> <li class="views-row views-row-15 views-row-odd views-row-last"> <div class="views-field views-field-name"> <span class="field-content"><a href="/catalog/early-access">Early Access</a></span> </div></li> </ul></div> </div> <div class="view-footer"> <style> <!--/*--><![CDATA[/* ><!--*/ .view-topics .item-list a {font-weight: bold;} .view-topics ul {padding-left: 20px;} /*--><!]]>*/ </style> </div> </div> </div> </section><section id="block-block-12" class="block block-block clearfix"> <div class="rounded_border_block"><span style="font-family:Arial,Helvetica,sans-serif"><strong><span style="font-size:12px"><span style="color:#c0392b"><a href="https://nostarch.com/about_ebooks.htm">FREE ebook edition with every print book purchased from nostarch.com!</a></span></span></strong></span></div> <p class="rtecenter"><span style="font-size:22px">+</span></p> <div class="rounded_border_block"><span style="font-family:Arial,Helvetica,sans-serif"><strong><span style="font-size:12px"><a href="https://nostarch.com/early-access-program"><span style="color:#c0392b">EARLY ACCESS lets you read full chapters months before a title's release date!</span></a></span></strong></span></div> </section> <section id="block-nostarch-custom-login-block" class="block block-nostarch-customclearfix"> <h2 class="block-title">User login</h2> <ul> <li><a href="/user">Log in</a></a></li> <li><a href="/user/register">Create account</a></a></li> </ul> </section> <section id="block-block-78" class="block block-block clearfix"> <script data-account="eeqOpWOUyZ" src="https://cdn.userway.org/widget.js"></script> </section> </div> </aside> <!-- /#sidebar-first --> <section class="col-sm-6" style=""> <a id="main-content"></a> <div class="region region-content"> <section id="block-system-main" class="block block-system clearfix"> <div class="ds-1col node node-product view-mode-full clearfix"> <div class=""> <div class="field field-name-field-image-cache field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="product-image"><div class="main-product-image"><a href="https://nostarch.com/sites/default/files/styles/uc_product_full/public/Codebreaking_cover.png?itok=e2t5ne6H" title="Codebreaking cover" class="colorbox" rel="uc_image_0"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/uc_product/public/Codebreaking_cover.png?itok=psZtK6XG" alt="Codebreaking cover" title="Codebreaking cover" /></a></div></div></div></div></div><div class="field field-name-entity-title field-type-ds field-label-hidden"><div class="field-items"><div class="field-item even"><h1 class="page-header">Codebreaking</h1></div></div></div><div class="field field-name-field-subtitle field-type-text field-label-hidden"><div class="field-items"><div class="field-item even">A Practical Guide</div></div></div><div class="field field-name-field-author field-type-text field-label-hidden"><div class="field-items"><div class="field-item even">by Elonka Dunin and Klaus Schmeh</div></div></div><div class="field field-name-released-date field-type-ds field-label-hidden"><div class="field-items"><div class="field-item even">August 2023, 488 pp.</div></div></div><div class="field field-name-field-isbn13 field-type-text field-label-inline clearfix clearfix"><div class="field-label">ISBN-13:&nbsp;</div><div class="field-items"><div class="field-item even">9781718502727</div></div></div><div class="add-to-cart"><form action="/codebreaking" method="post" id="uc-product-add-to-cart-form-687" accept-charset="UTF-8"><div><div id="uc_product_add_to_cart_form-687-attributes" class="attributes"><div class="attribute attribute-1 odd"><div class="form-item form-item-attributes-1 form-type-radios form-group"><div id="edit-attributes-1" class="form-radios"><div class="form-item form-item-attributes-1 form-type-radio radio"> <label class="control-label" for="edit-attributes-1-3"><input type="radio" id="edit-attributes-1-3" name="attributes[1]" value="3" checked="checked" class="form-radio" />Print Book and FREE Ebook, $29.99</label> </div><div class="form-item form-item-attributes-1 form-type-radio radio"> <label class="control-label" for="edit-attributes-1-2"><input type="radio" id="edit-attributes-1-2" name="attributes[1]" value="2" class="form-radio" />Ebook (PDF, Mobi, and ePub), $23.99</label> </div></div></div></div></div><input type="hidden" name="qty" value="1" /> <input type="hidden" name="form_build_id" value="form-WdtsXYoaLbdG691RoKAK4PAtzB18VpgO5KIerULSSrI" /> <input type="hidden" name="form_id" value="uc_product_add_to_cart_form_687" /> <div class="form-actions form-wrapper form-group" id="edit-actions"><button class="node-add-to-cart btn btn-success form-submit icon-before" type="submit" id="edit-submit-687" name="op" value="Add to cart"><span class="icon glyphicon glyphicon-plus" aria-hidden="true"></span> Add to cart</button> </div></div></form></div><div class="field field-name-product-menu field-type-ds field-label-hidden"><div class="field-items"><div class="field-item even"><div class="menu-wrapper"><ul class="menu nav"><li><a href="#content">Contents</a></li><li><a href="#reviews">Reviews</a></li></ul></div></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p><strong>Look Inside!</strong></p> <div class="lookinside"><a class="colorbox" href="/images/Codebreaking_p78-79.jpg"><img alt="Codebreaking pages 78-79" src="/images/Codebreaking_p78-79.jpg" style="border:1px solid; height:102px; margin:5px" title="Codebreaking pages 78-79" /></a><a class="colorbox" href="/images/Codebreaking_p126-127.jpg"><img alt="Codebreaking pages 126-127" src="/images/Codebreaking_p126-127.jpg" style="border:1px solid; height:102px; margin:5px" title="Codebreaking pages 126-127" /></a><a class="colorbox" href="/images/Codebreaking_p224-225.jpg"><img alt="Codebreaking pages 224-225" src="/images/Codebreaking_p224-225.jpg" style="border:1px solid; height:102px; margin:5px" title="Codebreaking pages 224-225" /></a></div> <p><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">Solve history’s most hidden secrets alongside expert codebreakers Elonka Dunin and Klaus Schmeh, as they guide you through the world of encrypted texts. With a focus on cracking real-world document encryptions—including some crime-based coded mysteries that remain unsolved—you’ll be introduced to the free computer software that professional cryptographers use, helping you build your skills with state-of-the art tools. You’ll also be inspired by thrilling success stories, like how the first three parts of Kryptos were broken. </span></span></span></p> <p><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">Each chapter introduces you to a specific cryptanalysis technique, and presents factual examples of text encrypted using that scheme—from modern postcards to 19-century newspaper ads, war-time telegrams, notes smuggled into prisons, and even entire books written in code. Along the way, you’ll work on NSA-developed challenges, detect and break a Caesar cipher, crack an encrypted journal from the movie </span></span></span><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><em>The Prestige</em></span></span></span><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">, and much more.</span></span></span></p> <p><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">You’ll learn: </span></span></span></p> <ul> <li style="list-style-type:disc"><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">How to crack simple substitution, polyalphabetic, and transposition ciphers </span></span></span></li> <li style="list-style-type:disc"><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">How to use free online cryptanalysis software, like CrypTool 2, to aid your analysis</span></span></span></li> <li style="list-style-type:disc"><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">How to identify clues and patterns to figure out what encryption scheme is being used</span></span></span></li> <li style="list-style-type:disc"><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">How to encrypt your own emails and secret messages</span></span></span></li> </ul> <p><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><em>Codebreaking</em></span></span></span><span style="font-size:10pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"> is the most up-to-date resource on cryptanalysis published since World War II—essential for modern forensic codebreakers, and designed to help amateurs unlock some of history’s greatest mysteries.</span></span></span></p> </div></div></div><div class="field field-name-field-author-bio field-type-text-long field-label-abovec"><div class="field-label">Author Bio&nbsp;</div><div class="field-items"><div class="field-item even"><p><strong>Elonka Dunin </strong>is an experienced crypto expert and maintains a list of the world's most famous unsolved codes on her elonka.com website. Bestselling author Dan Brown even named one of the characters in his <em>Da Vinci Code</em> sequel, <em>The Lost Symbol</em>, after her: “Nola Kaye” is a scrambled form of “Elonka." She is co-founder and co-leader of a group of cryptographers who are working hard to crack the final cipher on the famous Kryptos sculpture at CIA Headquarters, and in 2021 she was invited to give the TEDx talk "2,000 Years of Ordinary Secrets."</p> <p><strong>Klaus Schmeh</strong> is the most-published cryptology author in the world. He has written 15 books (in German) about the subject, as well as over 200 articles, 25 scientific papers, and 1,500 blog posts. He is a member of the editorial board of the scientific magazine, <em>Cryptologia</em>. Schmeh's main fields of interest are codebreaking and the history of encryption. His blog Cipherbrain is read by crypto enthusiasts all over the world. Schmeh is a popular speaker, known for his entertaining presentation style involving self-drawn cartoons and LEGO® models.</p> </div></div></div><div class="field field-name-field-toc field-type-text-long field-label-abovec" id="content"><div class="field-label">Table of contents&nbsp;</div><div class="field-items"><div class="field-item even"><p><strong>Preface</strong><br /> <strong>Chapter 1: </strong>How can I break an encrypted message? And other introductory questions<br /> <strong>Chapter 2:</strong> The Caesar cipher<br /> <strong>Chapter 3:</strong> Simple substitution ciphers<br /> <strong>Chapter 4:</strong> Simple substitution ciphers without spaces between words: Patristocrats<br /> <strong>Chapter 5:</strong> Simple substitution ciphers in non-English languages<br /> <strong>Chapter 6:</strong> Homophonic ciphers<br /> <strong>Chapter 7:</strong> Codes and nomenclators<br /> <strong>Chapter 8:</strong> Polyalphabetic ciphers<br /> <strong>Chapter 9:</strong> Complete columnar transposition ciphers<br /> <strong>Chapter 10:</strong> Incomplete columnar transposition ciphers<br /> <strong>Chapter 11:</strong> Turning grille transposition ciphers<br /> <strong>Chapter 12:</strong> Digraph substitution<br /> <strong>Chapter 13:</strong> Abbreviation ciphers<br /> <strong>Chapter 14:</strong> Dictionary codes and book ciphers<br /> <strong>Chapter 15:</strong> Additional encryption methods<br /> <strong>Chapter 16:</strong> Solving ciphers with hill climbing<br /> <strong>Chapter 17:</strong> What next?<br /> <strong>Appendix A: Kryptos<br /> Appendix B: Useful language statistics<br /> Appendix C: Glossary<br /> Appendix D: Morse Code<br /> Appendix E: Figure Sources<br /> References</strong></p> <p><a href="download/Codebreaking_copyright.pdf" style="text-decoration:underline;" target="_blank"><strong>View the Copyright page</strong></a><br /> <a href="/download/Codebreaking_TOC.pdf" style="text-decoration:underline;" target="_blank"><strong>View the detailed Table of Contents</strong></a><br /> <a href="/download/Codebreaking_index.pdf" style="text-decoration:underline;" target="_blank"><strong>View the Index</strong></a></p> </div></div></div><div class="field field-name-field-reviews field-type-text-long field-label-abovec" id="reviews"><div class="field-label">Reviews&nbsp;</div><div class="field-items"><div class="field-item even"><p>“<em>Codebreaking: A Practical Guide</em> is quite the best book on codebreaking I have read: clear, engaging, and fun. A must for would-be recruits to GCHQ and the NSA!”<br /> <strong>—Sir Dermot Turing, author of <em>Prof</em>, the biography of his uncle, Alan Turing</strong></p> <p>“Riveting. Dunin and Schmeh show us that we each have our own inner code-breaker yearning to be set free. <em>Codebreaking</em> isn’t just for super-geniuses with supercomputers; it’s something we were all born to do.”<br /> <strong>—Mike Godwin, creator of Godwin’s law and former general counsel for the Wikimedia Foundation</strong></p> <p>“This is THE book about codebreaking. Very concise, very inclusive, and easy to read. Good references for those who would make codes, too, like Kryptos.”<br /> <strong>—Ed Scheidt, CIA</strong></p> <p>“A compendium of historical cryptography. Approachable, accessible, this book brings back the joy I felt when I first read about these things as a kid.”<br /> <strong>—Phil Zimmermann, creator of PGP encryption and inductee into the Internet Hall of Fame</strong></p> <p>“One of the most helpful guides outside the NSA to cracking ciphers. But even if you don’t become a codebreaker, this book is full of fascinating crypto lore.”<br /> <strong>—Steven Levy, <em>New York Times</em> best-selling author of <em>Crypto, Hackers, and Facebook: The Inside Story</em></strong></p> <p>“Another kind of <em>Applied Cryptography</em>.”<br /> <strong>—Whitfield Diffie, Turing Laureate and creator of public-key cryptography</strong></p> <p>“This is the book of my dreams. Super-clear, super-fun guide for solving secret messages of all kinds.”<br /> <strong>—Jason Fagone, author of the best-selling book <em>The Woman Who Smashed Codes</em></strong></p> <p>“Kool dnoces a htrow era snootrac eht fo ynam.”<br /> <strong>—Suomynona Ecila</strong></p> <p>“A wonderful mix of ciphers, both famous and little-known, solved and unsolved. Beginners will be hooked on exploring the world of secrets in cipher, and those who have already been introduced to the field will find much that is new.”<br /> <strong>—Craig Bauer, editor in chief of <em>Cryptologia</em> and author of <em>Unsolved!: The History and Mystery of the World’s Greatest Ciphers</em></strong></p> <p>“Cryptography? Ciphers? I thought this would be an easy book to put down. I was very wrong.”<br /> <strong>—Steve Meretzky, co-author with Douglas Adams of <em>The Hitchhiker’s Guide to the Galaxy</em> computer game</strong></p> <p>"Fun, fascinating, and user friendly . . .  Expertly written, organized and presented, [<em>Codebreaking</em>] is unreservedly recommended as a supplemental Code Breaking curriculum textbook."<br /> <strong>—Midwest Book Review</strong></p> </div></div></div> </div> </div> </section> <section id="block-shariff-shariff-block" class="block block-shariff clearfix"> <div class="shariff" data-services="[&quot;facebook&quot;,&quot;print&quot;,&quot;twitter&quot;]" data-theme="colored" data-orientation="horizontal" data-twitter-via="nostarch" data-lang="en"></div> </section> </div> </section> <aside class="col-sm-3" role="complementary"> <div class="region region-sidebar-second"> <section id="block-system-navigation" class="block block-system block-menu clearfix"> <h2 class="block-title">Navigation</h2> <ul class="menu nav"><li class="first last leaf"><a href="/user" title="">My account</a></li> </ul> </section> <section id="block-block-52" class="block block-block clearfix"> <p><a href="/mailchimp/subscribe">Want sweet deals? <br />Sign up for our newsletter.</a></p> </section> <section id="block-views-related-products-block" class="block block-views clearfix"> <h2 class="block-title">You might also like...</h2> <div class="view view-related-products view-id-related_products view-display-id-block auto-clear view-dom-id-58f638f5ac43501d100fc58fc238a68b"> <div class="view-content"> <div class="views-row views-row-1 views-row-odd views-row-first col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/GhidraBook"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/Ghidra_fcvr.png?itok=ITMPymiM" width="90" height="119" alt="The Ghidra Book" title="The Ghidra Book Cover" /></a></div> </div> </div> <div class="views-row views-row-2 views-row-even col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/malware"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/practical_malware_analysis.png?itok=Ou8rBrw0" width="90" height="119" alt="Practical Malware Analysis" title="Practical Malware Analysis" /></a></div> </div> </div> <div class="views-row views-row-3 views-row-odd col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/linuxbasicsforhackers"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/LinuxBasicsforHackers_cover-front.png?itok=loG0GtJf" width="90" height="119" alt="Linux Basics for Hackers" title="Linux Basics for Hackers" /></a></div> </div> </div> <div class="views-row views-row-4 views-row-even col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/engineering-secure-devices"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/EngineeringSecureDevices_frontcover.png?itok=SBec1bWQ" width="90" height="119" alt="Engineering Secure Devices cover" title="Engineering Secure Devices cover" /></a></div> </div> </div> <div class="views-row views-row-5 views-row-odd col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/physiology"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/physio_cover_web.png?itok=mruydf70" width="90" height="119" alt="The Manga Guide to Physiology" title="The Manga Guide to Physiology" /></a></div> </div> </div> <div class="views-row views-row-6 views-row-even views-row-last col-xs-6 col-sm-6 col-md-12"> <div class="views-field views-field-field-image-cache"> <div class="field-content"><a href="/doingmathwithpython"><img class="img-responsive" src="https://nostarch.com/sites/default/files/styles/product/public/pymath_cover-front_new.png?itok=zoJc66H5" width="90" height="119" alt="Doing Math with Python" title="Doing Math with Python" /></a></div> </div> </div> </div> </div> </section> </div> </aside> <!-- /#sidebar-second --> </div> </div> <footer class="footer container"> <div class="region region-footer"> <section id="block-block-16" class="block block-block clearfix"> <div id="footer-links"> <br> <a class="footer-links" href="/about.htm">About Us</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/Jobs.htm">Jobs!</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/distribution.htm">Sales and Distribution</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/rights">Rights</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/media.htm">Media</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/academic.htm">Academic Requests</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/conferences.htm">Conferences</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/orderfaq.htm">FAQ</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/contactus">Contact Us</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/writeforus">Write for Us</a> &nbsp;<span class="footer-divider">|</span>&nbsp; <a class="footer-links" href="/privacypolicy.htm">Privacy</a> </div> </section> <section id="block-nostarch-custom-custom-footer-copyright" class="block block-nostarch-custom clearfix"> <div class="block-block"> <p>Copyright 2025. No Starch Press, Inc</p> </div> </section> </div> </footer> <script src="https://nostarch.com/sites/all/modules/contrib/addthis/addthis.js?steosx"></script> <script src="https://nostarch.com/sites/all/libraries/shariff/shariff.min.js?steosx"></script> <script src="https://nostarch.com/sites/all/themes/contrib/bootstrap/js/bootstrap.js?steosx"></script> <!-- Reddit Pixel --> <script> !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','t2_6acpsf9y');rdt('track', 'PageVisit'); </script> <!-- DO NOT MODIFY UNLESS TO REPLACE A USER IDENTIFIER --> <!-- End Reddit Pixel --> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'923fc39c1fda899e',t:'MTc0MjU4NDM4MS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10