网络安全服务基础Windows--第13节-加密技术

基本保密通信模型
密码学发展
1. 古典密码学(1949年之前)
主要特点:数据的安全基于算法的保密
在古典密码学中,密码算法通常是通过⼿⼯或机械装置实现的。
数据的安全性主要依赖于算法本身的保密性,即“安全通过模糊性”(Security through
obscurity)。
经典的加密⽅法包括凯撒密码(Caesar Cipher)、维吉尼亚密码(Vigenère Cipher)等,这些算法通常容易被频率分析或其他简单的分析⽅法破解。

2. 近代密码学(1949~1975年)
主要特点:密码学真正成为⼀⻔科学
近代密码学以 1949 年⾹农(Claude Shannon)的奠基性⼯作为标志,特别是他关于通信和信息理论的贡献。
⾹农提出了密码系统的科学基础,包括混淆和扩散的概念,以及他所定义的完全保密系统。
在这⼀时期,密码学从主要依赖经验的技术逐渐演变为⼀种数学和理论基础上的科学。
例如,数据加密标准(DES,1977年正式发布,发展于近代密码学后期)开始出现,成为对称加密的⼀个经典例⼦。

3. 现代密码学(1976年以后)
密码学的新⽅向—公钥密码学主要特点:解决了密钥分发和管理的问题
1976 年,迪菲和赫尔曼(Diffie-Hellman)提出了公钥密码学的概念,这标志着现代密码学的开
端。
现代密码学的最⼤突破之⼀是引⼊了公钥加密系统,使得加密和解密可以使⽤不同的密钥,从⽽解决了密钥分发和管理的难题。
典型的公钥加密算法包括 RSA、椭圆曲线加密(ECC)和 Diffie-Hellman 密钥交换协议等。
同时,现代密码学还涵盖了对称加密、数字签名、哈希函数、消息认证码(MAC)、零知识证明
(Zero-Knowledge Proof)等⼴泛的应⽤领域。

古典密码学
古典密码学的特点:
1. 安全性在于保持算法本身的保密性
在古典密码学中,安全性主要依赖于算法的保密性,也就是说,只有那些了解算法的⼈才能加
密和解密信息。
这种安全性被称为“安全通过模糊性”(Security through Obscurity),但⼀旦算法被公开或泄
露,整个加密系统的安全性就会受到威胁。
2. 不适合⼤规模⽣产
由于古典密码学中的加密和解密过程往往是⼿⼯或机械完成的,这使得它们不适合处理⼤量数
据。
随着信息量的增加,使⽤古典密码学⽅法在⼤规模⽣产中变得⾮常不现实。
3. 不适合较⼤的或者⼈员变动较⼤的组织
古典密码学在维护密钥和算法的保密性⽅⾯具有挑战性,尤其是在组织规模较⼤或⼈员变动频
繁的情况下,确保每个成员都正确安全地使⽤密钥和算法变得⾮常困难。
4. ⽤户⽆法了解算法的安全性
由于算法是保密的,⽤户只能依赖算法设计者的声明,⽽⽆法独⽴验证算法的安全性。
这与现代密码学的公开算法原则形成鲜明对⽐,在现代密码学中,算法通常是公开的,安全性
依赖于数学复杂性⽽不是秘密。

古典密码学的主要分类:
1. 替代密码(Substitution Ciphers)
替代密码是古典密码学中最基本的加密⽅法之⼀,它通过⽤另⼀个字⺟或符号替代每个字⺟来
加密消息。
例如,凯撒密码是⼀种简单的替代密码,字⺟表中的每个字⺟都被替换为字⺟表中固定位置之
后的某个字⺟。
2. 置换密码(Transposition Ciphers)
置换密码通过重新排列消息中的字符顺序来加密信息,⽽不改变每个字符本身。
这种⽅法通过对字符的位置进⾏混淆来增强信息的安全性。
3. 替代密码与置换密码的组合
为了增强加密的安全性,古典密码学中有时会结合使⽤替代密码和置换密码,形成更加复杂的
加密系统。
这种组合通常能更有效地抵御简单的分析攻击,但仍然可能被更复杂的密码分析⽅法破解

凯撒密码
ENIGMA
ENIGMA(恩尼格玛)是⼀种机械加密设备,最初由德国⼯程师阿瑟·谢尔⽐乌斯(Arthur Scherbius)在 1918 年发明,后来被纳粹德国⼴泛⽤于军事通信的加密和解密。ENIGMA 以其复杂的加密机制和灵活的配置著称,在⼆战期间被认为是不可破解的,但最终在盟军的努⼒下被成功破译,这对⼆战的进程产⽣了深远的影响。

