7 lines
52 KiB
HTML
7 lines
52 KiB
HTML
<!doctype html><html lang="zh-CN"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1" /><meta name="generator" content="VuePress 2.0.0-rc.26" /><meta name="theme" content="VuePress Theme Plume 1.0.0-rc.192" /><script id="check-mac-os">document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))</script><script id="check-dark-mode">;(function () {const um= localStorage.getItem('vuepress-theme-appearance') || 'auto';const sm = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;const isDark = um === 'dark' || (um !== 'light' && sm);document.documentElement.dataset.theme = isDark ? 'dark' : 'light';})();</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"密码学基础","image":[""],"dateModified":"2026-01-09T02:03:40.000Z","author":[]}</script><meta property="og:url" content="https://www.simengweb.com/theory/cryptography/"><meta property="og:site_name" content="仲夏夜之梦"><meta property="og:title" content="密码学基础"><meta property="og:description" content="1. 密码学的定义 1.1 基本概念 密码学(Cryptography) 是一门研究信息安全的学科,主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换,使得只有授权方能够理解信息内容。 1.2 核心目标 密码学追求以下四个主要安全目标: 机密性(Confidentiality):确保信息只能被授权的人访问 完整性(Integr..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:updated_time" content="2026-01-09T02:03:40.000Z"><meta property="article:modified_time" content="2026-01-09T02:03:40.000Z"><link rel="icon" type="image/png" href="https://theme-plume.vuejs.press/favicon-32x32.png"><title>密码学基础 | 密码学基础 | 仲夏夜之梦</title><meta name="description" content="1. 密码学的定义 1.1 基本概念 密码学(Cryptography) 是一门研究信息安全的学科,主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换,使得只有授权方能够理解信息内容。 1.2 核心目标 密码学追求以下四个主要安全目标: 机密性(Confidentiality):确保信息只能被授权的人访问 完整性(Integr..."><link rel="preload" href="/assets/style-DfF_QT_O.css" as="style"><link rel="stylesheet" href="/assets/style-DfF_QT_O.css"><link rel="modulepreload" href="/assets/app-t8Vldhgr.js"><link rel="modulepreload" href="/assets/index.html-CiQobFd_.js"></head><body><div id="app"><!--[--><!--[--><div class="theme-plume vp-layout" vp-container data-v-3835cfce><!--[--><!--[--><!--]--><!--[--><span tabindex="-1" data-v-17e3d305></span><a href="#VPContent" class="vp-skip-link visually-hidden" data-v-17e3d305> Skip to content </a><!--]--><!----><header class="vp-nav" data-v-3835cfce data-v-59eaa6de><div class="vp-navbar" vp-navbar data-v-59eaa6de data-v-84e02ed1><div class="wrapper" data-v-84e02ed1><div class="container" data-v-84e02ed1><div class="title" data-v-84e02ed1><div class="vp-navbar-title has-sidebar" data-v-84e02ed1 data-v-111dde2d><a class="vp-link link no-icon title" href="/" data-v-111dde2d><!--[--><!--[--><!--]--><!--[--><!--[--><!--[--><img class="vp-image dark logo" style="" src="/plume.svg" alt data-v-b173f822><!--]--><!--[--><img class="vp-image light logo" style="" src="/plume.svg" alt data-v-b173f822><!--]--><!--]--><!--]--><span data-v-111dde2d>仲夏夜之梦</span><!--[--><!--]--><!--]--></a></div></div><div class="content" data-v-84e02ed1><div class="content-body" data-v-84e02ed1><!--[--><!--]--><div class="vp-navbar-search search" data-v-84e02ed1><div class="search-wrapper" data-v-97535d1e><!----><div id="local-search" data-v-97535d1e><button type="button" class="mini-search mini-search-button" aria-label="搜索文档" data-v-97535d1e><span class="mini-search-button-container"><span class="mini-search-search-icon vpi-mini-search" aria-label="search icon"></span><span class="mini-search-button-placeholder">搜索文档</span></span><span class="mini-search-button-keys"><kbd class="mini-search-button-key"></kbd><kbd class="mini-search-button-key">K</kbd></span></button></div></div></div><!--[--><!--]--><nav aria-labelledby="main-nav-aria-label" class="vp-navbar-menu menu" data-v-84e02ed1 data-v-d43c1732><span id="main-nav-aria-label" class="visually-hidden" data-v-d43c1732>Main Navigation</span><!--[--><!--[--><a class="vp-link link navbar-menu-link" href="/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>首页</span><!----><!--]--></a><!--]--><!--[--><a class="vp-link link navbar-menu-link" href="/blog/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>博客</span><!----><!--]--></a><!--]--><!--[--><a class="vp-link link navbar-menu-link" href="/ai/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>模型</span><!----><!--]--></a><!--]--><!--[--><div class="vp-flyout vp-navbar-menu-group" data-v-d43c1732 data-v-2f9dd7ad><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2f9dd7ad><span class="text" data-v-2f9dd7ad><!----><!----><span data-v-2f9dd7ad>学科知识</span><!----><span class="vpi-chevron-down text-icon" data-v-2f9dd7ad></span></span></button><div class="menu" data-v-2f9dd7ad><div class="vp-menu" data-v-2f9dd7ad data-v-ce500c40><div class="items" data-v-ce500c40><!--[--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/subject/english/" data-v-4cd00159><!--[--><!----> 英语学习笔记 <!----><!--]--></a></div><!--]--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/subject/certification/" data-v-4cd00159><!--[--><!----> 系统分析师 <!----><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vp-flyout vp-navbar-menu-group" data-v-d43c1732 data-v-2f9dd7ad><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2f9dd7ad><span class="text" data-v-2f9dd7ad><!----><!----><span data-v-2f9dd7ad>编程笔记</span><!----><span class="vpi-chevron-down text-icon" data-v-2f9dd7ad></span></span></button><div class="menu" data-v-2f9dd7ad><div class="vp-menu" data-v-2f9dd7ad data-v-ce500c40><div class="items" data-v-ce500c40><!--[--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/programming/solidity/" data-v-4cd00159><!--[--><!----> Solidity <!----><!--]--></a></div><!--]--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/programming/web/" data-v-4cd00159><!--[--><!----> Web 开发 <!----><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vp-flyout vp-navbar-menu-group active" data-v-d43c1732 data-v-2f9dd7ad><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2f9dd7ad><span class="text" data-v-2f9dd7ad><!----><!----><span data-v-2f9dd7ad>技术理论</span><!----><span class="vpi-chevron-down text-icon" data-v-2f9dd7ad></span></span></button><div class="menu" data-v-2f9dd7ad><div class="vp-menu" data-v-2f9dd7ad data-v-ce500c40><div class="items" data-v-ce500c40><!--[--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link active" href="/theory/cryptography/" data-v-4cd00159><!--[--><!----> 密码学基础 <!----><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vp-flyout vp-navbar-menu-group" data-v-d43c1732 data-v-2f9dd7ad><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-2f9dd7ad><span class="text" data-v-2f9dd7ad><!----><!----><span data-v-2f9dd7ad>运维</span><!----><span class="vpi-chevron-down text-icon" data-v-2f9dd7ad></span></span></button><div class="menu" data-v-2f9dd7ad><div class="vp-menu" data-v-2f9dd7ad data-v-ce500c40><div class="items" data-v-ce500c40><!--[--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/ops/blockchain/" data-v-4cd00159><!--[--><!----> 区块链运维 <!----><!--]--></a></div><!--]--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/ops/linux/" data-v-4cd00159><!--[--><!----> Linux 运维 <!----><!--]--></a></div><!--]--><!--[--><div class="vp-menu-link" data-v-ce500c40 data-v-4cd00159><a class="vp-link link" href="/ops/docker/" data-v-4cd00159><!--[--><!----> Docker 运维 <!----><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="vp-link link navbar-menu-link" href="/tools/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>工具</span><!----><!--]--></a><!--]--><!--[--><a class="vp-link link navbar-menu-link" href="/about/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>关于</span><!----><!--]--></a><!--]--><!--[--><a class="vp-link link navbar-menu-link" href="/friends/" tabindex="0" data-v-d43c1732 data-v-d1bfac4a><!--[--><!----><span data-v-d1bfac4a>友情链接</span><!----><!--]--></a><!--]--><!--]--></nav><!--[--><!--]--><!----><div class="vp-navbar-appearance appearance" data-v-84e02ed1 data-v-a295abf6><button class="vp-switch vp-switch-appearance" type="button" role="switch" title aria-checked="false" data-v-a295abf6 data-v-936ae0f2 data-v-7eb32327><span class="check" data-v-7eb32327><span class="icon" data-v-7eb32327><!--[--><span class="vpi-sun sun" data-v-936ae0f2></span><span class="vpi-moon moon" data-v-936ae0f2></span><!--]--></span></span></button></div><div class="vp-social-links vp-navbar-social-links social-links" data-v-84e02ed1 data-v-ad52545c data-v-adbced0f><!--[--><a class="vp-social-link no-icon" href="/" aria-label="github" title="github" target="_blank" rel="noopener" data-v-adbced0f data-v-d0ffcd88><!----></a><!--]--></div><div class="vp-flyout vp-navbar-extra extra" data-v-84e02ed1 data-v-b6926b42 data-v-2f9dd7ad><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-2f9dd7ad><span class="vpi-more-horizontal icon" data-v-2f9dd7ad></span></button><div class="menu" data-v-2f9dd7ad><div class="vp-menu" data-v-2f9dd7ad data-v-ce500c40><!----><!--[--><!--[--><!----><div class="group appearance" data-v-b6926b42><div class="item appearance" data-v-b6926b42><p class="label" data-v-b6926b42>外观</p><div class="appearance-action" data-v-b6926b42><button class="vp-switch vp-switch-appearance" type="button" role="switch" title aria-checked="false" data-v-b6926b42 data-v-936ae0f2 data-v-7eb32327><span class="check" data-v-7eb32327><span class="icon" data-v-7eb32327><!--[--><span class="vpi-sun sun" data-v-936ae0f2></span><span class="vpi-moon moon" data-v-936ae0f2></span><!--]--></span></span></button></div></div></div><div class="group social" data-v-b6926b42><div class="item social-links" data-v-b6926b42><div class="vp-social-links social-links-list" data-v-b6926b42 data-v-adbced0f><!--[--><a class="vp-social-link no-icon" href="/" aria-label="github" title="github" target="_blank" rel="noopener" data-v-adbced0f data-v-d0ffcd88><!----></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="vp-navbar-hamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="nav-screen" data-v-84e02ed1 data-v-f00b45b2><span class="container" data-v-f00b45b2><span class="top" data-v-f00b45b2></span><span class="middle" data-v-f00b45b2></span><span class="bottom" data-v-f00b45b2></span></span></button></div></div></div></div><div class="divider" data-v-84e02ed1><div class="divider-line" data-v-84e02ed1></div></div></div><!----></header><div class="vp-local-nav reached-top has-sidebar" data-v-3835cfce data-v-751115e6><button class="menu" aria-expanded="false" aria-controls="SidebarNav" data-v-751115e6><span class="vpi-align-left menu-icon" data-v-751115e6></span><span class="menu-text" data-v-751115e6>Menu</span></button><div class="vp-local-nav-outline-dropdown" style="--vp-vh:0px;" data-v-751115e6 data-v-3ef393bb><!----><!----></div></div><!--[--><aside class="vp-sidebar" vp-sidebar data-v-038909d5><div class="curtain" data-v-038909d5></div><nav id="SidebarNav" class="nav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-038909d5><span id="sidebar-aria-label" class="visually-hidden" data-v-038909d5> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-6279c2df><section class="vp-sidebar-item sidebar-item level-0 has-active" data-v-6279c2df data-v-3f7a02f6><!----><div data-v-3f7a02f6 data-v-3f7a02f6><div class="items" data-v-3f7a02f6><!--[--><div class="vp-sidebar-item sidebar-item level-1 is-link" data-v-3f7a02f6 data-v-3f7a02f6><div class="item" data-v-3f7a02f6><div class="indicator" data-v-3f7a02f6></div><!----><a class="vp-link link link" href="/theory/cryptography/" data-v-3f7a02f6><!--[--><p class="text" data-v-3f7a02f6><span data-v-3f7a02f6>密码学基础</span><!----></p><!--]--></a><!----></div><!----></div><!--]--></div></div></section></div><div class="no-transition group" data-v-6279c2df><section class="vp-sidebar-item sidebar-item level-0" data-v-6279c2df data-v-3f7a02f6><div class="item" role="button" tabindex="0" data-v-3f7a02f6><div class="indicator" data-v-3f7a02f6></div><!----><h2 class="text" data-v-3f7a02f6><span data-v-3f7a02f6>古典加密算法</span><!----></h2><!----></div><div data-v-3f7a02f6 data-v-3f7a02f6><div class="items" data-v-3f7a02f6><!--[--><div class="vp-sidebar-item sidebar-item level-1 is-link" data-v-3f7a02f6 data-v-3f7a02f6><div class="item" data-v-3f7a02f6><div class="indicator" data-v-3f7a02f6></div><!----><a class="vp-link link link" href="/theory/cryptography/substitution-ciphers/" data-v-3f7a02f6><!--[--><p class="text" data-v-3f7a02f6><span data-v-3f7a02f6>替换密码</span><!----></p><!--]--></a><!----></div><!----></div><div class="vp-sidebar-item sidebar-item level-1 is-link" data-v-3f7a02f6 data-v-3f7a02f6><div class="item" data-v-3f7a02f6><div class="indicator" data-v-3f7a02f6></div><!----><a class="vp-link link link" href="/theory/cryptography/permutation-encryption/" data-v-3f7a02f6><!--[--><p class="text" data-v-3f7a02f6><span data-v-3f7a02f6>置换密码</span><!----></p><!--]--></a><!----></div><!----></div><!--]--></div></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="vp-sidebar-control" data-v-038909d5><button type="button" class="toggle-sidebar-btn" aria-label="Toggle sidebar" data-v-038909d5><span class="vpi-sidebar-close" data-v-038909d5></span></button></div><!--]--><!--[--><div id="VPContent" vp-content class="vp-content has-sidebar" data-v-3835cfce data-v-1136ebd8><div class="vp-doc-container has-sidebar has-aside" data-v-1136ebd8 data-v-a4311ef5><!--[--><!--]--><div class="container" data-v-a4311ef5><div class="aside" vp-outline data-v-a4311ef5><div class="aside-curtain" data-v-a4311ef5></div><div class="aside-container" data-v-a4311ef5><div class="aside-content" data-v-a4311ef5><div class="vp-doc-aside" data-v-a4311ef5 data-v-5976474c><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="vp-doc-aside-outline" role="navigation" data-v-5976474c data-v-aa56eba0><div class="content" data-v-aa56eba0><div class="outline-marker" data-v-aa56eba0></div><div id="doc-outline-aria-label" aria-level="2" class="outline-title" role="heading" data-v-aa56eba0><span data-v-aa56eba0>此页内容</span><span class="vpi-print icon" data-v-aa56eba0></span></div><ul class="root" data-v-aa56eba0 data-v-4e762ff7><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-5976474c></div><!--[--><!--]--></div></div></div></div><div class="content" data-v-a4311ef5><div class="content-container" data-v-a4311ef5><!--[--><!--]--><main class="main" data-v-a4311ef5><nav class="vp-breadcrumb" data-v-a4311ef5 data-v-4c05ee02><ol vocab="https://schema.org/" typeof="BreadcrumbList" data-v-4c05ee02><!--[--><li property="itemListElement" typeof="ListItem" data-v-4c05ee02><a class="vp-link link no-icon breadcrumb" href="/" property="item" typeof="WebPage" data-v-4c05ee02><!--[-->首页<!--]--></a><span class="vpi-chevron-right" data-v-4c05ee02></span><meta property="name" content="首页" data-v-4c05ee02><meta property="position" content="1" data-v-4c05ee02></li><li property="itemListElement" typeof="ListItem" data-v-4c05ee02><a class="vp-link link no-icon breadcrumb current" href="/theory/cryptography/" property="item" typeof="WebPage" data-v-4c05ee02><!--[-->密码学基础<!--]--></a><!----><meta property="name" content="密码学基础" data-v-4c05ee02><meta property="position" content="2" data-v-4c05ee02></li><!--]--></ol></nav><!--[--><!--]--><!--[--><div class="vp-doc-title" data-v-9ebb517f><!--[--><!--]--><h1 class="page-title" data-v-9ebb517f><!----> 密码学基础 <!----></h1><!--[--><!--]--></div><div class="vp-doc-meta" data-v-9ebb517f><!--[--><!--]--><p class="reading-time" data-v-9ebb517f><span class="vpi-books icon" data-v-9ebb517f></span><span data-v-9ebb517f>约 1603 字</span><span data-v-9ebb517f>大约 5 分钟</span></p><!----><!--[--><!--]--><p class="create-time" data-v-9ebb517f><span class="vpi-clock icon" data-v-9ebb517f></span><span data-v-9ebb517f>2025-10-27</span></p></div><!--]--><!--[--><!--]--><!--[--><div class="_theory_cryptography_ external-link-icon-enabled vp-doc plume-content" vp-content data-v-a4311ef5><!--[--><!--]--><div data-v-a4311ef5><h2 id="_1-密码学的定义" tabindex="-1"><a class="header-anchor" href="#_1-密码学的定义"><span>1. 密码学的定义</span></a></h2><h3 id="_1-1-基本概念" tabindex="-1"><a class="header-anchor" href="#_1-1-基本概念"><span>1.1 基本概念</span></a></h3><p><strong>密码学(Cryptography)</strong> 是一门研究信息安全的学科,主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换,使得只有授权方能够理解信息内容。</p><h3 id="_1-2-核心目标" tabindex="-1"><a class="header-anchor" href="#_1-2-核心目标"><span>1.2 核心目标</span></a></h3><p>密码学追求以下四个主要安全目标:</p><ul><li><strong>机密性(Confidentiality)</strong>:确保信息只能被授权的人访问</li><li><strong>完整性(Integrity)</strong>:确保信息在传输过程中不被篡改</li><li><strong>认证性(Authentication)</strong>:确认通信双方的身份真实性</li><li><strong>不可否认性(Non-repudiation)</strong>:防止发送方事后否认发送过信息</li></ul><h3 id="_1-3-重要作用" tabindex="-1"><a class="header-anchor" href="#_1-3-重要作用"><span>1.3 重要作用</span></a></h3><p>密码学在现代信息安全中扮演着至关重要的角色:</p><ul><li>保护个人隐私和商业机密</li><li>确保金融交易的安全性</li><li>维护国家安全和军事通信</li><li>支撑互联网基础设施的安全运行</li></ul><h3 id="_1-4-主要应用场景" tabindex="-1"><a class="header-anchor" href="#_1-4-主要应用场景"><span>1.4 主要应用场景</span></a></h3><ul><li><strong>网络安全</strong>:HTTPS、VPN、SSL/TLS协议</li><li><strong>数字身份认证</strong>:数字证书、数字签名、双因素认证</li><li><strong>区块链技术</strong>:加密货币、智能合约、分布式账本</li><li><strong>移动通信</strong>:SIM卡加密、移动支付安全</li><li><strong>物联网安全</strong>:设备身份认证、数据传输加密</li></ul><h3 id="_1-5-基础概念与术语-入门" tabindex="-1"><a class="header-anchor" href="#_1-5-基础概念与术语-入门"><span>1.5 基础概念与术语(入门)</span></a></h3><p>为方便初学者快速建立直觉,先认识密码学中最核心的几个概念:</p><p><strong>明文(Plaintext)与密文(Ciphertext)</strong></p><ul><li>明文:未加密的原始消息,例如“HELLO”。</li><li>密文:加密后的消息,人类或未授权系统难以直接理解。</li></ul><p><strong>加密(Encryption)与解密(Decryption)</strong></p><ul><li>加密:用密钥将明文转换为密文,记为:</li></ul><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>C</mi><mo>=</mo><msub><mi>E</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mi>P</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C = E_k(P) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mclose">)</span></span></span></span></span></p><ul><li>解密:用密钥将密文还原为明文,记为:</li></ul><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>P</mi><mo>=</mo><msub><mi>D</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">P = D_k(C) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="mclose">)</span></span></span></span></span></p><p>其中,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 表示明文,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span></span></span></span> 表示密文,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span></span></span></span> 表示密钥,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span></span></span></span> 为加密算法,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 为解密算法。</p><p><strong>密钥(Key):对称密钥 vs 非对称密钥</strong></p><ul><li>对称密钥:加密和解密使用相同的密钥,速度快,但密钥分发与管理是难点。</li><li>非对称密钥(公钥密码):加密使用“公钥”,解密使用“私钥”,便于密钥分发,还能支持数字签名。</li></ul><p>对称加密流程示意(同一把密钥):</p><!--[--><div class="mermaid-actions"><button class="preview-button" title="preview"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1316 1024" fill="currentColor"><path d="M658.286 0C415.89 0 0 297.106 0 512c0 214.82 415.89 512 658.286 512 242.322 0 658.285-294.839 658.285-512S900.608 0 658.286 0zm0 877.714c-161.573 0-512-221.769-512-365.714 0-144.018 350.427-365.714 512-365.714 161.572 0 512 217.16 512 365.714s-350.428 365.714-512 365.714z"/><path d="M658.286 292.571a219.429 219.429 0 1 0 0 438.858 219.429 219.429 0 0 0 0-438.858zm0 292.572a73.143 73.143 0 1 1 0-146.286 73.143 73.143 0 0 1 0 146.286z"/></svg></button><button class="download-button" title="download"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" fill="currentColor"><path d="M828.976 894.125H190.189c-70.55 0-127.754-57.185-127.754-127.753V606.674c0-17.634 14.31-31.933 31.933-31.933h63.889c17.634 0 31.932 14.299 31.932 31.933v95.822c0 35.282 28.596 63.877 63.877 63.877h511.033c35.281 0 63.877-28.595 63.877-63.877v-95.822c0-17.634 14.298-31.933 31.943-31.933h63.878c17.635 0 31.933 14.299 31.933 31.933v159.7c0 70.566-57.191 127.751-127.754 127.751zM249.939 267.51c12.921-12.92 33.885-12.92 46.807 0l148.97 148.972V94.893c0-17.634 14.302-31.947 31.934-31.947h63.876c17.638 0 31.946 14.313 31.946 31.947v321.589l148.97-148.972c12.922-12.92 33.876-12.92 46.797 0l46.814 46.818c12.922 12.922 12.922 33.874 0 46.807L552.261 624.93c-1.14 1.138-21.664 13.684-42.315 13.693-20.877.01-41.88-12.542-43.021-13.693L203.122 361.135c-12.923-12.934-12.923-33.885 0-46.807l46.817-46.818z"/></svg></button></div><div class="mermaid-wrapper"><div style="display:flex;align-items:center;justify-content:center;height:96px;" class="mermaid-loading"><span style="--loading-icon: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio=%22xMidYMid%22 viewBox=%2225 25 50 50%22%3E%3CanimateTransform attributeName=%22transform%22 type=%22rotate%22 dur=%222s%22 keyTimes=%220;1%22 repeatCount=%22indefinite%22 values=%220;360%22%3E%3C/animateTransform%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2220%22 fill=%22none%22 stroke=%22currentColor%22 stroke-width=%224%22 stroke-linecap=%22round%22%3E%3Canimate attributeName=%22stroke-dasharray%22 dur=%221.5s%22 keyTimes=%220;0.5;1%22 repeatCount=%22indefinite%22 values=%221,200;90,200;1,200%22%3E%3C/animate%3E%3Canimate attributeName=%22stroke-dashoffset%22 dur=%221.5s%22 keyTimes=%220;0.5;1%22 repeatCount=%22indefinite%22 values=%220;-35px;-125px%22%3E%3C/animate%3E%3C/circle%3E%3C/svg%3E");--icon-size: 48px;display: inline-block;width: var(--icon-size);height: var(--icon-size);background-color: currentcolor;-webkit-mask-image: var(--loading-icon);mask-image: var(--loading-icon)"></span></div></div><!--]--><p>非对称加密流程示意(公钥/私钥):</p><!--[--><div class="mermaid-actions"><button class="preview-button" title="preview"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1316 1024" fill="currentColor"><path d="M658.286 0C415.89 0 0 297.106 0 512c0 214.82 415.89 512 658.286 512 242.322 0 658.285-294.839 658.285-512S900.608 0 658.286 0zm0 877.714c-161.573 0-512-221.769-512-365.714 0-144.018 350.427-365.714 512-365.714 161.572 0 512 217.16 512 365.714s-350.428 365.714-512 365.714z"/><path d="M658.286 292.571a219.429 219.429 0 1 0 0 438.858 219.429 219.429 0 0 0 0-438.858zm0 292.572a73.143 73.143 0 1 1 0-146.286 73.143 73.143 0 0 1 0 146.286z"/></svg></button><button class="download-button" title="download"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" fill="currentColor"><path d="M828.976 894.125H190.189c-70.55 0-127.754-57.185-127.754-127.753V606.674c0-17.634 14.31-31.933 31.933-31.933h63.889c17.634 0 31.932 14.299 31.932 31.933v95.822c0 35.282 28.596 63.877 63.877 63.877h511.033c35.281 0 63.877-28.595 63.877-63.877v-95.822c0-17.634 14.298-31.933 31.943-31.933h63.878c17.635 0 31.933 14.299 31.933 31.933v159.7c0 70.566-57.191 127.751-127.754 127.751zM249.939 267.51c12.921-12.92 33.885-12.92 46.807 0l148.97 148.972V94.893c0-17.634 14.302-31.947 31.934-31.947h63.876c17.638 0 31.946 14.313 31.946 31.947v321.589l148.97-148.972c12.922-12.92 33.876-12.92 46.797 0l46.814 46.818c12.922 12.922 12.922 33.874 0 46.807L552.261 624.93c-1.14 1.138-21.664 13.684-42.315 13.693-20.877.01-41.88-12.542-43.021-13.693L203.122 361.135c-12.923-12.934-12.923-33.885 0-46.807l46.817-46.818z"/></svg></button></div><div class="mermaid-wrapper"><div style="display:flex;align-items:center;justify-content:center;height:96px;" class="mermaid-loading"><span style="--loading-icon: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio=%22xMidYMid%22 viewBox=%2225 25 50 50%22%3E%3CanimateTransform attributeName=%22transform%22 type=%22rotate%22 dur=%222s%22 keyTimes=%220;1%22 repeatCount=%22indefinite%22 values=%220;360%22%3E%3C/animateTransform%3E%3Ccircle cx=%2250%22 cy=%2250%22 r=%2220%22 fill=%22none%22 stroke=%22currentColor%22 stroke-width=%224%22 stroke-linecap=%22round%22%3E%3Canimate attributeName=%22stroke-dasharray%22 dur=%221.5s%22 keyTimes=%220;0.5;1%22 repeatCount=%22indefinite%22 values=%221,200;90,200;1,200%22%3E%3C/animate%3E%3Canimate attributeName=%22stroke-dashoffset%22 dur=%221.5s%22 keyTimes=%220;0.5;1%22 repeatCount=%22indefinite%22 values=%220;-35px;-125px%22%3E%3C/animate%3E%3C/circle%3E%3C/svg%3E");--icon-size: 48px;display: inline-block;width: var(--icon-size);height: var(--icon-size);background-color: currentcolor;-webkit-mask-image: var(--loading-icon);mask-image: var(--loading-icon)"></span></div></div><!--]--><p>在典型的 RSA 公钥体制中,还可以用一个简洁的数学表达式表示加解密:</p><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mi>c</mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mi>m</mi><mi>e</mi></msup><mtext> </mtext><mo lspace="0.22em" rspace="0.22em"><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow></mo><mtext> </mtext><mi>n</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mi>m</mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mi>c</mi><mi>d</mi></msup><mtext> </mtext><mo lspace="0.22em" rspace="0.22em"><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow></mo><mtext> </mtext><mi>n</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned} c &= m^{e} \bmod n,\\ m &= c^{d} \bmod n, \end{aligned} </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.7591em;vertical-align:-1.1296em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6296em;"><span style="top:-3.7896em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">c</span></span></span><span style="top:-2.2304em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">m</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:1.1296em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6296em;"><span style="top:-3.7896em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">e</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">n</span><span class="mpunct">,</span></span></span><span style="top:-2.2304em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">c</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8991em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">n</span><span class="mpunct">,</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:1.1296em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p>其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>e</mi><mo separator="true">,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(e, n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">e</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 为公钥,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>d</mi><mo separator="true">,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(d, n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">d</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 为私钥,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 为明文,<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">c</span></span></span></span> 为密文。</p><p><strong>常见攻击模型简介(只需直观理解)</strong></p><ul><li>唯密文攻击(COA):攻击者只有密文,尝试恢复明文或密钥。</li><li>已知明文攻击(KPA):攻击者拥有部分“明文-密文”对,用于分析算法或密钥。</li><li>选择明文攻击(CPA):攻击者可选择明文并获取其密文,用于推断密钥或算法结构。</li><li>选择密文攻击(CCA):攻击者可选择密文并得到其解密结果,进一步分析系统弱点。</li></ul><p>直观结论:设计良好的现代密码系统,应当在这些攻击模型下仍保持安全(在合理的参数与假设下)。</p><h2 id="_2-密码学历史简述" tabindex="-1"><a class="header-anchor" href="#_2-密码学历史简述"><span>2. 密码学历史简述</span></a></h2><h3 id="_2-1-古代密码学-公元前-15世纪" tabindex="-1"><a class="header-anchor" href="#_2-1-古代密码学-公元前-15世纪"><span>2.1 古代密码学(公元前-15世纪)</span></a></h3><p><strong>凯撒密码(Caesar Cipher)</strong></p><ul><li>时间:公元前1世纪</li><li>原理:字母移位加密</li><li>示例:将字母向后移动3位,A→D,B→E</li></ul><p><strong>斯巴达密码棒(Scytale)</strong></p><ul><li>时间:公元前5世纪</li><li>原理:缠绕在特定直径木棒上的皮条</li></ul><p>古典密码简述:</p><ul><li>核心思路:替换或移位(重新排列)字符。</li><li>代表示例:凯撒(替换)、栅栏(移位)、维吉尼亚(多表替换)。</li><li>直觉目标:混淆结构、增加猜测难度;但易受频率分析。</li></ul><h3 id="_2-2-文艺复兴时期-15-18世纪" tabindex="-1"><a class="header-anchor" href="#_2-2-文艺复兴时期-15-18世纪"><span>2.2 文艺复兴时期(15-18世纪)</span></a></h3><p><strong>维吉尼亚密码(Vigenère Cipher)</strong></p><ul><li>时间:16世纪</li><li>原理:多表替换密码</li><li>特点:比单表替换更安全</li></ul><p><strong>博福特密码(Beaufort Cipher)</strong></p><ul><li>时间:18世纪</li><li>原理:改进的维吉尼亚密码</li></ul><h3 id="_2-3-近代密码学-19-20世纪中期" tabindex="-1"><a class="header-anchor" href="#_2-3-近代密码学-19-20世纪中期"><span>2.3 近代密码学(19-20世纪中期)</span></a></h3><p><strong>恩尼格玛密码机(Enigma)</strong></p><ul><li>时间:二战时期</li><li>原理:机械转子密码机</li><li>重要性:推动了现代密码分析的发展</li></ul><p><strong>香农的信息论</strong></p><ul><li>时间:1949年</li><li>贡献:为密码学奠定了数学理论基础</li></ul><h3 id="_2-4-现代密码学-1970年代至今" tabindex="-1"><a class="header-anchor" href="#_2-4-现代密码学-1970年代至今"><span>2.4 现代密码学(1970年代至今)</span></a></h3><p><strong>DES算法</strong></p><ul><li>时间:1977年</li><li>意义:第一个公开的加密标准</li></ul><p><strong>RSA算法</strong></p><ul><li>时间:1977年</li><li>意义:第一个实用的公钥密码系统</li></ul><p><strong>AES算法</strong></p><ul><li>时间:2001年</li><li>意义:取代DES的新一代加密标准</li></ul><p>现代密码简述:</p><ul><li>对称加密:同一密钥加解密,适合大量数据(示例:AES/DES/3DES)。</li></ul><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>C</mi><mo>=</mo><msub><mi>E</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mi>P</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><mspace width="1em"></mspace><mi>P</mi><mo>=</mo><msub><mi>D</mi><mi>k</mi></msub><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C = E_k(P), \quad P = D_k(C) </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:1em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="mclose">)</span></span></span></span></span></p><ul><li>非对称加密:公钥加密、私钥解密,便于密钥分发与数字签名(示例:RSA/ECC)。</li></ul><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>c</mi><mo>=</mo><msup><mi>m</mi><mi>e</mi></msup><mtext> </mtext><mo lspace="0.22em" rspace="0.22em"><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow></mo><mtext> </mtext><mi>n</mi><mo separator="true">,</mo><mspace width="1em"></mspace><mi>m</mi><mo>=</mo><msup><mi>c</mi><mi>d</mi></msup><mtext> </mtext><mo lspace="0.22em" rspace="0.22em"><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow></mo><mtext> </mtext><mi>n</mi></mrow><annotation encoding="application/x-tex">c = m^{e} \bmod n, \quad m = c^{d} \bmod n </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">c</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7144em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">e</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">n</span><span class="mpunct">,</span><span class="mspace" style="margin-right:1em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8991em;"></span><span class="mord"><span class="mord mathnormal">c</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8991em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.0556em;"></span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span></span></p><ul><li>密钥交换:Diffie–Hellman 在不安全信道建立共享密钥。</li><li>数字签名:私钥签名、公钥验证,保障真实性与不可否认性。</li></ul><h3 id="_2-5-关键历史时间线" tabindex="-1"><a class="header-anchor" href="#_2-5-关键历史时间线"><span>2.5 关键历史时间线</span></a></h3><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>公元前5世纪:斯巴达密码棒</span></span>
|
||
<span class="line"><span>公元前1世纪:凯撒密码</span></span>
|
||
<span class="line"><span>16世纪:维吉尼亚密码</span></span>
|
||
<span class="line"><span>1918年:一次一密密码本</span></span>
|
||
<span class="line"><span>1949年:香农信息论</span></span>
|
||
<span class="line"><span>1977年:DES和RSA算法</span></span>
|
||
<span class="line"><span>2001年:AES标准</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="总结" tabindex="-1"><a class="header-anchor" href="#总结"><span>总结</span></a></h2><p>密码学作为信息安全的基石,经历了从简单替换到复杂数学算法的漫长发展历程。现代密码学建立在严格的数学基础之上,通过对称加密、非对称加密等多种技术手段,为数字世界提供了可靠的安全保障。</p><p>理解密码学的基本原理和分类,有助于我们更好地应用这些技术来保护信息安全,同时也为深入学习更高级的密码学概念奠定基础。</p><p>本篇笔记的所有代码开源于:<a href="https://gitea.simengweb.com/si-meng-spec/cryptography-example-code" target="_blank" rel="noopener noreferrer">https://gitea.simengweb.com/si-meng-spec/cryptography-example-code</a></p></div><!----><!----><!----><footer class="vp-doc-footer" data-v-a4311ef5 data-v-abf7cea9><!--[--><!--]--><!----><div class="contributors" aria-label="Contributors" data-v-abf7cea9><span class="contributors-label" data-v-abf7cea9>贡献者: </span><span class="contributors-info" data-v-abf7cea9><!--[--><!--[--><span class="contributor" data-v-abf7cea9>祀梦</span><!----><!--]--><!--]--></span></div><nav class="prev-next" data-v-abf7cea9><div class="pager" data-v-abf7cea9><!----></div><div class="pager" data-v-abf7cea9><a class="vp-link link pager-link next" href="/theory/cryptography/substitution-ciphers/" data-v-abf7cea9><!--[--><span class="desc" data-v-abf7cea9>下一页</span><span class="title" data-v-abf7cea9><!----><span data-v-abf7cea9>替换密码</span></span><!--]--></a></div></nav></footer></div><!--]--></main><div id="comment" class="waline-wrapper vp-comment" vp-comment darkmode="false" style="display:block;" data-v-a4311ef5><!----></div><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!--]--><button type="button" class="vp-back-to-top" aria-label="back to top" data-v-3835cfce style="display:none;" data-v-bcf8d9a6><span class="percent" data-allow-mismatch data-v-bcf8d9a6>0%</span><span class="show icon vpi-back-to-top" data-v-bcf8d9a6></span><svg aria-hidden="true" data-v-bcf8d9a6><circle cx="50%" cy="50%" data-allow-mismatch style="stroke-dasharray:calc(0% - 12.566370614359172px) calc(314.1592653589793% - 12.566370614359172px);" data-v-bcf8d9a6></circle></svg></button><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" aria-label="sign down" class="vp-sign-down" aria-hidden="true" data-v-3835cfce style="display:none;" data-v-3df7872a><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" data-v-3df7872a><path d="m19 11l-7 6l-7-6" data-v-3df7872a></path><path d="m19 5l-7 6l-7-6" opacity="0.6" data-v-3df7872a></path></g></svg><footer class="vp-footer has-sidebar" vp-footer data-v-3835cfce data-v-91d1c8f3><!--[--><div class="container" data-v-91d1c8f3><div class="message" data-v-91d1c8f3>愿每一份温柔都被世界珍藏 ✨</div><div class="copyright" data-v-91d1c8f3><a href="https://beian.miit.gov.cn/" target="_blank" aria-label="gongan filing address">沪ICP备2023010022号-1</a>©2025祀梦的个人博客</div></div><!--]--></footer><!--[--><!--]--><!--]--></div><!----><!--]--><!--[--><!--]--><!--]--></div><script type="module" src="/assets/app-t8Vldhgr.js" defer></script></body></html> |