当前位置: 首页 > news >正文

小程序开发平台需要网站吗百度推广培训机构

小程序开发平台需要网站吗,百度推广培训机构,网络文章发布平台,湖南建设长沙网站建设价格参考链接 Linux加密框架中的算法和算法模式#xff08;二#xff09;_家有一希的博客-CSDN博客 对称算法 分组算法模式 ECB模式 ECB模式下#xff0c;明文数据被分为大小合适的分组#xff0c;然后对每个分组独立进行加密或解密如下图所示如果两个明文块相同#xff0c…参考链接 Linux加密框架中的算法和算法模式二_家有一希的博客-CSDN博客 对称算法 分组算法模式 ECB模式 ECB模式下明文数据被分为大小合适的分组然后对每个分组独立进行加密或解密如下图所示如果两个明文块相同则加密输出相同的密文块ECB模式的优点在于操作简单易于实现。由于分组的独立性利于实现并行处理并能很好地防止误码扩散。由于所有分组的加密方式一致明文中重复内容即模式会在密文中有所体现因此难以抵抗统计分析攻击。ECB模式一般用于小数据量的字符信息的安全性保护例如密钥保护。加密框架支持分组算法的ECB模式实现源码为ecb.cecb.c - crypto/ecb.c - Linux source code (v5.15.11) - BootlinCBC模式 1976年IBM发明了密码分组链接CBCcipher-block chaining模式。在该模式中每个明文块先与前一个密文块进行异或后再进行加密如下图所示如上图所示每个密文块都依赖于它前面所有的明文块同时为保证每条消息的唯一性在第一个块中需要使用初始向量IV。若第一个块的下标为1则CBC模式的加密过程为CiEk(Pi⊕Ci-1)C0IV而其解密过程为PiDk(Ci)⊕Ci-1C0IV其中Pi表示第i个明文块Ci表示第i个密文块E和D分别为加密器和解密器k为密钥。CBC模式的主要缺点在于加密过程是串行的无法被并行化而且明文数据必须被填充到块大小的整数倍。加密时明文中的微小改变会导致全部密文块都发生变化即误码扩散。解密时从两个邻接的密文块即可得到一个明文块因此解密过程可以被并行化而解密时密文中一位的改变只会导致其对应的明文块完全改变和下一个明文块中对应位发生改变不会影响到其他明文块的内容。加密框架支持分组算法的CBC模式实现源码为cbc.c。 cbc.c - crypto/cbc.c - Linux source code (v5.15.11) - BootlinCTR模式 CTRCounter计数器模式将块密码变为流密码通过一个递增的加密计数器以产生连续的密码流其中计数器可以是任意保证不产生长时间重复输出的函数使用要给普通的计数器是最简单和最常见的做法。采用普通计数器的CTR加密流程如下所示。 图中Nonce随机数和计数器可以通过级联、相加或异或等运算使得相同的明文产生不同的密文。CTR模式被广泛用于ATM网络安全和IPSEC应用中与其他模式相比具有以下特点 1)高效率允许进行并行计算可以很好地应用CPU流水等并行技术2)随机访问可以随机地对任意一个密文分组进行解密对该密文的处理与其他密文无关3)简单性与其他模式不同CTR模式仅要求实现加密算法但不要求实现解密算法。对AES等加解密本质上不同的算法来说这种简化是巨大的。4)预处理算法和加密器的输出不依赖于明文和密文的输入因此如果有足够的保证安全的存储器加密算法将仅仅是一系列异或运算极大地提高吞吐量。5)无填充可以高效地作为流密码使用。加密框架支持分组算法的CTR模式实现源码为ctr.c。 ctr.c - crypto/ctr.c - Linux source code (v5.15.11) - BootlinPCBC模式 PCBCPropagating Cipher Block Chaining填充密码块链接模式是一种可以使密文的微小改动在解密时导致明文大部分错误的模式并在加密时也具有相同的特性。PCBC模式的加密流程如下所示。PCBC模式的加解密算法描述如下 1)加密算法CiEk(Pi⊕Pi-1⊕Ci-1)P0⊕C0IVi1,2,…,n。2)解密算法PiDk(Ci)⊕Pi-1⊕Ci-1 P0⊕C0IVi1,2,…,n。对于使用PCBC模式加密的消息互换两个邻接的密文块不会对后续块的解密产生影响。加密框架支持分组算法的PCBC模式实现源码为pcbc.c。注PCBC模式或称为明文密码块链接Plaintext Cipher Block Chaining模式。pcbc.c - crypto/pcbc.c - Linux source code (v5.15.11) - Bootlin CCM模式 CCMCounter with CipherBlock Chaining-Message Authentication Code模式是一种同时提供加密服务和认证服务的算法模式其中加密服务由CTR模式提供认证服务由CBC-MAC模式提供。CCM模式融合了CTR模式和CBC-MAC模式的优点。使用CCM模式的基本条件包括分组算法E、密钥K、计数器发生函数CCounter Generation Function、格式化函数FFormating Function和认证数据Tag、长度Tlen。在发送方CCM模式的输入包括随机值N、有效载荷P和附加数据A计算步骤如下所述1)执行格式化函数F(N,A,P)产生128bit/块的数据块序列B0、B1、…、Br。2)对数据BBB0||B1||…||Br计算CBC-MAC值T认证数据长度为Tlen。3)执行计数器发生函数C产生128bit/块的计数器块ctr0、ctr1、…、ctrm其中mPLen/128按照CTR模式计算SjEk(ctrj)(j0,1,…,m)再计算有效载荷P的密文C’P⊕MSBplen(S)其中SS1||S2||…||Sm。4)按如下公式计算CCM模式输出密文CC’||(T⊕MSBtlen(S0))。当接收方接收到N、A和C时对密文C首先进行解密得到有效载荷T和CBC-MAC值T然后再对N、A、P计算CBC_MAC值T‘。如果T’T说明认证通过表示接收方从密文中解密得到的有效载荷P是真实有效的否则表示得到的有效载荷P是无效的。CCM模式的认证流程和加密流程如下所示。1)认证流程2)加密流程加密框架支持分组算法的CCM模式实现源码为ccm.c。在ccm.c中除支持标准的CCM模式记为ccm外还支持基本的CCM模式记为ccm_base和基于RFC4309的CCM模式记为rfc4309即CCM(AES)。ccm和ccm_base两种CCM模式的区别在于输入参数和衍生算法的算法命名ccm只需要一个输入参数即基础算法名cipher_name然后构造出CTR模式算法即ctr(cipher_name)和CCM模式算法即ccm(cipher_name)而ccm_base的输入参数除基础算法名cipher_name外还包括CTR模式算法名ctr_name构造出的CCM算法名为ccm_base(ctr_name,cipher_name)。注RFC4309Using Advanced Encryption Standard(AES) CCM Mode with IPSEC Encapsulating Security Payload(ESP)。 ccm.c - crypto/ccm.c - Linux source code (v5.15.11) - BootlinGCM 同CCM模式GCM模式Galois/Counter Mode也是一种同时提供加密服务和认证服务的算法模式其中加密服务由CTR模式提供认证服务由定义在伽罗华Galois域内的泛散Hash函数提供。GCM模式是建立在128比特分组密钥基础上的。加密框架支持分组算法的GCM模式实现源码为gcm.c。同CCM模式相同gcm.c中定义了标准GCM模式记为gcm、基础GCM模式记为gcm_base和基于RFC4106的GCM模式记为rfc4106共三种不同GCM模式。注RFC4106The use of Galios/Counter Mode(GCM) in IPSEC Encapsulating Security Payload(ESP)。 gcm.c - crypto/gcm.c - Linux source code (v5.15.11) - BootlinCTS模式 CTS模式Cipher Text Stealing Mode密文窃取模式可以处理任意长度的明文产生与明文相匹配的密文。CTS模式除明文的最后两个块外的其他块的处理方式与CBC模式相同。将明文的最后开两个块为Pn-1和Pn其中Pn-1的长度等于块长度BBPn的长度Ln为1到BB的任意值处理流程如下所示。 1)Xn-1Pn-1⊕Cn-2其中Cn-2为Pn-1前一个块Pn-2对应的密文2)En-1Ek(Xn-1)CnMSBln(En-1)3)在Pn末尾填充0创建长度为BB的Pn’4)DnEn-1⊕Pn’Cn-1Ek(Dn)。经过上述计算得到明文最后两个块Pn-1和Pn的密文Cn-1和Cn。加密框架支持分组算法的CTS模式实现源码为cts.c。 cts.c - crypto/cts.c - Linux source code (v5.15.11) - BootlinLRW模式 LRW模式采用可调分组密码模块曾经是IEEE P1619窄块加密标准候选算法模式中最有希望的。由于使用非链式结构因此LRW模式可以有效支持并行操作。除明文和密钥外LRW模式还有第3个输入叫扰乱因子其作用非常类似于CBC模式中的初始向量但具有易变性。根据定义可调分组密码应该具有改变扰乱因子的性能这样比更换密钥更有效率。加密框架支持分组算法的LRW模式实现源码为lrw.c。lrw.c - crypto/lrw.c - Linux source code (v5.15.11) - BootlinXTS模式 XTS模式是基于XEX的密文窃取可调密码模块被认为是当前最适合于磁盘加密的窄块加密模式已经被IEEE P1619标准采用。加密框架支持分组算法的XTS模式实现源码为xts.c。 xts.c - crypto/xts.c - Linux source code (v5.15.11) - BootlinCMAC模式 除HMAC外还有一种厂家的MAC运算即CMAC。CMAC全称为Cipher-based MAC即基于AES等对称加密方式实现的消息认证。最常见的CMAC是基于分组密码的CBC模式构造的MAC即CBC-MAC被很多国际组织和结构定为标准如标准ANSI X9.9FIPS PUB 113和ISO/IEC 9797是金融贸易中使用最为广泛的消息认证码。由于CBC模式加密时当改变一个明文分组时其对应密文分组及气候的密文分组都会受到影响这一性质使CBC模式能被用来产生一个消息认证码它能使消息接收方相信给定的明文序列的确来自合法的发送者而没有被篡改。CMAC共使用三条密钥一个位长为k的加密密钥用于密文分组链接的每一步两个位长为n的密钥分别用于满分组和不满分组的最后一个明文分组的处理。两个位长为n的密钥可以从加密密钥导出无需单独提供。满分组时CMAC计算流程不满分组时CMAC计算流程 注CMAC于2005年通过NIST认证。cmac.c - crypto/cmac.c - Linux source code (v5.15.11) - BootlinXCBC模式 XCBC模式Extend Cipher Block Chaining Mode由美国学者John Black和Phillip Rogaway于2000年提出的作为CBC模式的扩展已被美国政府采纳为标准。XCBC模式和CBC模式的区别在于最后一个数据块的处理方式不同XCBC模式不像CBC模式要求最后一个数据块必须是整块也可以是短块。XCBC模式具有CBC模式的所有优缺点。加密框架支持分组算法的XCBC模式实现源码为xcbc.c但不是作为一种分组加密模式而是用来构造MAC即XCBC-MAC。xcbc.c - crypto/xcbc.c - Linux source code (v5.15.11) - Bootlin 哈希算法模式 HMAC模式 MACMessage Authentication Code是一种保障信息完整性和认证的密码学方法其中HMACHash-based MAC是密钥相关的哈希运算消息认证码。HMAC运算利用哈希算法以一个密钥和一个消息作为输入生成一个消息摘要作为输出。定义HMAC需要一个哈希函数H如MD5或SHA1和一个密钥K哈希函数的分割数据长度记为B单位字节MD5和SHA1的B为64输出摘要长度记为L单位字节MD5的L为16SHA1的L为20。密钥K的长度可以是小于等于数据块长度B的任意值如果密钥K的长度大于B不能直接使用而是将密钥K的哈希值即H(K)作为HMAC运算的密钥使用。一般情况下密钥K的最小推荐值长度为L个字节。HMAC运算表达式为HMAC(K,M)H((K’⊕opad)||H((K’⊕ipad)||M))其中⊕表示异或运算||表示级联运算M为一个输入消息opad为与数据块等长的0x5Cipad为与数据块等长的0x36K’为密钥K以0x00填充的与数据块等长的字符串。HMAC运算步骤如下所示   1)在密钥K后填充0x00来创建一个字长为B的字符串K’如密钥K的字长为20个字节B为64字节则在K后填充44个0x002)将K’与ipad作异或运算得到K’’3)将K’‘与输入消息M作级联运算即将输入消息M添加到K’‘后组成新的字符串M’4)计算M’的哈希值即H1H(M’)5)将K’与opad作异或运算得到K’’’6)将K’’‘与H1作级联运算得到M’’7)计算M’‘的哈希值即H2H(M’’)。H2即为输入消息M与密钥K相关的哈希值即HMAC值。加密框架支持哈希算法的HMAC模式实现源码为hmac.c。注HMAC于2002年通过NIST认证。hmac.c - crypto/hmac.c - Linux source code (v5.15.11) - BootlinVMAC VMAC模式是基于块密码构造的MAC算法由Ted Krovetz和Wei Dai于2007年提出。VMAC模式的设计初衷为在64位机中保证良好的运算性能但在32位机上也有很好的运算性能。于其他MAC如HMAC、CMAC模式不同VMAC模式除消息的MAC值外还包括一个伪随机数pad因此除需要一个带密钥的哈希函数H外还需要一个伪随机函数F。VMAC模式的计算公式为TagHk1(M)Fk2(Nonce)其中K1和K2为收发双方共享的密钥。加密框架支持哈希算法的VMAC模式实现源码为vmac.c。vmac.c - crypto/vmac.c - Linux source code (v5.15.11) - Bootlin
http://www.pierceye.com/news/419319/