ENIGMA 的⼯作原理
ENIGMA 机器由⼀系列的旋转转⼦(rotors)、反射器(reflector)、插线板(plugboard)和键盘组成。其加密过程主要包括以下⼏个步骤:
1. 转⼦(Rotors):
每个转⼦内部有 26 个电⽓接点,代表字⺟表中的每个字⺟。电流从⼀个接点输⼊,经过复杂的
内部连接,从另⼀个接点输出。
每次按下⼀个键,转⼦都会旋转,改变内部连接,从⽽使得每次同⼀字⺟的加密结果都不同。
2. 反射器(Reflector):
反射器的作⽤是将电流返回转⼦,使得加密过程是对称的。换句话说,使⽤同样的机器和设
置,加密和解密过程是相同的。
3. 插线板(Plugboard):
插线板允许操作员通过连接不同的字⺟来改变输⼊和输出的电路路径,从⽽增加加密的复杂
性。
4. 加密过程:
当操作员按下⼀个字⺟键时,电流会经过插线板、转⼦、反射器,然后再次经过转⼦和插线
板,最终点亮⼀个代表加密后字⺟的灯泡。
由于转⼦的连续旋转,同⼀个字⺟每次按下时加密结果都会不同,使得ENIGMA的加密看起来
⾮常随机。

ENIGMA 的破解
尽管ENIGMA看起来⾮常安全,但它有⼀些弱点被盟军利⽤:
1. 设计缺陷:反射器的设计使得没有⼀个字⺟可以被加密成它⾃身,这成为了破解的突破⼝。
2. 操作失误:德国操作员在使⽤ENIGMA时常犯错误,⽐如使⽤相同的设置加密多封电报,或使⽤过于明显的设置(如ABCD)。
3. 破解⼯作:波兰密码学家最早成功破解了ENIGMA的早期版本,并在战争开始前将其研究成果传递给了英国。英国的布莱切利园(Bletchley Park)密码分析团队,特别是艾伦·图灵(Alan
Turing),通过开发电⼦计算机“炸弹机”(Bombe),⾃动化了ENIGMA的破解过程。

ENIGMA 在历史中的地位
ENIGMA的破解被认为是⼆战中最重要的情报胜利之⼀。它极⼤地缩短了战争的时间,挽救了⽆数⽣命。ENIGMA 也象征着密码学在战争和现代信息安全中的重要性。今天,ENIGMA 作为⼀种历史⽂物被保存下来,并成为密码学史上的⼀个重要象征。
总的来说,ENIGMA 不仅是⼀种技术上的奇迹,也是密码学发展史上的重要⾥程碑,它的发明、使⽤和最终的破解对现代密码学的形成和发展产⽣了深远的影响。

近代密码学
⾹农(Claude Shannon)在 1949 年发表的⼀篇具有⾥程碑意义的论⽂《秘密系统的通信理论》(The Communication Theory of Secret Systems)对密码学的影响。
⾹农的贡献: 1949年,克劳德·⾹农发表了《秘密系统的通信理论》这篇论⽂。这篇论⽂将信息论
(Information Theory)引⼊了密码学领域,从⽽使密码学从过去的经验性、技巧性发展成为⼀⻔严谨的科学。⾹农的⼯作奠定了现代密码学的理论基础,并且他的研究成果成为了密码学的基本原理之⼀。

主要影响:
信息论的引⼊:⾹农通过将信息论应⽤于密码学,提出了对混淆(Confusion)和扩散
(Diffusion)的科学描述,这两者是现代加密系统设计的核⼼原则。混淆指的是增加明⽂与密⽂之
间的复杂关系,⽽扩散则是将明⽂的信息扩展到密⽂的整个范围,以防⽌简单的分析攻击。
完全保密系统:⾹农还定义了完全保密系统的概念,即在没有密钥的情况下,即使拦截到密⽂,攻击者也⽆法获得任何有⽤的信息。这个概念为理解和设计安全的加密系统提供了理论框架。
奠定了密码学的科学基础:在⾹农的研究之前,密码学主要依赖于实践和经验,⽽他的⼯作使得密码学开始成为⼀⻔基于数学和逻辑的科学。

影响与应⽤: ⾹农的理论为之后的加密技术发展提供了指导,特别是在设计对称加密算法和分析加密系统的安全性⽅⾯。他的⼯作也对现代信息安全、通信安全和数据保护领域产⽣了深远的影响。
⾹农的研究标志着近代密码学的开端,从此密码学成为了⼀⻔具有坚实数学基础的科学,进⽽推动了计算机科学和信息技术的发展。

