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

网站建设需要用到iis吗什么网站教你做早点

网站建设需要用到iis吗,什么网站教你做早点,招聘网络推广专员,佛山网站优化平台转载自 玻璃猫 程序员小灰 假设有一个发送方在向接收方发送消息。如果没有任何加密算法#xff0c;接收方发送的是一个明文消息#xff1a;“我是小灰” 如果消息被中间人截获到#xff0c;即使中间人无法篡改消息#xff0c;也可以窥探到消息的内容#xff0c;从而暴露了…转载自 玻璃猫 程序员小灰 假设有一个发送方在向接收方发送消息。如果没有任何加密算法接收方发送的是一个明文消息“我是小灰” 如果消息被中间人截获到即使中间人无法篡改消息也可以窥探到消息的内容从而暴露了通信双方的私密。 因此我们不再直接传送明文而改用对称加密的方式传输密文画风就变成了下面这样 具体工作的步骤如下 1.发送方利用密钥123456加密明文“我是小灰”加密结果为TNYRvxSNjZwEKZXFEcDw。 2.发送方把加密后的内容TNYRvxSNjZwEKZXFEcDw传输给接收方。 3.接收方收到密文TNYRvxSNjZwEKZXFEcDw利用密钥123456还原为明文“我是小灰”。 1.密钥 密钥是AES算法实现加密和解密的根本。对称加密算法之所以对称是因为这类算法对明文的加密和解密需要使用同一个密钥。 AES支持三种长度的密钥 128位192位256位 平时大家所说的AES128AES192AES256实际上就是指的AES算法对不同长度密钥的使用。 2.填充 要想了解填充的概念我们先要了解AES的分组加密特性。 什么是分组加密呢我们来看看下面这张图 AES算法在对明文加密的时候并不是把整个明文一股脑加密成一整段密文而是把明文拆分成一个个独立的明文块每一个明文块长度128bit。 这些明文块经过AES加密器的复杂处理生成一个个独立的密文块这些密文块拼接在一起就是最终的AES加密结果。 但是这里涉及到一个问题 假如一段明文长度是192bit如果按每128bit一个明文块来拆分的话第二个明文块只有64bit不足128bit。这时候怎么办呢就需要对明文块进行填充Padding。 NoPadding不做任何填充但是要求明文必须是16字节的整数倍。 PKCS5Padding默认如果明文块少于16个字节128bit在明文块末尾补足相应数量的字符且每个字节的值等于缺少的字符数。比如明文{1,2,3,4,5,a,b,c,d,e},缺少6个字节则补全为{1,2,3,4,5,a,b,c,d,e,6,6,6,6,6,6} ISO10126Padding如果明文块少于16个字节128bit在明文块末尾补足相应数量的字节最后一个字符值等于缺少的字符数其他字符填充随机数。比如明文{1,2,3,4,5,a,b,c,d,e},缺少6个字节则可能补全为{1,2,3,4,5,a,b,c,d,e,5,c,3,G,$,6} 3.模式 AES的工作模式体现在把明文块加密成密文块的处理过程中。AES加密算法提供了五种不同的工作模式 ECB、CBC、CTR、CFB、OFB 模式之间的主题思想是近似的在处理细节上有一些差别。我们这一期只介绍各个模式的基本定义。 ECB模式默认 电码本模式    Electronic Codebook Book CBC模式 密码分组链接模式    Cipher Block Chaining CTR模式 计算器模式    Counter CFB模式 密码反馈模式    Cipher FeedBack OFB模式 输出反馈模式    Output FeedBack 1. kgen.init传入的第一个参数128决定了密钥的长度是128bit。 2. Cipher.getInstance(AES/CBC/NoPadding)决定了AES选择的填充方式是NoPadding工作模式是CBC模式。 几点补充 1.我们在调用封装好的AES算法时表面上使用的Key并不是真正用于AES加密解密的密钥而是用于生成真正密钥的“种子”。 2.填充明文时如果明文长度原本就是16字节的整数倍那么除了NoPadding以外其他的填充方式都会填充一组额外的16字节明文块。 以上就是AES的基本概念。但我们是有追求的程序员不能知其然不知其所以然。下面来给大家讲一讲AES算法的底层原理。 在这里我们重新梳理一下 1.把明文按照128bit拆分成若干个明文块。 2.按照选择的填充方式来填充最后一个明文块。 3.每一个明文块利用AES加密器和密钥加密成密文块。 4.拼接所有的密文块成为最终的密文结果。 具体分成多少轮呢 初始轮Initial Round  1次 普通轮Rounds          N次 最终轮Final Round   1次 上一期我们提到AES的Key支持三种长度AES128AES192AES256。Key的长度决定了AES加密的轮数。 除去初始轮各种Key长度对应的轮数如下 AES12810轮 AES19212轮 AES25614轮 不同阶段的Round有不同的处理步骤。 初始轮只有一个步骤 加轮密钥AddRoundKey 普通轮有四个步骤 字节代替SubBytes 行移位ShiftRows 列混淆MixColumns 加轮密钥AddRoundKey 最终轮有三个步骤 字节代替SubBytes 行移位ShiftRows 加轮密钥AddRoundKey 1.字节替代SubBytes 首先需要说明的是16字节的明文块在每一个处理步骤中都被排列成4X4的二维数组。 所谓字节替代就是把明文块的每一个字节都替代成另外一个字节。替代的依据是什么呢依据一个被称为S盒Subtitution Box的16X16大小的二维常量数组。 假设明文块当中a[2,2] 5B一个字节是两位16进制那么输出值b[2,2] S[5][11]。 2.行移位ShiftRows 这一步很简单就像图中所描述的 第一行不变 第二行循环左移1个字节 第三行循环左移2个字节 第四行循环左移3个字节 3.列混淆MixColumns 这一步输入数组的每一列要和一个名为修补矩阵fixed matrix的二维常量数组做矩阵相乘得到对应的输出列。 4.加轮密钥AddRoundKey 这一步是唯一利用到密钥的一步128bit的密钥也同样被排列成4X4的矩阵。 让输入数组的每一个字节a[i,j]与密钥对应位置的字节k[i,j]异或一次就生成了输出值b[i,j]。 需要补充一点加密的每一轮所用到的密钥并不是相同的。这里涉及到一个概念扩展密钥KeyExpansions。 扩展密钥KeyExpansions AES源代码中用长度 4 * 4 *101 字节的数组W来存储所有轮的密钥。W{0-15}的值等同于原始密钥的值用于为初始轮做处理。 后续每一个元素W[i]都是由W[i-4]和W[i-1]计算而来直到数组W的所有元素都赋值完成。 W数组当中W{0-15}用于初始轮的处理W{16-31}用于第1轮的处理W{32-47}用于第2轮的处理 ......一直到W{160-175}用于最终轮第10轮的处理。 1.ECB模式 ECB模式Electronic Codebook Book是最简单的工作模式在该模式下每一个明文块的加密都是完全独立互不干涉的。 这样的好处是什么呢 1.简单 2.有利于并行计算 缺点同样也很明显 相同的明文块经过加密会变成相同的密文块因此安全性较差。 2.CBC模式 CBC模式Cipher Block Chaining引入了一个新的概念初始向量IVInitialization Vector。 IV是做什么用的呢它的作用和MD5的“加盐”有些类似目的是防止同样的明文块始终加密成同样的密文块。 从图中可以看出CBC模式在每一个明文块加密前会让明文块和一个值先做异或操作。IV作为初始化变量参与第一个明文块的异或后续的每一个明文块和它前一个明文块所加密出的密文块相异或。 这样以来相同的明文块加密出的密文块显然是不一样的。 CBC模式的好处是什么呢 安全性更高 坏处也很明显 1.无法并行计算性能上不如ECB 2.引入初始化向量IV增加复杂度。 —————END—————
http://www.zqtcl.cn/news/753912/

