CINXE.COM

ISO - What is cryptography?

<!DOCTYPE html> <html lang="en"> <head><link rel="canonical" href="https://www.iso.org/information-security/what-is-cryptography" /><link rel="alternate" hreflang="en" href="https://www.iso.org/information-security/what-is-cryptography" /> <link rel="alternate" hreflang="ru" href="https://www.iso.org/ru/information-security/what-is-cryptography" /> <link rel="alternate" hreflang="fr" href="https://www.iso.org/fr/securite-de-l-information/cryptographie" /> <link rel="alternate" hreflang="es" href="https://www.iso.org/es/seguridad-informacion/criptografia" /> <script> dataLayer = [{ 'pageType': 'fwk:news', 'pageLanguage': 'en', 'pageMode': 'live', 'pageServer': 'prod' }]; </script> <style> /* Early rules to mitigate CLS */ .nav-utility { padding: 5px; z-index: 1024; position: relative; } .text-sm { font-size: .875em; } .nav-utility li.nav-item a.nav-link { padding: 0; text-decoration: none; } .dropdown-toggle::after { font-size: .75em; vertical-align: baseline; } .logo.isologo.logo-sm { height: 50px; width: 50px; } .nav-iso .navbar-toggler { margin-left: 0.5rem; order: 4; } .navbar-toggler-icon-animated { width: 20px; height: 15px; position: relative; margin: 0; transform: rotate(0); display: inline-block; } .nav-iso .navbar-form { order: 2; flex: 1; } .navbar-form { margin-left: 0.5rem; } .height-300 { height: 300px; } section.section-md { padding-top: 3.75rem; padding-bottom: 3.75rem; } .nav-relatives .nav-children, .nav-relatives .section-head { font-size: calc(1.255rem + .06vw); } .previous a::before, .section-back a::before { vertical-align: bottom; padding-right: .3em; transition: all 0; } @media screen and (max-width:500px) { .section-back { flex-wrap: nowrap; overflow-x: hidden; } .section-back > a:not(:first-of-type):not(:last-of-type) { display: none; } .heading-condensed > h1 { font-size: 31.6588px; line-height: 39.5735px; } .heading-condensed > h2 { font-size: 26.1713px; line-height: 32.7141px; } } @media (max-width: 1199.98px) { section.section-navigation { padding-top: 1.875rem; } } </style> <!-- OneTrust Cookies Consent Notice start for iso.org --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="0217ba9a-8935-44d6-872d-1f223304e117" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for iso.org --> <meta name="google-site-verification" content="mQuqWPbWruZdQgZR8QwbxOWnjjxkcFiyJLHWY-cOOHk" /> <!-- Matomo Tag Manager --> <script type="text/plain" class="optanon-category-C0001"> var _mtm = window._mtm = window._mtm || []; _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'}); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src='https://cdn.matomo.cloud/iso.matomo.cloud/container_dINwYKex.js'; s.parentNode.insertBefore(g,s); </script> <!-- End Matomo Tag Manager --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>ISO - What is cryptography?</title> <link rel="preload" as="font" type="font/woff2" href="/modules/isoorg-template/fonts/inter/Inter.var.woff2?v=3.19" crossorigin/> <link rel="stylesheet" href="/modules/isoorg-template/css/wood.bootstrap.min.css?202411240423" media="screen,print,handheld" type="text/css"/> <link rel="preload" href="/modules/isoorg-template/css/wood.iso.min.css?202411240423" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="/modules/isoorg-template/css/wood.iso.min.css?202411240423"></noscript> <!-- start favicons --> <link rel="apple-touch-icon-precomposed" href="/modules/isoorg-template/img/iso/favicon/red/apple-touch-icon-152x152-precomposed.png"> <link rel="shortcut icon" href="/modules/isoorg-template/img/iso/favicon/red/favicon.ico"> <meta name="msapplication-TileColor" content="#eee"> <meta name="msapplication-TileImage" content="/modules/isoorg-template/img/iso/favicon/red/mstile-144x144.png"> <!-- end favicons --> <meta name="theme-color" content="#333"> <script type="module"> let basketWidgetLoaderScript = document.createElement('script'); basketWidgetLoaderScript.src = '/webstore/basket-widget/assets/js/basket-widget-loader.js'; document.head.appendChild(basketWidgetLoaderScript); basketWidgetLoaderScript.onload = () => { const cartElem = document.getElementById('shoppingCart'); if (cartElem) { cartElem.onclick = function(event) { return loadWebComponentsLoaderAndWidget(this, event); }; } } </script> <script type="application/json" id="jahia-data-ctx">{"contextPath":"","lang":"en","uilang":"en","siteUuid":"439146f8-677e-4dde-b6c6-b692b7534f52","wcag":false,"ckeCfg":""}</script> <script type="application/json" id="jahia-data-ck">{"path":"/modules/ckeditor/javascript/","lng":"en_US"}</script> <script src="/javascript/initJahiaContext.js"></script> <link id="staticAssetCSS0" rel="stylesheet" href="/modules/jahia-algolia/css/simpleSearch.css?1719494378710" media="screen" type="text/css"/> <script id="staticAssetJavascript0" src="/modules/isoorg-template/javascript/wood.full.min.js?1729842151563" defer></script> <script id="staticAssetJavascript1" src="/modules/isoorg-template/javascript/custom.js?1729842151563" defer></script> <script id="staticAssetJavascript2" src="/modules/jquery/javascript/jquery-1.12.4.min.js?1622554272438" ></script> <script id="staticAssetJavascript3" src="/modules/assets/javascript/jquery.jahia.min.js?1588604535758" ></script> <script id="staticAssetJavascript4" src="/modules/jahia-algolia/javascript/searchCommon.js?1719494378710" defer></script> <script id="staticAssetJavascript5" src="/modules/jahia-algolia/javascript/simpleSearch.js?1719494378710" defer></script> <script id="staticAssetJavascript6" src="/modules/jahia-algolia/javascript/autocomplete.js?1719494378710" defer></script> <style> nav[role="navigation"]:has(.ticker--live) { background-color: var(--bs-brand)!important; } nav[role="navigation"]:has(.ticker--live) > .container { gap: 1rem; } nav[role="navigation"]:has(.ticker--live) #utilities > li:not(#lang-switcher) { display: none!important; } .card-footer:has(.ticker--live) { background-color: var(--bs-dark)!important; color: white; } .card-footer:has(.ticker--live) a { color: white; } .ticker:has(.ticker--live) { white-space: normal; } .ticker--live .ticker__icon { animation: live 1s infinite; } @keyframes live { 0% { color: transparent; } 50% { color: white; } 100% { color: transparent; } } .its-standard [data-status] {display: none; }</style> <!-- Hotjar Tracking Code for www.iso.org --> <script>(function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2510805,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r);})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');</script> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.22.1/dist/algoliasearch-lite.umd.js" integrity="sha256-pxkGFjfnFWYGOtV9uhCWK/spKiGS0Z7gVDKYm39LyfM=" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/instantsearch.js@4.66.0/dist/instantsearch.production.min.js" integrity="sha256-lKV2os1BMDtHxNVG6JQWSPYDUouULGz/nEI1z2VMKEM=" crossorigin="anonymous"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.css@8.1.0/themes/reset-min.css" integrity="sha256-2AeJLzExpZvqLUxMfcs+4DWcMwNfpnjUeAAvEtPr0wU=" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-plugin-recent-searches"></script> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-plugin-query-suggestions"></script> <script> const { autocomplete } = window['@algolia/autocomplete-js']; const { createLocalStorageRecentSearchesPlugin } = window['@algolia/autocomplete-plugin-recent-searches']; const { createQuerySuggestionsPlugin } = window['@algolia/autocomplete-plugin-query-suggestions']; </script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-theme-classic" /> <script type="text/javascript"> const algolia = { settings: { appID: 'JCL49WV5AR', apiKey: 'MzcxYjJlODU3ZmEwYmRhZTc0NTZlODNlZmUwYzVjNDRiZDEzMzRjMjYwNTAwODU3YmIzNjEwZmNjNDFlOTBjYXJlc3RyaWN0SW5kaWNlcz1QUk9EX2lzb29yZ19lbiUyQ1BST0RfaXNvb3JnX2VuX2F1dG9jb21wbGV0ZQ==', index : { name: 'PROD_isoorg_en' }, autocompleteDebounceTime : 500 }, instantSearch: undefined, autocomplete: [], pageDisplaysInstantSearch: false } //autocomplete initialize jQuery(document).ready(function() { algolia.autocomplete .filter((settings) => settings.containerID !== undefined && settings.containerID.length > 0) .forEach((settings) => settings.setQuery = startAutocomplete(settings).setQueryCB) }) </script> <script type="text/javascript"> { const currentAutocomplete = { containerID: '#autocomplete_6ef5776a-742e-4a17-85c1-b61490f0b78b', placeholder: 'Search', initialStateQuery: undefined, displaysInstantSearch: false, searchPageUrl: '/search.html', search: undefined, setQuery: undefined, autocompleteDisabled: true, autocompleteKeystrokes: 3 } algolia.autocomplete.push(currentAutocomplete) if (false) { if (algolia.pageDisplaysInstantSearch) { console.error("Impossible to display more than one InstantSearch on the same page") } else { algolia.pageDisplaysInstantSearch = true } } } </script> <script src="/modules/fwk-module/javascript/countable.min.js" defer></script> <script type="module"> $(document).ready(function () { // Counts the number of words in the #content and renders the minutes to read it in .reading-time // More info on https://sacha.me/Countable const area = document.getElementById('articleContainer'); Countable.count(area, function (counter) { var wpm = 200; var estimatedRaw = counter.words / wpm; var minutes = Math.round(estimatedRaw); if(minutes < 2) {minutes=2;} /* to avoid '1 minutes' */ $('.reading-time').html(minutes); }); }); </script> <!-- Twitter Card data --> <meta name="twitter:site" content="@isostandards" /> <!-- Open Graph data --> <meta property="og:site_name" content="ISO" /> <meta property="og:url" content="https://www.iso.org/information-security/what-is-cryptography" /> <meta property="og:type" content="article" /> <!-- Thumbnail image (for twitter and Open Graph) --> <meta name="thumbnail" content="https://www.iso.org/files/live/sites/isoorg/files/news/insights/information-security/Informationsecurity.svg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://www.iso.org/files/live/sites/isoorg/files/news/insights/information-security/Informationsecurity.svg" /> <meta property="og:image" content="https://www.iso.org/files/live/sites/isoorg/files/news/insights/information-security/Informationsecurity.svg" /> <meta property="og:image:alt" content="" /> <!-- Title (for twitter and Open Graph) --> <meta name="twitter:title" content="What is cryptography?" /> <meta property="og:title" content="What is cryptography?" /> <!-- Description (for google, twitter and Open Graph) --> <meta name="twitter:description" content="Cryptography is an important computer security tool that deals with techniques to store and transmit information in ways that prevent unauthorized access or interference. " /> <meta property="og:description" content="Cryptography is an important computer security tool that deals with techniques to store and transmit information in ways that prevent unauthorized access or interference. " /> <meta name="description" content="Cryptography is an important computer security tool that deals with techniques to store and transmit information in ways that prevent unauthorized access or interference. " /> <!-- Facebook admins --> <meta property="fb:admins" content="100001440003305" /> <!-- Date of publication (for Google [format:YYYYMMDD]) --> <meta name="pubdate" content="20230505" /> <script src="https://www.google.com/recaptcha/api.js?render=6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA" defer></script> <script type="text/javascript" src="/modules/CsrfServlet"></script> </head> <!-- Topbar utility --> <body class="theme-red lang-en fwk-news is-prod is-live" id="page-34b3e3c2-8a5f-4efc-9f1a-ce1caa5ea60f"> <a id="page-top" class="skip-navigation btn btn-info visually-hidden visually-hidden-focusable" href="#content">Skip to main content</a> <nav role="navigation" aria-label="Utility Navigation" class="nav-utility navbar-expand-lg text-sm navbar-dark bg-darkergray text-light"> <div class="container d-flex justify-content-between"> <div class="ticker text-truncate float-start"></div> <ul class="nav d-flex justify-content-end justify-content-sm-around justify-content-md-end" id="utilities"> <li class="nav-item d-none d-sm-block"> <a href="https://login.iso.org" class="nav-link d-flex align-items-center" title="ISO's applications portal"><i class="bi-grid-3x3-gap-fill"></i>&nbsp;Applications</a> </li> <li class="nav-item d-none d-sm-block"> <a href="https://www.iso.org/obp/ui/en/" class="nav-link d-flex align-items-center" title="Online Browsing Platform"><i class="bi-journal-text"></i>&nbsp;OBP</a> </li> <li class="nav-item dropdown" id="lang-switcher"> <a id="lang-dropdown" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" aria-expanded="false">English</a> <ul class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="lang-dropdown"> <li class="lang-es "><a class="dropdown-item " href="/es/seguridad-informacion/criptografia">español</a></li><li class="lang-fr "><a class="dropdown-item " href="/fr/securite-de-l-information/cryptographie">français</a></li><li class="lang-ru "><a class="dropdown-item " href="/ru/information-security/what-is-cryptography">русский</a></li></ul> </li></ul> </div> </nav> <!-- Header ISO.ORG --> <header class="header-bootstrap sticky-top"> <!-- Main navigation --> <nav class="navbar nav-iso navbar-expand-lg navbar-light shadow-md bg-white text-dark"> <div class="container"> <a class="logo logo-square isologo logo-sm" href="/home.html" title="International Organization for Standardization" alt="ISO logo"></a> <div class="isologo-print"><img loading="lazy" fetchpriority="low" src="/modules/isoorg-template/img/iso/iso-logo-print.gif" alt="ISO logo for print" width="50" height="50"/></div> <button class="btn btn-light navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mainNav" aria-controls="mainNav" aria-expanded="false" aria-label="Toggle navigation"> <div class="navbar-toggler-icon-animated"><span></span><span></span><span></span><span></span></div><span class="visually-hidden-xs">&nbsp;Menu</span> </button> <!-- TOP LEVEL1 NAVIGATION --> <nav role="navigation" aria-label="Main Navigation" class="nav-megamenu collapse navbar-collapse flex-lg-grow-0 flex-xxl-grow-1" id="mainNav"><ul role='menubar' class='navbar-nav me-auto mb-lg-0 ps-2 pe-2 nav-level1' ><li role='menuitem' class='nav-item dropdown position-static noChildren firstInLevel' ><a class='nav-link dropdown-toggle megamenu-toggle ' title="Covering almost every product, process or service imaginable, ISO makes standards used everywhere." href='/standards.html'>Standards</a></li><!-- close of list item level 1 --><li role='menuitem' class='nav-item dropdown position-static hasChildren' ><a class='nav-link dropdown-toggle megamenu-toggle ' data-bs-toggle="dropdown" aria-expanded="true" href=''>Sectors</a><div role='menubar' class='dropdown-menu megamenu w-100 mt-0 border-0 rounded-0 megamenu-shadow-md nav-level2' aria-labelledby="navbarDropdown" data-bs-popper="none"><div class="container"><div class="row mb-xs-4 my-md-4 megamenu-animate slideUp"><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren firstInLevel' ><a class='nav-link section-head ps-0 ' title="(including medicine and laboratory equipment)" href='/sectors/health'>Health</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' title="(including communication technology, graphics and photography)" href='/sectors/it-technologies'>IT & related technologies</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' title="(including vehicles, parts and infrastructure, freight, packaging and distribution)" href='/sectors/transport'>Transport</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' href='/sectors/environment'>Environmental sustainability</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' title="(Business management, financial and professional services)" href='/sectors/management-services'>Management & services</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' href='/sectors/security-safety-risk'>Security, safety & risk</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 ' title="(including power generation and transport, fuels)" href='/sectors/energy'>Energy</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 disabled' href=''>Food and agriculture</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 disabled' href=''>Building and construction</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 disabled' href=''>Engineering</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren' ><a class='nav-link section-head ps-0 disabled' href=''>Materials</a></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 noChildren lastInLevel' ><a class='nav-link section-head ps-0 disabled' href=''>Diversity and inclusion</a></div><!-- close of list item level 2 --></div></div></div><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class='nav-item dropdown position-static noChildren' ><a class='nav-link dropdown-toggle megamenu-toggle ' title="ISO brings together global experts to develop International Standards that help solve problems and drive innovation." href='/about'>About ISO</a></li><!-- close of list item level 1 --><li role='menuitem' class='nav-item dropdown position-static hasChildren inPath ' ><a class='nav-link dropdown-toggle megamenu-toggle ' data-bs-toggle="dropdown" aria-expanded="true" href=''>Insights & news</a><div role='menubar' class='dropdown-menu megamenu w-100 mt-0 border-0 rounded-0 megamenu-shadow-md nav-level2' aria-labelledby="navbarDropdown" data-bs-popper="none"><div class="container"><div class="row mb-xs-4 my-md-4 megamenu-animate slideUp"><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 hasChildren inPath firstInLevel' ><a class='nav-link section-head ps-0 disabled' href=''>Insights</a><div role='menubar' class='list-group list-group-flush mt-0 nav-level3' ><div role='menuitem' class='nav-item position-static ms-0 noChildren inPath active firstInLevel' ><a class='nav-link ps-0 ' href='/insights'>All insights</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren' ><a class='nav-link ps-0 ' href='/insights/filtered-list-healthcare'>Healthcare</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren' ><a class='nav-link ps-0 ' href='/insights/filtered-list-artificial-intelligence'>Artificial intelligence</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren lastInLevel' ><a class='nav-link ps-0 ' href='/insights/filtered-list-climate-change'>Climate change</a></div><!-- close of list item level 3 (and more) --></div><!-- close of container level 3 (and more) --></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 hasChildren' ><a class='nav-link section-head ps-0 disabled' href=''> </a><div role='menubar' class='list-group list-group-flush mt-0 nav-level3' ><div role='menuitem' class='nav-item position-static ms-0 noChildren firstInLevel' ><a class='nav-link ps-0 ' href='/insights/filtered-list-information-security'>Cybersecurity</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren' ><a class='nav-link ps-0 ' href='/insights/filtered-list-quality-management'>Quality management</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren lastInLevel' ><a class='nav-link ps-0 ' href='/home/insights-news/navigation-menu-hidden/renewable-energy.html'>Renewable energy</a></div><!-- close of list item level 3 (and more) --></div><!-- close of container level 3 (and more) --></div><!-- close of list item level 2 --><div role='menuitem' class='col-xs-6 col-lg-3 mt-0 hasChildren lastInLevel' ><a class='nav-link section-head ps-0 disabled' href=''>News</a><div role='menubar' class='list-group list-group-flush mt-0 nav-level3' ><div role='menuitem' class='nav-item position-static ms-0 noChildren firstInLevel' ><a class='nav-link ps-0 ' href='/home/insights-news/news/expert-talk.html'>Expert talk</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren' ><a class='nav-link ps-0 ' href='/insights/standards-world'>Standards world</a></div><!-- close of list item level 3 (and more) --><div role='menuitem' class='nav-item position-static ms-0 noChildren' ><a class='nav-link ps-0 ' href='/home/insights-news/news/dossier-medias.html'>Media kit</a></div><!-- close of list item level 3 (and more) --></div><!-- close of container level 3 (and more) --></div><!-- close of list item level 2 --></div></div></div><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class='nav-item dropdown position-static noChildren' ><a class='nav-link dropdown-toggle megamenu-toggle ' title="Find out how the ISO process bring together global experts to create standards that are chosen the world over." href='/developing-standards.html'>Taking part</a></li><!-- close of list item level 1 --><li role='menuitem' class='nav-item dropdown position-static noChildren lastInLevel' ><a class='nav-link dropdown-toggle megamenu-toggle ' title="Are you looking to buy International Standards, guidelines, collections and checklists? They're all right here, in the ISO Store." href='/store.html'>Store</a></li><!-- close of list item level 1 --></ul><!-- close of container level 1 --></nav> <form class="navbar-form flex-lg-grow-1" role="search" id="siteSearch"> <div id="autocomplete_6ef5776a-742e-4a17-85c1-b61490f0b78b"></div> </form><a role="button" id="shoppingCart" class="btn btn-light shopping-cart-link bg-white border-0 text-muted d-none d-lg-block" href="/webstore/checkout?memberId=ISO&guilang=en" title="Shopping cart" aria-label="Shopping cart" style-="display:none;"> <i class="bi-cart"></i><span id="cartText" class="visually-hidden-xs ms-1" style="display: none;"> Cart</span> </a> </div> </nav> </header> <!-- MAIN CONTENT --> <main role="main" id="content" class="acer" aria-label="Content" tabindex="-1"> <article class="hentry" itemscope itemtype="https://schema.org/Article" id="articleContainer"> <section> <div class="container"> <div class="row row-title row-top justify-content-center"> <div class="col-md-12 col-xl-8"> <h1 data-noindex="true">What is cryptography?</h1> <figure class="width-100pct fig-srcset inColCustom" data-noindex="true"> <div class="img-container"> <img fetchpriority="high" src="/files/live/sites/isoorg/files/news/insights/information-security/Informationsecurity.svg" class="img-fluid" alt="A symbolic representation of different topics related to cryptography" /> </div> </figure> </div> </div> <div class="row justify-content-center"> <div class="col-md-9 col-lg-7 col-xl-6"> <div class="entry-abstract" itemprop="abstract"><p>As a child, you may recall using symbols to write coded messages to your classmates that no one else could understand. More seriously, codes and ciphers are used for <strong>information security in computer systems and networks</strong> to protect sensitive and commercial information from unauthorized access when it is at rest or in transit. Uses include anything from keeping military secrets to transmitting financial data safely across the Internet.&nbsp;</p> <p>Cryptography is an important computer security tool that deals with techniques to <strong>store and transmit information in ways that prevent unauthorized access or interference</strong>.&nbsp;</p> </div> </div> </div> <div class="row row-middle justify-content-center"> <div class="col-md-9 col-lg-7 col-xl-6"> <h2 class="h3">Table of contents</h2> <div id="toc">Enable Javascript to view table</div> <script type="module" defer> if (document.querySelector("#toc") != null) { // Create a list and update its class var toc = document.createElement("ul"); toc.classList.add("toc-list"); // Loop on headings let idx = 0; document.querySelectorAll('h2:not([class])').forEach(heading => { let title = heading.textContent; idx = idx + 1; heading.id = "toc" + idx; let href = "#toc" + idx; let tocElement = document.createElement("li"); tocElement.classList.add("toc-item"); let tocElementAnchor = document.createElement("a"); tocElementAnchor.setAttribute('href', href); tocElementAnchor.setAttribute('title', title); tocElementAnchor.classList.add("page-scroll"); tocElementAnchor.textContent = title; // Append the element to .container tocElement.appendChild(tocElementAnchor); toc.appendChild(tocElement); }); document.getElementById("toc").textContent = ''; document.querySelector("#toc"). appendChild(toc); } </script> </div> </div> <div class="row justify-content-center"> <style> @media only screen and (min-width: 992px) { #newsBody figure.width-100pct.landscape, #newsBody .emphasis { margin-inline: -10%; width: 120%; max-width: calc(66ch + 20%); } } #newsBody .emphasis { margin-block: 3.75rem; } #newsBody .emphasis > * { text-align: center; margin-inline: auto; max-width: 55ch; } </style> <div class="col-md-9 col-lg-7 col-xl-6" id="newsBody"> <h2>How cryptography keeps communication secret and safe&nbsp;</h2> <p>The cryptographic process of scrambling text from a readable form to an unintelligible form &ndash; known as cipher text &ndash; is called encryption. Sending secret or private messages as cipher text is a typical use of cryptography. Once the cipher text is received, it is descrambled by the authorized recipient back to its readable form. The descrambling (or decryption) is performed with the use of an encryption key, which serves to prevent third parties from reading these messages.&nbsp;</p> <p>Encryption methods have been used by many civilizations throughout history to prevent non-authorized people from understanding messages. Julius Caesar is credited for one of the earliest forms of cipher &ndash; the &ldquo;Caesar Cipher&rdquo; &ndash; to convey messages to his generals. With increasing sophistication, cryptography now plays a vital role in ensuring the privacy, data confidentiality, data integrity and authentication in computer systems and networks. In today&rsquo;s world, where the majority of our personal and professional communications and transactions are conducted online, cryptography is more important than ever.&nbsp;</p><div class="emphasis emphasis-gray clearfix"> <div class="" id="subscribe"> <h4>Sign up for email updates</h4> <p>Register for additional resources and updates on IT and related technologies!</p><form method="POST" action="https://iso272.activehosted.com/proc.php" id="_form_15_" class="_form _form_15 _inline-form _dark" novalidate> <input type="hidden" name="u" value="15" /> <input type="hidden" name="f" value="15" /> <input type="hidden" name="s" /> <input type="hidden" name="c" value="0" /> <input type="hidden" name="m" value="0" /> <input type="hidden" name="act" value="sub" /> <input type="hidden" name="v" value="2" /> <input type="hidden" name="or" value="9417b9cd52ff6c742e176a370ed5442a" /> <style> ._error { width: 100%; padding: 0.5em 1.25em; text-align: left; } .grecaptcha-badge { visibility: hidden; } </style> <div class="_form-content"> <div class="input-group input-group-round mb-3"> <input type="text" id="email" class="form-control" name="email" placeholder="Email" aria-label="Email" aria-describedby="_form_15_submit" required/> <input type="hidden" id="recaptchaResponse" name="recaptcha_response"> <button id="_form_15_submit" class="_submit btn btn-primary" type="submit" class="g-recaptcha" data-sitekey="6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA" data-callback='onSubmit' data-action='submit'> Subscribe</button> </div> </div> <div class="_form-thank-you mb-3" style="display:none;"> <p><strong>Almost done!&nbsp;</strong><br /> You are only one step away from joining the ISO subscriber list. Please confirm your subscription by clicking on the email we&#39;ve just sent to you. You will not be registered until you confirm your subscription. If you can&#39;t find the email, kindly check your spam folder and/or the promotions tab (if you use Gmail).</p></div> </form> <script type="text/javascript"> if (document.getElementsByClassName("is-prod is-live")[0]) { console.debug = function () {} }; // redefine console.debug on PROD+LIVE window._check_reCaptcha_15 = function() { grecaptcha.ready(function() { grecaptcha.execute('6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA', {action: 'submit'}).then(function (token) { document.getElementById('recaptchaResponse').value = token; // console.debug('token = ' + token); let urlRestApi = "https://recaptchaenterprise.googleapis.com/v1/projects/iso-website-1722850679238/assessments?key=AIzaSyBzn_mnNayynzq0NemiOop0b9eLKaoiViE"; let jsonRequest = { event: { token: token, expectedAction: "submit", siteKey: "6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA" } } // Verify the token and get the score fetch(urlRestApi, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(jsonRequest) }).then(response => response.json()).then(data => { console.debug("data = " + JSON.stringify(data)); if (data.tokenProperties.valid && data.riskAnalysis.score >= 0.5) { // If the score is good, submit the form // console.debug("reCaptcha validation: " + data.tokenProperties.valid); console.debug("reCaptcha score: " + data.riskAnalysis.score); var _form_serialize_15 = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")}; let serialized_15 = _form_serialize_15(document.getElementById('_form_15_')).replace(/%0A/g, '\\n'); _load_script('https://iso272.activehosted.com/proc.php?' + serialized_15 + '&jsonp=true'); console.debug("serialized_ID = " + 15); } else { // Handle the case where the score is too low console.debug('reCAPTCHA verification failed. Please try again.'); console.debug('reCaptcha invalid reason: ' + data.tokenProperties.invalidReason); } }).catch(error => { console.debug('An error occurred. Please try again.'); console.error('Error: ', error); }); }); }); } window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display = 'none'; // thank_you.innerHTML = message; thank_you.style.display = 'block'; const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_error = function(id, message, html) { var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = '_error-inner _form_error _no_arrow'; var wrapper = document.createElement('div'); wrapper.className = '_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector('[id^="_form"][id$="_submit"]').disabled = false; if (html) { var div = document.createElement('div'); div.className = '_error-html'; div.innerHTML = html; err.appendChild(div); } }; window._load_script = function(url, callback) { var head = document.querySelector('head'), script = document.createElement('script'), r = false; script.type = 'text/javascript'; script.charset = 'utf-8'; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == 'complete')) { r = true; callback(); } }; } head.appendChild(script); }; (function() { if (window.location.search.search("excludeform") !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + '=' + value + '; expires=' + now + ';path=/; Secure; SameSite=Lax;';// cannot be HttpOnly } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element['on' + event]; element['on' + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById('_form_15_'); var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false; var getUrlParam = function(name) { var params = new URLSearchParams(window.location.search); return params.get(name) || false; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error text-sm text-muted text-start'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('<br/>')); } } else if (elem.tagName == 'SELECT') { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && (!elem.options[i].value || (elem.options[i].value.match(/\n/g)))) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required"); } } if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) { if (elem.className.includes('phone-input-error')) { elem.className = elem.className + ' _has_error'; no_error = false; } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, 'Please enter a valid email address'); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'tel') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); } if (input.type == 'text' || input.type == 'number' || input.type == 'time') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i < len; i++) { var elem = allInputs[i]; if (needs_validate(elem)) { if (elem.tagName.toLowerCase() !== "select") { elem.value = elem.value.trim(); } validate_field(elem) ? true : no_error = false; } } if (!no_error && e) { e.preventDefault(); } resize_tooltips(); return no_error; }; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); var hidePhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.remove("phone-error"); errorMessage.classList.add("phone-error-hidden"); input.classList.remove("phone-input-error"); }; var initializePhoneInput = function(input, defaultCountry) { return window.intlTelInput(input, { utilsScript: "https://unpkg.com/intl-tel-input@17.0.18/build/js/utils.js", autoHideDialCode: false, separateDialCode: true, initialCountry: defaultCountry, preferredCountries: [] }); } var setPhoneInputEventListeners = function(inputId, input, iti) { input.addEventListener('blur', function() { var errorMessage = document.getElementById("error-msg-" + inputId); if (input.value.trim()) { if (iti.isValidNumber()) { iti.setNumber(iti.getNumber()); if (errorMessage.classList.contains("phone-error")){ hidePhoneInputError(inputId); } } else { showPhoneInputError(inputId) } } else { if (errorMessage.classList.contains("phone-error")){ hidePhoneInputError(inputId); } } }); input.addEventListener("countrychange", function() { iti.setNumber(''); }); input.addEventListener("keydown", function(e) { var charCode = (e.which) ? e.which : e.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) { e.preventDefault(); } }); }; var showPhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.add("phone-error"); errorMessage.classList.remove("phone-error-hidden"); input.classList.add("phone-input-error"); }; var form_submit = function(e) { e.preventDefault(); if (validate_form()) { // use this trick to get the submit button & disable it using plain javascript document.querySelector('#_form_15_submit').disabled = true; var _form_serialize_15 = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")}; let serialized_15 = _form_serialize_15(document.getElementById('_form_15_')).replace(/%0A/g, '\\n'); var err = form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; // We don't check the Google reCaptcha if projectId is null // Site properties: ProjectId is defined => we check the captcha before sending the form _check_reCaptcha_15(); } return false; }; addEvent(form_to_submit, 'submit', form_submit); })(); </script><!-- p class="text-xs">To learn how your data will be used, please see our <a href="/privacy.html" title="privacy-and-copyright">privacy notice</a>. This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</p --> <details class="text-xs"><summary style="color:inherit">How your data will be used</summary> <p class="pt-2">Please see <a href="/privacy.html" title="privacy-and-copyright">ISO privacy notice</a>. This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</p> </details></div></div><h2>Types of cryptography systems&nbsp;</h2> <p>Cryptography refers to the techniques and algorithms that are used today for secure communication and data in storage. It incorporates mathematics, computer science, electronics and digital signal processing. Broadly speaking, there are four types of cryptography systems:&nbsp;</p> <ul> <li><strong>Symmetric-key cryptography (or &ldquo;secret key&rdquo;):</strong> In this type of system, both the sender and the receiver share the same key, which is used to encrypt and decrypt the message.&nbsp;</li> <li><strong>Asymmetric-key cryptography (or &ldquo;public key&rdquo;): </strong>In this type of cryptography system, there are two keys &ndash; one public and one private; these form a pair and are related mathematically. To apply asymmetric cryptography, the sender uses the public key of the intended recipient to encode the message, and then sends it on its way. When the message arrives, only the recipient&rsquo;s private key can be used to decode it, meaning that a stolen message is of no use to the thief without the corresponding private key. Encryption mechanisms are the focus of <a href="/standard/76156.html" title="76156">ISO/IEC 18033</a>, a suite of International Standards that specifies a number of asymmetric ciphers. The multipart series includes identity-based ciphers, block ciphers, stream ciphers, and homomorphic encryption.&nbsp;</li> <li><strong>Cryptographic key management: </strong>This type of system is crucial for protecting the keys used in both symmetric and asymmetric cryptography. It includes a set of processes covering the entire &ldquo;life cycle&rdquo; of a key, including its generation, exchange and distribution, storage, use, safe destruction and replacement. If the key management is weak, then the protection of encrypted data is weak. There are a number of International Standards relating to key management (e.g. <a href="/standard/53456.html" title="53456">ISO/IEC 11770</a>) and key generation (e.g. <a href="/standard/54945.html" title="54945">ISO/IEC 18031</a> and <a href="/standard/72009.html" title="72009">ISO/IEC 18032</a>).&nbsp;</li> <li><strong>Cryptographic hash function:</strong> This is a technique that converts a string of data of any length into a hashed output (a digest of the input) of fixed length. Hash functions have many applications such as in digital signatures, MACs (message authentication codes), and checksums (to check data corruption). International Standards that specify hash functions include <a href="/standard/75296.html" title="75296">ISO/IEC 9797-2</a>, <a href="/standard/51619.html" title="51619">ISO/IEC 9797-3</a> and <a href="/standard/64213.html" title="ISO/IEC 10118-1 Information technology — Security techniques — Hash-functions — Part 1: General">ISO/IEC 10118</a>.&nbsp;</li> </ul><h2>Information security principles and uses of cryptography&nbsp;</h2> <p>The key principles of information security are confidentiality, integrity and availability. Cryptography is an important tool that helps to preserve two of these principles:&nbsp;</p> <ul> <li><strong>Data confidentiality</strong> ensures that data is not disclosed to unauthorized parties. Cryptographic techniques such as encryption can be used to protect the confidentiality of data by making it unreadable to those who don&rsquo;t have the proper decryption key.&nbsp;</li> <li><strong>Data integrity</strong> ensures that data has not been modified or corrupted. One example for International Standards on data integrity is <a href="/standard/50375.html" title="Information technology — Security techniques — Message Authentication Codes (MACs)">ISO/IEC 9797</a>, which specifies algorithms for calculating message authentication codes.&nbsp;</li> </ul> <p>In addition to these key information security objectives, cryptography is used to achieve:&nbsp;</p> <h3>Entity authentication</h3> <p>By checking knowledge of a secret, entity authentication verifies the identity of the sender. Various crypto-based mechanisms and protocols can be used to achieve this, such as symmetric systems, digital signatures, zero-knowledge techniques and checksums. <a href="/standard/53634.html" title="Information technology — Security techniques — Entity authentication">ISO/IEC 9798</a> is a series of standards that specifies entity authentication protocols and techniques.&nbsp;</p> <h3>Digital signatures&nbsp;</h3> <p>Used to verify the authenticity of data, digital signatures confirm that the data originated from the signer and has not been changed. They are used, for example, in email messages, electronic documents and online payments. International Standards that specify digital signature schemes include ISO/IEC 9796, ISO/IEC 14888, ISO/IEC 18370 and ISO/IEC 20008.&nbsp;</p> <h3>Non-repudiation&nbsp;</h3> <p>Cryptographic techniques such as digital signatures can be used to provide non-repudiation by ensuring that the sender and receiver of a message cannot deny that they, respectively, sent or received the message. The standard <a href="/standard/76153.html" title="Information security — Non-repudiation">ISO/IEC 13888</a> describes techniques (symmetric and asymmetric) for the provision of non-repudiation services.&nbsp;</p> <h3>Lightweight cryptography&nbsp;</h3> <p>Lightweight cryptography is used in applications and technologies that are constrained in computational complexity: limiting factors can be memory, power and computing resources. The need for lightweight cryptography is expanding in our modern digital world. Constrained devices &ndash; for example IoT (Internet of Things) sensors or actuators like the ones switching on appliances in a so-called smart home &ndash; use lightweight symmetric cryptography. <a href="/standard/56425.html" title="Information technology — Security techniques — Lightweight cryptography">ISO/IEC 29192</a> is an eight-part standard that specifies various cryptographic techniques for lightweight applications.&nbsp;</p> <h3>Digital rights management&nbsp;</h3> <p>Digital rights management (DRM) protects the copyright of your digital content. DRM uses cryptographic software to ensure that only authorized users can have access to the material, modify or distribute it.&nbsp;</p> <h3>Electronic commerce and online shopping&nbsp;</h3> <p>Secure e-commerce is made possible by the use of asymmetric-key encryption. Cryptography plays an important role in online shopping as it protects credit card information and related personal details, as well as customers&rsquo; purchasing history and transactions.&nbsp;</p> <h3>Cryptocurrencies and blockchain&nbsp;</h3> <p>A cryptocurrency is a digital currency that uses cryptographic techniques to secure transactions. Each cryptocurrency coin is validated via distributed ledger technologies (e.g. blockchain). A ledger, in this case, is a continuously growing list of records &ndash; known as blocks &ndash; that are linked together using cryptography.&nbsp;</p><h2>What are cryptographic algorithms?&nbsp;</h2> <p>A cryptographic algorithm is a math-based process for encoding text and making it unreadable. Cryptographic algorithms are used to provide data confidentiality, data integrity and authentication, as well as for digital signatures and other security purposes.&nbsp;</p> <p>Both DES (Data Encryption Standard) and AES (Advanced Encryption Standard) are popular examples of symmetric-key algorithms, while prominent asymmetric-key algorithms include RSA (Rivest-Shamir-Adleman) and ECC (elliptic curve cryptography).&nbsp;</p> <h3>Elliptic curve cryptography (ECC)&nbsp;</h3> <p>ECC is an asymmetric-key technique based on the use of elliptic curves, which has applications in encryption and digital signatures, for example. ECC technology can be used to create faster, smaller and more efficient cryptographic keys. Elliptic curve techniques are covered in the multipart standard <a href="/standard/65480.html" title="Information technology — Security techniques — Cryptographic techniques based on elliptic curves">ISO/IEC 15946</a>.&nbsp;</p> <h2>Standards for cryptography&nbsp;</h2> <p>Cryptography has been the subject of intense standardization efforts resulting in a range of International Standards that encapsulate the knowledge and best practice of leading experts in the field. Internationally agreed ways of working make technology more secure and interoperable. By using cryptography standards, developers can rely on common definitions, as well as proven methods and techniques.&nbsp;</p><h2>Future-proofing cryptography&nbsp;</h2> <p>Today, we are on the edge of a quantum revolution. The advent of quantum computing in the coming years will provide mankind with processing powers on a scale that traditional computers can never hope to match. While this offers countless possibilities for complex problem-solving, it also comes with corresponding security threats. That very same power could undermine much of today&rsquo;s cybersecurity &ndash; including established cryptographic practices.&nbsp;</p> <p>Quantum cryptography is a method of encryption that applies the principles of quantum mechanics to provide secure communication. It uses quantum entanglement to generate a secret key to encrypt a message in two separate places, making it (almost) impossible for an eavesdropper to intercept without altering its contents. Hailed as the next big revolution in secure communication systems, quantum cryptography has the potential to be a real breakthrough for data that needs to stay private far into the future.&nbsp;</p> <p>The new dawn of encryption is looking bright!&nbsp;</p></div> </div> </div> </section> </article><div class="nav-breadcrumb print-footer bg-black"> <div class="container"> <div class="row"> <div class="col-sm-10 small"> <!-- BREADCRUMB --> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="/home.html" title="Home page"><i class="bi-house" aria-hidden="true"></i></a></li> <li class="breadcrumb-item"> Insights & news</li> <li class="breadcrumb-item"> Insights</li> <li class="breadcrumb-item"> <a href="/insights">All insights</a> </li> <li class="breadcrumb-item"> What is cryptography?</li></ol></div> <div class="col-sm-2 hidden-print text-end small mt-3 mt-sm-0"> <a role="button" class="dropdown-toggle text-white collapsed" data-bs-toggle="collapse" href="#collapseSitemap" target="_self" aria-expanded="false" aria-controls="collapseSitemap">Sitemap</a> </div> </div> <div class="collapse border-top" id="collapseSitemap"> <div class="row"> <!-- SITEMAP --> <nav role="navigation" aria-label="Sitemap" class="sitemap-footer clearfix small" id="nav-sitemap"><ul role='menubar' class='list-inline-5 clearfix nav-level1' ><li role='menuitem' class=' hasChildren firstInLevel' ><a class='nav-link ' title="Covering almost every product, process or service imaginable, ISO makes standards used everywhere." href='/standards.html'>Standards</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' title="Whether you run a business, work for a company or government, or you are a consumer looking for goods and services that meet customer expectations: Find out what standards can do for you." href='/benefits-of-standards.html'>Benefits</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="Here you can discover some of the best-known and most widely-used standards, as well as those that address recently emerged challenges affecting us all. " href='/popular-standards.html'>Popular standards</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="A set of processes that show your product, service or system meets the requirements of a standard." href='/conformity-assessment.html'>Conformity assessment</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren lastInLevel' ><a class='nav-link ' title="Organizations and companies looking to contribute to the SDGs will find that International Standards provide effective tools to help them rise to the challenge." href='/sdg'>SDGs</a></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class=' hasChildren' ><a class='nav-link disabled' data-bs-toggle="dropdown" aria-expanded="true" href=''>Sectors</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' title="(including medicine and laboratory equipment)" href='/sectors/health'>Health</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="(including communication technology, graphics and photography)" href='/sectors/it-technologies'>IT & related technologies</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="(including vehicles, parts and infrastructure, freight, packaging and distribution)" href='/sectors/transport'>Transport</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/sectors/environment'>Environmental sustainability</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="(Business management, financial and professional services)" href='/sectors/management-services'>Management & services</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/sectors/security-safety-risk'>Security, safety & risk</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="(including power generation and transport, fuels)" href='/sectors/energy'>Energy</a></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class=' hasChildren' ><a class='nav-link ' title="ISO brings together global experts to develop International Standards that help solve problems and drive innovation." href='/about'>About ISO</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' title="Find out how we develop and publish international standards by bringing together more than 160 members and more than 45,000 experts" href='/what-we-do.html'>What we do</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/structure.html'>Structure</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="The members of the International Organization for Standardization are 172 national standards bodies, each representing ISO in their country." href='/about/members'>Members</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="Find out what's coming up and what you might have missed." href='/events.html'>Events</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren lastInLevel' ><a class='nav-link ' title="Making lives easier, safer and better. Our Strategy outlines our vision and our mission for the next 10 years and a set of goals and priorities to help us get there." href='/strategy2030.html'>Strategy</a></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class=' hasChildren inPath ' ><a class='nav-link disabled' data-bs-toggle="dropdown" aria-expanded="true" href=''>Insights & news</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' hasChildren inPath firstInLevel' ><a class='nav-link disabled' href=''>Insights</a><ul role='menubar' class='list-unstyled nav-level3' ><li role='menuitem' class=' noChildren inPath active firstInLevel' ><a class='nav-link ' href='/insights'>All insights</a></li><!-- close of list item level 3 (and more) --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/insights/filtered-list-healthcare'>Healthcare</a></li><!-- close of list item level 3 (and more) --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/insights/filtered-list-artificial-intelligence'>Artificial intelligence</a></li><!-- close of list item level 3 (and more) --><li role='menuitem' class=' noChildren lastInLevel' ><a class='nav-link ' href='/insights/filtered-list-climate-change'>Climate change</a></li><!-- close of list item level 3 (and more) --></ul><!-- close of container level 3 (and more) --></li><!-- close of list item level 2 --><li role='menuitem' class=' hasChildren lastInLevel' ><a class='nav-link disabled' href=''>News</a><ul role='menubar' class='list-unstyled nav-level3' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' href='/home/insights-news/news/expert-talk.html'>Expert talk</a></li><!-- close of list item level 3 (and more) --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/insights/standards-world'>Standards world</a></li><!-- close of list item level 3 (and more) --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/home/insights-news/news/dossier-medias.html'>Media kit</a></li><!-- close of list item level 3 (and more) --></ul><!-- close of container level 3 (and more) --></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class=' hasChildren' ><a class='nav-link ' title="Find out how the ISO process bring together global experts to create standards that are chosen the world over." href='/developing-standards.html'>Taking part</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' title="ISO has put together groups of experts that represent every sector imaginable from soaps to spacecraft, MP3 to coffee. In fact there are more than 250 technical committees. You can find out what they do here." href='/who-develops-standards.html'>Who develops standards</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="The different types of ISO publications." href='/deliverables-all.html'>Deliverables</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/get-involved.html'>Get involved</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="The ISO Climate Action Kit is a collection of case studies from around the world on how standards can be effectively used as a tool for sustainability." href='/ClimateAction.html'>Collaborating to accelerate effective climate action</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren lastInLevel' ><a class='nav-link ' title="Resources to support the work of individuals involved in standards development. " href='/resources.html'>Resources</a></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --><li role='menuitem' class=' hasChildren lastInLevel' ><a class='nav-link ' title="Are you looking to buy International Standards, guidelines, collections and checklists? They're all right here, in the ISO Store." href='/store.html'>Store</a><ul role='menubar' class='list-unstyled nav-level2' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' href='/standards-catalogue/browse-by-ics.html'>Standards catalogue</a></li><!-- close of list item level 2 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' title="ISO publications give insights and guidance into specific applications and show how standards add value." href='/publication-list.html'>Publications and products</a></li><!-- close of list item level 2 --></ul><!-- close of container level 2 --></li><!-- close of list item level 1 --></ul><!-- close of container level 1 --></nav></div> </div> </div> </div> </main> <footer role="contentinfo" aria-label="Footer" class="footer-iso footer-dark bg-dark"> <div class="container"> <div class="footer-links center-block"> <!-- FOOTER LINKS --> <nav role="navigation" aria-label="Inline Navigation" class="" id=""><ul role='menubar' class='list-inline clearfix nav-level1' ><li role='menuitem' class=' noChildren firstInLevel' ><a class='nav-link ' href='/iso-name-and-logo.html'>ISO name and logo</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/privacy.html'>Privacy Notice</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/copyright.html'>Copyright</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/cookies.html'>Cookie policy</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/media-kit.html'>Media kit</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/working-with-iso.html'>Jobs</a></li><!-- close of list item level 1 --><li role='menuitem' class=' noChildren' ><a class='nav-link ' href='/contact-iso.html'>Help and support</a></li><!-- close of list item level 1 --></ul><!-- close of container level 1 --></nav><div class="row " > <div class="col-md-6 offset-md-3 col-xl-4 offset-xl-4"><h2 class="h4 pt-3 pb-2" id="isoinsights">Sign up for email updates</h2><form method="POST" action="https://iso272.activehosted.com/proc.php" id="_form_23_" class="_form _form_23 _inline-form _dark" novalidate> <input type="hidden" name="u" value="23" /> <input type="hidden" name="f" value="23" /> <input type="hidden" name="s" /> <input type="hidden" name="c" value="0" /> <input type="hidden" name="m" value="0" /> <input type="hidden" name="act" value="sub" /> <input type="hidden" name="v" value="2" /> <input type="hidden" name="or" value="9417b9cd52ff6c742e176a370ed5442a" /> <style> ._error { width: 100%; padding: 0.5em 1.25em; text-align: left; } .grecaptcha-badge { visibility: hidden; } </style> <div class="_form-content"> <div class="input-group input-group-round mb-3"> <input type="text" id="email" class="form-control" name="email" placeholder="Email" aria-label="Email" aria-describedby="_form_23_submit" required/> <input type="hidden" id="recaptchaResponse" name="recaptcha_response"> <button id="_form_23_submit" class="_submit btn btn-primary" type="submit" class="g-recaptcha" data-sitekey="6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA" data-callback='onSubmit' data-action='submit'> Subscribe</button> </div> </div> <div class="_form-thank-you mb-3" style="display:none;"> <p><strong>Almost done!&nbsp;</strong><br /> You are only one step away from joining the ISO subscriber list. Please confirm your subscription by clicking on the email we&#39;ve just sent to you. You will not be registered until you confirm your subscription. If you can&#39;t find the email, kindly check your spam folder and/or the promotions tab (if you use Gmail).</p></div> </form> <script type="text/javascript"> if (document.getElementsByClassName("is-prod is-live")[0]) { console.debug = function () {} }; // redefine console.debug on PROD+LIVE window._check_reCaptcha_23 = function() { grecaptcha.ready(function() { grecaptcha.execute('6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA', {action: 'submit'}).then(function (token) { document.getElementById('recaptchaResponse').value = token; // console.debug('token = ' + token); let urlRestApi = "https://recaptchaenterprise.googleapis.com/v1/projects/iso-website-1722850679238/assessments?key=AIzaSyBzn_mnNayynzq0NemiOop0b9eLKaoiViE"; let jsonRequest = { event: { token: token, expectedAction: "submit", siteKey: "6Lfvyx8qAAAAAHOXkwbvVobjfLbVzBEnEVRuLtNA" } } // Verify the token and get the score fetch(urlRestApi, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(jsonRequest) }).then(response => response.json()).then(data => { console.debug("data = " + JSON.stringify(data)); if (data.tokenProperties.valid && data.riskAnalysis.score >= 0.5) { // If the score is good, submit the form // console.debug("reCaptcha validation: " + data.tokenProperties.valid); console.debug("reCaptcha score: " + data.riskAnalysis.score); var _form_serialize_23 = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")}; let serialized_23 = _form_serialize_23(document.getElementById('_form_23_')).replace(/%0A/g, '\\n'); _load_script('https://iso272.activehosted.com/proc.php?' + serialized_23 + '&jsonp=true'); console.debug("serialized_ID = " + 23); } else { // Handle the case where the score is too low console.debug('reCAPTCHA verification failed. Please try again.'); console.debug('reCaptcha invalid reason: ' + data.tokenProperties.invalidReason); } }).catch(error => { console.debug('An error occurred. Please try again.'); console.error('Error: ', error); }); }); }); } window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you'); form.querySelector('._form-content').style.display = 'none'; // thank_you.innerHTML = message; thank_you.style.display = 'block'; const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== 'undefined') { visitorObject('setEmail', email); visitorObject('update'); } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== 'undefined') window._form_callback(id); }; window._show_error = function(id, message, html) { var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error'); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = '_error-inner _form_error _no_arrow'; var wrapper = document.createElement('div'); wrapper.className = '_form-inner'; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector('[id^="_form"][id$="_submit"]').disabled = false; if (html) { var div = document.createElement('div'); div.className = '_error-html'; div.innerHTML = html; err.appendChild(div); } }; window._load_script = function(url, callback) { var head = document.querySelector('head'), script = document.createElement('script'), r = false; script.type = 'text/javascript'; script.charset = 'utf-8'; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == 'complete')) { r = true; callback(); } }; } head.appendChild(script); }; (function() { if (window.location.search.search("excludeform") !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)')); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + '=' + value + '; expires=' + now + ';path=/; Secure; SameSite=Lax;';// cannot be HttpOnly } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element['on' + event]; element['on' + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById('_form_23_'); var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false; var getUrlParam = function(name) { var params = new URLSearchParams(window.location.search); return params.get(name) || false; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error text-sm text-muted text-start'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('<br/>')); } } else if (elem.tagName == 'SELECT') { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && (!elem.options[i].value || (elem.options[i].value.match(/\n/g)))) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required"); } } if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) { if (elem.className.includes('phone-input-error')) { elem.className = elem.className + ' _has_error'; no_error = false; } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, 'Please enter a valid email address'); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'tel') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); } if (input.type == 'text' || input.type == 'number' || input.type == 'time') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i < len; i++) { var elem = allInputs[i]; if (needs_validate(elem)) { if (elem.tagName.toLowerCase() !== "select") { elem.value = elem.value.trim(); } validate_field(elem) ? true : no_error = false; } } if (!no_error && e) { e.preventDefault(); } resize_tooltips(); return no_error; }; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); var hidePhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.remove("phone-error"); errorMessage.classList.add("phone-error-hidden"); input.classList.remove("phone-input-error"); }; var initializePhoneInput = function(input, defaultCountry) { return window.intlTelInput(input, { utilsScript: "https://unpkg.com/intl-tel-input@17.0.18/build/js/utils.js", autoHideDialCode: false, separateDialCode: true, initialCountry: defaultCountry, preferredCountries: [] }); } var setPhoneInputEventListeners = function(inputId, input, iti) { input.addEventListener('blur', function() { var errorMessage = document.getElementById("error-msg-" + inputId); if (input.value.trim()) { if (iti.isValidNumber()) { iti.setNumber(iti.getNumber()); if (errorMessage.classList.contains("phone-error")){ hidePhoneInputError(inputId); } } else { showPhoneInputError(inputId) } } else { if (errorMessage.classList.contains("phone-error")){ hidePhoneInputError(inputId); } } }); input.addEventListener("countrychange", function() { iti.setNumber(''); }); input.addEventListener("keydown", function(e) { var charCode = (e.which) ? e.which : e.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) { e.preventDefault(); } }); }; var showPhoneInputError = function(inputId) { var errorMessage = document.getElementById("error-msg-" + inputId); var input = document.getElementById(inputId); errorMessage.classList.add("phone-error"); errorMessage.classList.remove("phone-error-hidden"); input.classList.add("phone-input-error"); }; var form_submit = function(e) { e.preventDefault(); if (validate_form()) { // use this trick to get the submit button & disable it using plain javascript document.querySelector('#_form_23_submit').disabled = true; var _form_serialize_23 = function(form){if(!form||form.nodeName!=="FORM"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===""){continue}switch(form.elements[i].nodeName){case"INPUT":switch(form.elements[i].type){case"tel":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(" ")+encodeURIComponent(form.elements[i].value));break;case"text":case"number":case"date":case"time":case"hidden":case"password":case"button":case"reset":case"submit":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"checkbox":case"radio":if(form.elements[i].checked){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value))}break;case"file":break}break;case"TEXTAREA":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"SELECT":switch(form.elements[i].type){case"select-one":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break;case"select-multiple":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case"BUTTON":switch(form.elements[i].type){case"reset":case"submit":case"button":q.push(form.elements[i].name+"="+encodeURIComponent(form.elements[i].value));break}break}}return q.join("&")}; let serialized_23 = _form_serialize_23(document.getElementById('_form_23_')).replace(/%0A/g, '\\n'); var err = form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; // We don't check the Google reCaptcha if projectId is null // Site properties: ProjectId is defined => we check the captcha before sending the form _check_reCaptcha_23(); } return false; }; addEvent(form_to_submit, 'submit', form_submit); })(); </script><!-- p class="text-xs">To learn how your data will be used, please see our <a href="/privacy.html" title="privacy-and-copyright">privacy notice</a>. This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</p --> <details class="text-xs"><summary style="color:inherit">How your data will be used</summary> <p class="pt-2">Please see <a href="/privacy.html" title="privacy-and-copyright">ISO privacy notice</a>. This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.</p> </details></div></div></div> <div class="footer-social clearfix"> <ul itemscope itemtype="https://schema.org/Organization"> <link itemprop="url" href="https://www.iso.org/"> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://www.linkedin.com/company/isostandards" title="Linkedin"><i class="bi-linkedin"></i></a></li> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://twitter.com/isostandards" title="Twitter"><i class="bi-twitter"></i></a></li> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://www.facebook.com/isostandards" title="Facebook"><i class="bi-facebook"></i></a></li> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://www.instagram.com/isostandards" title="Instagram"><i class="bi-instagram"></i></a></li> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://www.youtube.com/ISO" title="YouTube"><i class="bi-youtube"></i></a></li> <li><a itemprop="sameAs" target="_blank" rel="noopener" href="https://www.flickr.com/photos/isostandards" title="Flickr"><i class="bi-flickr"></i></a></li> </ul> </div> <p class="display-5 opacity-100">Making lives <strong><em>easier</em></strong>, <strong><em>safer</em></strong> and <strong><em>better</em></strong>.</p> <div class="row"> <div class="col-md-8 col-md-offset-2 pull-left"> <p class="text-xs">We are committed to ensuring that our website is accessible to everyone. If you have any questions or suggestions regarding the accessibility of this site, please <a href="mailto:webmaster@iso.org?subject=Accessibility" style="white-space: nowrap">contact us</a>.</p> <p class="text-sm"><a href="#copyright" target="_self" data-bs-toggle="collapse" aria-expanded="false" aria-controls="copyright">© All Rights Reserved</a> <span id="copyright" class="collapse">All ISO publications and materials are protected by copyright and are subject to the user’s acceptance of ISO’s conditions of copyright. Any use, including reproduction requires our written permission. All copyright requests should be addressed to <a href="mailto:copyright@iso.org">copyright@iso.org</a>.</span></p> </div> </div> </div> <div class="topbar"> <div class="topbar-content"> <a class="logo isologo logo-xs theme-red poweredby page-scroll logo-scrollTop" href="#page-top" title="Scroll to top"></a> <div class="poweredby-txt">Powered by</div> </div> </div> </footer> <!-- START OF MODAL (Buy ISO.ORG with OPTOUT) --> <div class="modal fade" tabindex="-1" role="dialog" id="iso-optout" aria-hidden="true" aria-labelledby="modalLabel"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="modalLabel"> Add to cart</h4> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="modal-body clearfix"> <div id="modalOptOut"></div> <div id="modalNoOptOut"></div> <span id="proceedToCheckout" class="visually-hidden" data-label="Checkout"></span> <span id="continueShopping" class="visually-hidden" data-label="Continue shopping"></span> </div> </div> </div> </div> </div> <!-- END OF MODAL --> </body> </html>

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