克劳德·⾹农(Claude Elwood Shannon,1916年4⽉30⽇-2001年2⽉24⽇)是美国著名的数学家、电⽓⼯程师和密码学家,他被⼴泛认为是信息论之⽗。他的研究对现代通信、计算机科学、密码学等领域产⽣了深远的影响。

⼀、⽣平与教育背景
⾹农于1916年出⽣在美国密歇根州的佩托斯基。他在少年时期就表现出对科学和⼯程的浓厚兴趣,尤其是⽆线电和电报技术。⾹农在密歇根⼤学获得了数学和电⽓⼯程的双学⼠学位,随后前往麻省理⼯学院(MIT)攻读研究⽣,并获得了电⽓⼯程硕⼠学位和数学博⼠学位。
⼆、主要成就与贡献
2.1 信息论
⾹农最著名的贡献是他在1948年发表的论⽂《通信的数学理论》(A Mathematical Theory of
Communication)。在这篇论⽂中,⾹农奠定了信息论的基础,提出了⼀些核⼼概念和定理:
信息熵(Entropy):⾹农引⼊了熵的概念,⽤以量化信息的平均不确定性或信息内容。这⼀概念成为衡量信息量和不确定性的基本⼯具。
⾹农定理(Shannon's Theorem):⾹农提出了著名的信道容量公式,定义了信道的最⼤传输速
率,即在给定的信噪⽐条件下能够⽆误地传输信息的最⾼速率。 信道容量Rmax与信道带宽W,信
噪⽐S/N关系为: Rmax=W*log2(1+S/N)⽅向
数据压缩与编码理论:⾹农的⼯作为数据压缩(即将数据表示得更简洁)和编码理论(即如何将信息编码为便于传输的形式)奠定了理论基础。
⾹农的信息论不仅在通信技术中得到了⼴泛应⽤,也对计算机科学、数据压缩、加密技术等领域产⽣了深远影响。
2.2 逻辑电路与布尔代数
⾹农在麻省理⼯学院攻读硕⼠期间,发表了另⼀篇开创性的论⽂《继电器和开关电路的符号分析》(A Symbolic Analysis of Relay and Switching Circuits),将布尔代数应⽤于电⽓⼯程,建⽴了逻辑电路的数学模型。这篇论⽂奠定了数字电路设计的基础,成为现代计算机硬件设计的重要理论依据。

2.3 密码学
⾹农的另⼀重要贡献是在密码学领域。1949年,他发表了《秘密系统的通信理论》(The
Communication Theory of Secret Systems),将信息论的概念引⼊密码学。他提出了混淆
(Confusion)和扩散(Diffusion)这两个重要概念,这些概念成为设计安全加密算法的基础。他还定义了“完全保密”的概念,即在完全保密的系统中,拦截者⽆法通过拦截到的密⽂获取任何有⽤的信息。

⾹农的研究深刻地改变了现代通信、计算机科学和密码学。他被称为“信息时代的创造者”,因为他的理论直接导致了数字通信技术的⻜速发展。⾹农的⼯作不仅影响了学术界,还推动了互联⽹、⼿机、数据压缩技术(如JPEG、MP3)等实际应⽤的进步。

2001年,⾹农因阿尔茨海默症去世,但他的遗产依然留存在我们周围的每⼀项数字技术中。他的名字也被铭记在多种奖项和荣誉中,例如 IEEE 的克劳德·E·⾹农奖。

现代密码学
1976年,惠特菲尔德·迪菲(Whitfield Diffie) 和 ⻢丁·赫尔曼(Martin Hellman) 发表了具有⾰命性意义的论⽂《密码学中的新⽅向》("New Directions in Cryptography"),提出了⾮对称密钥密码学(也称为公钥密码学)的概念。这⼀发明彻底改变了密码学的基础,解决了密钥分发和管理的重⼤问题。
⾮对称密钥密码学与之前的对称密钥密码学不同,它使⽤⼀对密钥——公钥和私钥。这对密钥具有以下特性:
公钥(Public Key):可以公开分发,任何⼈都可以使⽤这个密钥来加密信息。
私钥(Private Key):必须保密,只有密钥的持有者才能使⽤它来解密信息。
这种加密⽅式的⼀个关键优势在于,信息的发送⽅不需要知道接收⽅的私钥,从⽽解决了对称加密中如何安全地分发和管理密钥的问题。
在他们的论⽂中,迪菲和赫尔曼还提出了 Diffie-Hellman 密钥交换协议,这是第⼀个实⽤的公钥协议。
该协议允许两⽅在不共享秘密信息的情况下,安全地⽣成⼀个共享的密钥,⽤于后续的加密通信。具体过程如下:
1. 双⽅各⾃选择⼀个秘密的私有数字。
2. 双⽅使⽤各⾃的私有数字和⼀个公共参数(通常是⼀个⼤素数)⽣成⼀个公开的数值,并将其发送给对⽅。
3. 每⼀⽅使⽤接收到的数值和⾃⼰的私有数字计算出⼀个共享的秘密值。
这个共享的秘密值可以⽤作后续加密通信的密钥,从⽽实现安全通信,⽽不需要提前分发密钥。

公钥密码学的意义
公钥密码学的提出是现代密码学的⼀个⾥程碑。它不仅为互联⽹和电⼦商务的安全通信奠定了基础,也⼴泛应⽤于数字签名、身份验证和区块链技术中。
在公钥密码学的基础上,后来的研究者们开发了更多的算法和协议,例如 RSA 加密算法(由 Rivest、Shamir 和 Adleman 于1977年提出)和椭圆曲线加密(ECC)。这些技术使得现代信息安全得到了巨⼤的提升,成为当今加密通信的标准。

密码系统的安全性
影响密码系统安全性的基本因素
密码算法复杂度、密钥机密性、密钥⻓度
科克霍夫(Kerckhoff)原则:密码体制应该对外公开,仅需对密钥进⾏保密;如果⼀个密码系统需要保密的越多,可能的弱点也越多

评估密码系统安全性
⽆条件安全、计算安全性、可证明安全性

密码系统实际安全需要满⾜的准则:
破译该密码系统的实际计算量⽆法实现
破译该密码系统所需计算时间超过信息的⽣命周期
破译该密码系统的费⽤超过被加密信息本身的价值

密码学技术在信息安全中的应⽤
对称加密算法 与⾮对称加密算法
对称加密算法
加密密钥和解密密钥相同,或实质上等同
典型算法:DES、3DES、AES、IDEA、SM1等
优点:⾼效
不⾜:安全交换密钥问题及密钥管理复杂

 

⾮对称加密算法
密钥成对 (公钥, 私钥)
公钥加密私钥解、私钥加密公钥解
典型算法:RSA、ECC、 ElGamal
优点:解决密钥传递问题、密钥管理简单、提供数字签名等其他服务
缺点:计算复杂、耗⽤资源⼤
国产密码算法
SM1分组密码算法
SM2椭圆曲线公钥密码算法
SM3密码杂凑算法
SM4分组密码算法
SM7分组密码算法
SM9标识密码算法
SM系列密码算法概述
SM1、SM4、SM7:这些是对称加密算法。对称加密算法使⽤同⼀个密钥进⾏加密和解密。
        ○ SM1 和 SM7:⽬前尚未公开,属于未公开的国家机密级别算法。
        ○ SM4:已公开,是⽬前⼴泛使⽤的对称加密标准,特别适⽤于⽆线局域⽹(WLAN)环境的安全加密。
SM2、SM9:这些是⾮对称加密算法。⾮对称加密使⽤⼀对密钥(公钥和私钥)来进⾏加密和解
密。
        ○ SM2:基于椭圆曲线密码学(ECC),是⼀种⾮对称加密算法,⼴泛应⽤于数字签名、密钥交换和数据加密。⾃2011年7⽉1⽇起,所有新投⼊运⾏的公钥密码信息系统应使⽤SM2算法。
        ○ SM9:也是⼀种⾮对称加密算法,通常⽤于身份基(ID-based)的密码系统中。
SM3:这是⼀种散列算法,⽤于⽣成消息摘要,以验证数据的完整性。SM3 已公开,作为中国的标准散列算法,⼴泛应⽤于数字签名和数据完整性校验。
当前的应⽤及国家规定
RSA 1024位的安全性问题:图⽚中提到,⽬前⼴泛使⽤的RSA 1024位加密算法已被认为不再安
全。随着计算能⼒的提⾼,1024位的RSA密钥已经不能提供⾜够的安全性。
国家规定的使⽤要求:根据国家密码管理局的规定,⾃2011年7⽉1⽇起,所有新投⼊使⽤的公钥密码信息系统应使⽤SM2算法,以替代不再安全的RSA 1024位算法。同时,安全产品如密码机等所采⽤的加密算法均应使⽤国密算法(SM系列)。
SM1 算法简介
定义:SM1 是由中国国家密码管理局制定的⼀种商⽤密码分组对称加密算法。作为⼀种对称加密算法,它在加密和解密时使⽤相同的密钥。
安全性与性能:SM1 的安全性和保密强度与国际⼴泛使⽤的 AES(⾼级加密标准)算法相当,具有较⾼的安全保障。同时,其软硬件实现性能也达到了与 AES 类似的⽔平,使其能够在各种应⽤中⾼效运⾏。
未公开:⽬前,SM1 算法尚未公开,属于国家机密级别的加密算法。由于未公开,SM1 主要以 IP核(Intellectual Property Core)的形式存在于芯⽚中。这意味着算法的具体实现被嵌⼊在硬件芯⽚内,外部⽤户不能直接访问算法本身,只能通过特定的加密芯⽚接⼝进⾏调⽤。
SM1 的应⽤
SM1 已经被⼴泛应⽤于多种安全产品中,这些产品涵盖了不同的应⽤领域:
系列芯⽚:基于 SM1 算法的加密芯⽚。
智能IC卡:⽤于身份认证和加密的智能卡。
智能密码钥匙:⽤于存储密钥并执⾏加密操作的硬件设备。
加密卡:⽤于计算机或其他设备的硬件加密模块。
加密机:⽤于处理⼤批量数据加密和解密任务的设备。
SM2 算法简介
定义:SM2 是由中国国家密码管理局发布的⼀种椭圆曲线公钥密码算法。该算法主要⽤于数字签名和密钥交换,作为对对称加密算法的补充。SM2 被设计⽤于多种加密需求场景,包括数字签名、密钥交换以及数据加密。
密钥⻓度:SM2 算法的密钥⻓度⼀般为 256 位。这是基于椭圆曲线密码学(ECC)的⼀个常⻅选择,256 位密钥⻓度能够提供⾜够的安全性,同时⽐传统的⾮对称加密算法(如 RSA)使⽤较短的密钥实现相同强度的安全性。
SM2 的应⽤场景
1. 数字签名:SM2 被⼴泛⽤于⽣成和验证数字签名,确保数据的完整性和来源的真实性。数字签名在电⼦政务、电⼦商务、合同签署等领域具有重要应⽤。
2. 密钥交换:SM2 ⽀持安全的密钥交换协议,使得通信双⽅能够在不直接传输密钥的情况下⽣成共享的秘密密钥,⽤于后续的对称加密通信。
3. 加密:尽管 SM2 主要⽤于签名和密钥交换,它也能够⽤于加密数据,特别是在需要⾼安全性的场合。
SM3 算法简介
定义:SM3 是中国国家密码管理局发布的⼀种密码学安全杂凑算法(也称为哈希算法)。它是中国国家标准(GB/T 32905-2016)的⼀部分,⼴泛应⽤于数据完整性验证、数字签名、消息认证码(MAC)等安全领域。
SM3 的特点
1. 密码学安全性:
SM3 是⼀种安全的哈希算法,设计⽤于防⽌碰撞攻击(即找到两个不同输⼊⽣成相同的哈希
值)和原像攻击(即根据哈希值找到原始输⼊数据)。
2. 固定⻓度输出:
SM3 可以将任意⻓度的输⼊消息映射为固定⻓度的杂凑值。具体来说,SM3 ⽣成的杂凑值⻓
度为 256 位(32 字节),这与 SHA-256 相当。
3. 处理⽅式:
SM3 算法⾸先将输⼊消息分成固定⻓度的块进⾏处理,每个块⻓度为 512 位。
然后,算法通过⼀系列复杂的置换和混合操作,对这些数据块进⾏处理,⽣成最终的哈希值。
这些操作确保了输⼊消息的每⼀位都会影响最终⽣成的哈希值,增强了算法的安全性。
SM3 的应⽤
SM3 被⼴泛应⽤于需要数据完整性和数据验证的安全应⽤中,以下是⼀些典型的应⽤场景:
1. 数据完整性验证:
在传输或存储过程中,通过计算和⽐较 SM3 哈希值,可以验证数据是否被篡改。
2. 数字签名:
SM3 常与数字签名算法(如 SM2)结合使⽤,先对消息进⾏哈希处理,再对⽣成的哈希值进
⾏签名,以确保消息的完整性和真实性。
3. 消息认证码(MAC):
SM3 可以与密钥结合使⽤⽣成消息认证码,⽤于验证消息在传输过程中是否遭到篡改。
SM4 算法简介
定义:SM4 是中国国家密码管理局发布的⼀种分组对称加密算法,作为国家标准被正式命名为 GB/T
32907-2016。SM4 主要⽤于数据的加密和解密。
SM4 的算法结构
1. 分组密码算法:
SM4 是⼀种分组加密算法,意味着它以固定⻓度的数据块(分组)为单位进⾏加密和解密。
每个分组⻓度为 128 位(16 字节)。这意味着加密算法每次处理 128 位的数据,⽆论输⼊数据
的总⻓度如何,都会被分割成若⼲个 128 位的分组进⾏加密。
2. Feistel ⽹络结构:
SM4 采⽤了 Feistel ⽹络结构。这是⼀种⼴泛⽤于构建加密算法的结构,使加密和解密过程具
有相似性,这样的设计可以简化实现。
32 轮加密:SM4 的加密过程分为 32 轮,每⼀轮都对数据进⾏复杂的置换和替换操作,以增加
加密的复杂性和安全性。
SM4 的密钥⻓度
128 位密钥:SM4 ⽀持的密钥⻓度为 128 位(16 字节)。这个密钥⻓度在现代对称加密算法中较为常⻅,能够提供⾜够的安全性来防⽌暴⼒破解。
应⽤场景
SM4 被⼴泛应⽤于需要对数据进⾏加密和解密的场景,尤其在以下⼏个领域:
1. ⽆线⽹络安全:SM4 被⽤于保护⽆线局域⽹(WLAN)的通信安全。
2. 加密存储:⽤于⽂件和数据的加密存储,防⽌未经授权的访问。
3. 电⼦政务和电⼦商务:在电⼦政务和电⼦商务系统中,SM4 被⽤于保障敏感数据的安全传输。
SM7 的特点
SM7 是⼀种分组对称加密算法,设计⽤于在各种应⽤场景中提供数据加密保护。它的分组⻓度为 128⽐特(16 字节),密钥⻓度也为 128 ⽐特(16 字节)。
保密性:SM7 算法尚未公开发布,属于未公开的国家级机密算法。这意味着 SM7 的详细算法结构和安全性分析信息没有对外公布,主要⽤于特定应⽤场景中的数据保护。
⾼效性:SM7 设计⽤于⾮接触式 IC 卡和类似应⽤场景,确保在有限的硬件资源上实现⾼效的数据加密处理。
SM7 的应⽤场景
SM7 被⼴泛应⽤于以下⾮接触式 IC 卡应⽤领域:
1. 身份识别类应⽤:
⻔禁卡:⽤于控制对建筑物或特定区域的访问权限。
⼯作证:⽤于公司或机构内部的身份认证。
参赛证:⽤于体育赛事或其他⽐赛中的参赛⼈员身份认证。
2. 票务类应⽤:
⼤型赛事⻔票:在⼤型体育赛事或娱乐活动中,SM7 ⽤于保护电⼦⻔票的安全性,防⽌伪造和
⾮法复制。
展会⻔票:在展览会或博览会中,SM7 ⽤于保护电⼦⻔票的完整性和真实性。
3. ⽀付与通卡类应⽤:
积分消费卡:⽤于积分消费和忠诚度计划的电⼦卡,SM7 确保交易数据的机密性和安全性。
校园⼀卡通:⽤于⼤学或学校中的多功能电⼦卡,⽀持⻝堂、图书馆、⻔禁等应⽤场景。
企业⼀卡通:⽤于企业内部的多功能电⼦卡,⽀持员⼯考勤、消费、⻔禁等应⽤。
公交⼀卡通:⽤于公共交通系统中的电⼦⽀付卡,SM7 确保⽀付过程的安全性。
SM9 算法简介
定义:SM9 是中国国家密码管理局发布的⼀种密码算法,标准化为 GM/T 0024-2014。SM9 是⼀种基于标识的密码学算法,⼴泛应⽤于数字签名、密钥交换和身份认证等场景。
SM9 的算法结构
1. 基于椭圆曲线密码学:
SM9 是基于椭圆曲线密码学(ECC)的⼀种密码算法。ECC 是⼀种使⽤椭圆曲线数学结构进
⾏加密和解密操作的⾼效密码学⽅法。
2. 双线性对(Bilinear Pairing):
SM9 使⽤了双线性对(Bilinear Pairing)作为其密码学构建的基础。双线性对是密码学中⼀种
⾼级的数学运算,常⽤于构建基于标识的加密系统。
3. 标识为基础:
SM9 是⼀种基于标识的密码学算法,这意味着它可以使⽤⽤户的标识(如电⼦邮件地址、电话
17 号码等)作为公钥。与传统的基于证书的公钥基础设施(PKI)相⽐,这种⽅法可以简化密钥管
理,特别是在⼤规模分布式系统中。
SM9 的功能
1. 数字签名:
SM9 ⽀持数字签名功能,允许⽤户⽣成和验证数字签名。数字签名⽤于确保数据的完整性和真
实性,防⽌伪造和篡改。
2. 密钥协商:
SM9 ⽀持安全的密钥协商协议,使通信双⽅能够在不直接传输密钥的情况下⽣成共享的秘密密
钥。该密钥可⽤于对称加密,从⽽保护通信的机密性。
3. 身份认证:
SM9 的⼀个重要特点是身份认证功能。它允许⽤户使⽤标识进⾏身份验证,⽽⽆需传统的证
书。这种基于标识的身份认证机制可以简化身份管理流程,并且特别适合资源受限的环境,如
物联⽹设备和移动终端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/53692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Return arguments from function calling with OpenAI API when streaming?

题意:在使用OpenAI API进行流式传输时,如何返回函数调用的参数? 问题背景: Ive made a simple OpenAI API example with function calling. Im only using function calling to format the response, Im not calling multiple fu…

一个vue前端的例子(六)如何获取table一行的id

比如我们要删除列表一行 vue中template中的scope到底是个什么&#xff1f;_vue template scope-CSDN博客 <el-button click"edit_tool(scope.$index)" type"warning" icon"el-icon-edit">编辑</el-button> 获取列表下标

Brave编译指南2024 Windows篇:Brave简介(一)

1.引言 随着互联网技术的不断发展&#xff0c;用户对隐私保护和安全性的需求日益增加。传统浏览器在这方面存在诸多不足&#xff0c;而Brave浏览器则通过一系列创新技术和功能&#xff0c;致力于为用户提供更好的隐私保护和浏览体验。Brave不仅屏蔽广告和跟踪器&#xff0c;还…

web项目如何部署到服务器上呢?——麻烦的方法

只需关注web项目如何部署到服务器上&#xff0c;因为服务器运行时就可以访问web项目了。 一、麻烦的方法 1、首先启动服务器 &#xff08;1&#xff09;找到bin文件夹 &#xff08;2&#xff09;双击运行startup.bat文件 &#xff08;3&#xff09;运行之后的界面如下&#…

Dart 3.5更新对普通开发者有哪些影响?

哈喽&#xff0c;我是老刘 Flutter 3.24以及Dart 3.5不久前发布了。 突然觉得时间过得好快。六年前刚开始使用Flutter 1.0的场景还在眼前。 之前写了一篇文章盘点Flutter 3.24的新功能对普通开发者有哪些影响。Flutter 3.24 对普通开发者有哪些影响&#xff1f;https://mp.wei…

vivado 设置物理约束

设置物理约束 在本实验中&#xff0c;您将为CPU网表设计创建物理约束&#xff0c;观察中的操作 GUI转换为Tcl命令。使用Tcl命令&#xff0c;可以轻松编写复杂的操作脚本 用于在流动的不同阶段重复使用。 注意&#xff1a;如果您从实验1继续&#xff0c;并且您的设计已打开&…

Centos7.9 安装Elasticsearch 8.15.1(图文教程)

本章教程,主要记录在Centos7.9 安装Elasticsearch 8.15.1的整个安装过程。 一、下载安装包 下载地址: https://www.elastic.co/cn/downloads/past-releases/elasticsearch-8-15-1 你可以通过手动下载然后上传到服务器,也可以直接使用在线下载的方式。 wget https://artifacts…

【学术会议征稿】2024年智能驾驶与智慧交通国际学术会议(IDST 2024)

2024年智能驾驶与智慧交通国际学术会议(IDST 2024) 2024 International Conference on Intelligent Driving and Smart Transportation 智能驾驶和智慧交通利用新兴技术&#xff0c;使城市出行更加方便、更具成本效益且更安全。在此背景下&#xff0c;由中南大学主办的2024年…

LLMs技术 | 整合Ollama实现本地LLMs调用

前言 近两年AIGC发展的非常迅速&#xff0c;从刚开始的只有ChatGPT到现在的很百家争鸣。从开始的大参数模型&#xff0c;再到后来的小参数模型&#xff0c;从一开始单一的文本模型到现在的多模态模型等等。随着一起进步的不仅仅是模型的多样化&#xff0c;还有模型的使用方式。…

65、Python之函数高级:装饰器实战,通用日志记录功能的动态添加

引言 从系统开发的规范性来说&#xff0c;日志的记录是一个规范化的要求&#xff0c;但是&#xff0c;有些程序员会觉得麻烦&#xff0c;反而不愿意记录日志&#xff0c;还是太年轻了…… 其实&#xff0c;如果个人保护意识稍微强一些&#xff0c;一定会主动进行日志的记录的…

python_openCV_计算图片中的区域的黑色比例

希望对原始图片进行处理&#xff0c;然后计算图片上的黑色和白色的占比 上图&#xff0c; 原始图片 import numpy as np import cv2 import matplotlib.pyplot as pltdef cal_black(img_file):#功能&#xff1a; 计算图片中的区域的黑色比例#取图片中不同的位置进行计算&…

关于武汉芯景科技有限公司的IIC缓冲器芯片XJ4307开发指南(兼容LTC4307)

一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、系统结构图 三、功能描述 1.总线超时&#xff0c;自动断开连接 当 SDAOUT 或 SCLOUT 为低电平时&#xff0c;将启动内部定时器。定时器仅在相应输入变为高电平时重置。如果在 30ms &#xff08;典型值&#xff09; 内没有变为高…

国产芯片LT9211D:MIPI转LVDS转换器,分辨率高达3840x2160 30Hz,碾压其它同功能芯片

以下为LT9211D&#xff1a;MIPI TO LVDS的芯片简单介绍&#xff0c;供各位参考 Lontium LT9211D是一款高性能MIPI DSI/CSI-2到双端口LVDS转换器。LT9211D反序列化 输入MIPI视频数据&#xff0c;解码数据包&#xff0c;转换格式化的视频数据流到LVDS发射机输出AP与移动显示面板或…

ppt模板简约下载哪个?这些模板简约又大气

中秋节&#xff0c;作为中国传统节日中最具诗意的一个&#xff0c;月圆人团圆的美好寓意总是让人心生向往。 想在国际网站上宣传这一传统节日的独特魅力&#xff0c;却担心自己的PPT不够吸引人&#xff1f;别急&#xff0c;使用精美免费的ppt模板&#xff0c;可以让你的演示瞬…

Python Flask_APScheduler定时任务的正确(最佳)使用

描述 APScheduler基于Quartz的一个Python定时任务框架&#xff0c;实现了Quartz的所有功能。最近使用Flask框架使用Flask_APScheduler来做定时任务&#xff0c;在使用过程当中也遇到很多问题&#xff0c;例如在定时任务调用的方法中需要用到flask的app.app_context()时&#…

【Canvas与艺术】菊花孔雀螺旋

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>菊花孔雀螺旋</title><style type"text/css">…

.net MAUI应用生命周期

.NET Multi-platform App UI (.NET MAUI) 应用通常有四种执行状态&#xff1a;“未运行”、“运行中”、“已停用”和“已停止”。 当应用从未运行状态转换为运行状态、从运行状态转换为已停用状态、从已停用状态转换为已停止状态、从已停止状态转换为运行状态&#xff0c;以及…

【Kubernetes】K8s 的鉴权管理(二):基于属性 / 节点 / Webhook 的访问控制

K8s 的鉴权管理&#xff08;二&#xff09;&#xff1a;基于属性 / 节点 / Webhook 的访问控制 1.基于属性的访问控制&#xff08;ABAC 鉴权&#xff09;2.基于节点的访问控制&#xff08;node 鉴权&#xff09;2.1 读取操作2.2 写入操作 3.基于 Webhook 的访问控制3.1 基于 We…

【AcWing】861. 二分图的最大匹配(匈牙利算法)

匈牙利算法&#xff0c;他可以在比较快的时间复杂度之内告诉我们左边和右边成功匹配的最大数是多少 匹配指的是边的数量&#xff0c;成功的匹配指的是两个未被使用的点之间存在一条边(就不存在两条边共用了一个点的)。 匈牙利算法可以返回成功匹配的最大匹配数是多少。 #incl…

四、搭建网站服务器超详细步骤——解决宝塔界面无法登录问题

前言 本篇博客是搭建网站服务器的第四期&#xff0c;也到了中间的一节 先分享一下我在搭建网站时的个人感受&#xff0c;我在这个环节卡住了很久 后来突然醒悟了&#xff0c;然后成功进入了宝塔界面 现在就来分享一下&#xff0c;我所遇到的问题 小伙伴们坐好了 …