相关文章:

  • 电子商务网站开发是指聊城市城乡建设部网站查询
  • 聊天室网站模板国内市场调研公司
  • 网站做不做备案有什么区别网站媒体给房开做内容推广
  • 昆明专业网站建设模板蚌埠app制作公司
  • 平面ui设计网站网页布局设计类型
  • 东莞企石网站建设网站怎么留住用户
  • 公司网站虚假宣传但网站不是我做的wordpress自豪地采用修改
  • 山西大同网站建设哪家好宜宾seo快速排名
  • 网站为什么做黄词骗流量网站图标在哪里修改
  • 手机移动端网站建设青岛门户网站建设
  • 专业APP客户端做网站php完整电商网站开发源码
  • 网站代码500网站的页面风格是什么
  • 电商开发网站公司腾讯营销平台
  • 商务网站是什么网站建设技术有哪些
  • 专门做团购的网站有哪些微信小程序开发者工具官网下载
  • 网站开发的项目需求山东省住房和城乡建设厅电话
  • 网站建设初期推广方式安徽网站建设价格
  • 淘宝购买网站建设工业皮带怎么做免费的网站
  • 华城建设集团有限公司官方网站嵌入式软件开发教程
  • 建设邮箱网站桔子建站官网
  • 电子商务网站模板xampp下安装wordpress
  • 可以做动图的视频网站校园网站建设的目的
  • 专业网站制作公司塞尼铁克dw网页设计作品简单
  • 福州做网站公司有哪些中小企业网站制作塞尼铁克
  • 公司网站 钓鱼网站网站建设实训报告的内容怎么写
  • 摄影网站建设内容硬件开发语言有哪些
  • 怎么在主机上的建设网站做网站后台需要写代码吗
  • 网站建设发信息wordpress 科技类主题
  • 一站式进货平台网站建设为什么做网站编辑
  • 免费建站哪家好网站商城建设合同免费下载