相关文章:

  • 福州网站优化me域名网站
  • 网站 案例互联网外包公司值得去吗
  • 做医疗护具网站浙江立鹏建设有限公司网站
  • 织梦制作手机网站c 网站开发需要学什么软件
  • 罗湖网站制作阿里巴巴开店网站怎么做
  • 深圳住房和建设局网站 招标怎样建设自己的视频网站
  • 网站建设的目的模板茶网站建设需要多少钱
  • 珠海市城乡住房建设局网站网站外链
  • 福田做网站需要多少钱做淘宝客网站性质
  • html网站怎么进入后台网站主题怎么写
  • wordpress怎么ftp建站高端网站建设域名注册
  • 我用织梦5.7做个网站应该把淘宝客店铺链接放到哪聊天软件开发需要多少钱
  • 站长工具爱站竞价单页网站制作
  • 网站分类目录大全购物网站大全棉鞋
  • 网站镜像做排名建立外贸英文网站应该怎么做
  • 上海做网站就用乐云seo手机网站cms 下载
  • 做网站需要固定ip么灵犀科技网站建设
  • 深圳高端做网站建设网站备案与不备案区别
  • 家居企业网站建设公司苏州高新区建设局网站管网
  • 体育门户网站模板seo网络推广有哪些
  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程
  • miit网站备案济南哪里做网站
  • 做网站软件的公司前端优化
  • 哪个网站有做形象墙汉沽网站建设制作
  • 网站alexa排名查询免费发帖的平台有哪些
  • 德国网站后缀濮阳房产网站建设
  • 漕泾网站建设做网站php语言用什么工具
  • 专业营销的网站建设公司哪家好专门做二手书的网站