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

如何在国内做网站专做蔬菜水果的网站

如何在国内做网站,专做蔬菜水果的网站,泉州wap网站制作,快速制作app软件1. 使用OpenSSL 命令行 在 Ubuntu Linux Distribution (发行版)中, OpenSSL 通常可用。当然,如果不可用的话,也可以使用下以下命令安装 OpenSSL: $ sudo apt-get install openssl 安装完后可以使用以下命令检查 OpenSSL 版本&am…

1. 使用OpenSSL 命令行

        在 Ubuntu Linux Distribution (发行版)中, OpenSSL 通常可用。当然,如果不可用的话,也可以使用下以下命令安装 OpenSSL:

$ sudo apt-get install openssl

安装完后可以使用以下命令检查 OpenSSL 版本:

$ openssl version

其输出将如下所示:

OpenSSL 1.0.2 1 Mar 2016

2. 密码学简介

        密码学(Cryptography) 是在面对敌手时确保信息安全的科学。这里有一个前提设想是,敌手(或者说对手) 可以使用无限的资源。密码(Ciphers) 是用于加密或解密数据的算法,如果对手拦截到该数据,但是无法解密(Decryption),那么该数据就是无意义的,而解密需要密钥。

        密码学主要用于提供保密服务,它本身不能被认为是一个完整的解决方案,而是在更广泛的安全系统中解决安全问题的关键组成部分。例如,保护区块链生态系统需要许多不同的密码学原语,如哈希函数、对称密钥密码学、数字签名和公共密钥密码学等。

        除保密服务外,加密技术还提供其它安全服务,如完整性(Integrity) 、不可否认性(Non-Repudiation) 和 身份验证(Authentication) --包括实体身份验证和数据源身份验证。另外,它还提供可追责性(Accountability) ,这是许多安全系统的要求。可追责性可以解决电子现金双重支付的问题。 

3. 密码学的数学基础

3.1 集合

集合(Set,记为 S) 就是将不同的对象放在一起,例如 S= {1,2,3,4,5}。

3.2 群

群(Group,记为 G)是定义了一个二元运算的交换集合,该运算组合了集合的两个元素。群运算是分闭的,并全对于已定义的标识元素来说是可结合的。另外,集合中的每个元素都有一个逆(Inverse)。

具体来说,G 中的每个序偶(a,b)通过运算生成 G 中的元素(a,b),并满足以下公理。

封闭性:封闭(Closure)意味着如果元素 a 和 b 在集合中,则对元素执行运算后得到的元素也将在集合中,即如果 a 和 b 都属于 G,则 a.b 也属于 G。

结合律:结合(Associative) 意味着元素的分组不分影响运算的结果。例如,对于 G 中的任意元素a,b,c,都有:

(a.b).c=a.(b.c)

单位元:G 中存在一个元素 e,对于任意元素 都有:

a.e=e.a=a

逆元:对于 G 中的任意元素 a,都存在一个元素 a' G,使得下式成立:

a.a' = a'.a  =e

3.3 域

        域(Field,记为 F) 是一个包含加法和乘法群的集合。更确切地说,集合中的所有元素都构成一个加法和乘法群。它满足加法运算和乘法运算的特定公理(即上面介绍的封闭性、结合律、单位元和逆元)。

4. 密码学模型

下图显示了通用密码学模型

        在上图中,P 表示纯文本( Plaintext), E 表示加密(Encryption),C 表示密文(Ciphertext),D 表示解密(Decryption)。基于该模型,对实体、发送者、接收者、对手、密钥和信道等概念的解释如下:

 实体:发送、接收数据或执行运算的个人或系统。

发送者:发出数据的实体

接收者:接收数据的实体

对手:试图绕开或破解安全服务的实体。

密钥:用于加密或解密其他数据的数据。

信道:为实体之间的沟通提供一种媒介。

5. 现代信息安全的基本要求

现代信息安全的基本要求包括 5 项,即保密性、完整性、可认证性、不可否认性和可追责性。

5.1 保密性

        保密性(Confidentiality) 是指应确保信息仅对授权实体可用,防止将信息泄露给未经授权的人,这涉及加密和解密技术的应用。

5.2 完整性

        完整性(Integrity) 是指应确保仅授权实体能够修改信息,防止信息出现未经授权的篡改,这涉及消息认证码和数字签名等技术的应用。

5.3 可认证性

        认证(Authentication) 可确保有关实体的身体或消息的有效性,保证信息来自正确的发送者,这涉及消息认证和数字签名等技术的应用。

6. 密码学原语

        密码学原语(Cryptographic Primitives) 是安全协议或系统的基本构建块。

        所谓安全协议(Security Protocol) 就是指要采取的一组步骤,它通过利用适当的安全机制来实现所需的安全目标。目前正在使用的安全协议有多种类型,如认证协议、不可否认协议和密钥管理协议等。

         密码学原语的分类如下图所示:

7. 对称密码学介绍

7.1 流密码

7.2 分组密码

8. 分组密密码加密模式

        分组密码的加密工作模式允许使用同一个分组密码对多于一块的数据进行加密,并保证其安全性。

        在分组加密模式下,根据使用的密码类型,将明文分为固定长度的块。然后,将加密函数应用于每个块。

        8.1 电子密码本

        电子密码本(Electronic Code Book,ECB)是一种基本的操作模式。在该模式中,通过将加密算法一对一地应用于每个明文块来生成加密数据。这是最直接的加密模式,但是由于它不太安全并且可以泄露信息,因此在实践中已不建议使用。

        分组密码的电子密码本模式如下图所示:

        在上图中可以看到,我们提供了明文 P 作为分组密码加密函数的输入,再加上密钥 KEY,共同产生密文 C 作为输出。

 8.2 密码块链接

        在密码块链接(Cipher Block Chaining,CBC)模式下,每个明文块都与先前加密的块进行 XOR 运算。CBC 模式使用初始化向量(Initialization Vector,IV) 加密第一个块。建议随机选择 IV,如下图所示:

8.3 计数器模式

        计数器 (Counter,CTR) 模式有效地使用了分组密码作为流密码。在这种情况下,将提供一个唯一的随机数,该随机数与计数器值连接以生成密钥流,如下图所示:

9. 密钥流生成模式

        在密钥流生成模式(Keystream Generation Mode) 下,加密函数可生成一个密钥流,然后将其与纯文本流进行 XOR 运算以实现加密。

9.1 消息认证模式

        在消息认证模式(Message Authentication Mode) 下,消息认证代码(Message Authentication Code,MAC) 来自加密函数。MAC 是提供完整性服务的加密校验和。使用分组密码生成 MAC 的最常见方法是 CBC-MAC。在 CBC-MAC 中,链的最后一块的一部分用作 MAC。例如,MAC 可用于确认消息是否由未授权实体修改,这可以通过 MAC 函数使用密钥对消息进行加密来实现。具体方法是:接收者在接收到消息后,使用密钥再次对接收到的消息进行加密,并将其与从发送者接收到的 MAC 进行比较,如果它们都匹配,则可知消息未被授权的用户修改,这就是 MAC 能提供完整性服务的原理;如果它们都不匹配,则表示消息在传输过程中未授权实体修改过。

9.2 加密哈希模式

        哈希函数主要用于将消息压缩为固定长度的摘要。在密码哈希模式(Cryptographic Hash Mode)下,分组密码用作压缩函数以生成纯文本哈希。

10. 数据加密标准

        当前市场主导的分组密码是高级加密标准(AES),我们将介绍 AES 的设计和机制。但是,在讨论 AES 之前,有必要先介绍一下数据加密标准(Data Encryption Standard,DES)的历史,因为正是 DES 促进了新 AES 标准的开发。

        数据加密标准由美国国家标准技术研究院(National Institute of Standards and Technology,NIST)引入,作为加密的标准算法,在 20 世纪 80 年代和 90 年代被广泛使用。但是,由于技术和密码学研究的进步,它并不能被证明对暴力破解攻击(Brute Force Attack) 具有很强的抵抗力。例如,1998 年 7 月,电子前沿基金会(Electronic Frontier Foundation,EFF)就使用 EFF DES Cracker (或 Deep Crack) 的专用机器破坏了 DES。

        DES 仅使用 56 位密钥,这引起了人们的一些担忧。该问题通过引入三重 DES(Triple DES,3DES) 获得了解决,3DES提出了使用 168 位密钥,方法是将 DES 算法执行 3 次以获得 3 个 56 位密钥,这样暴力破解攻击就几乎不可能成功。但是,3DES 轮的数量众多而计算速度慢,分组长度为 64 位而效率低下,从而难以用软件有效实现。

以下是有关如何使用 AES 进行加密和解密的 OpenSSL 示例:

openssl enc -aes-256-cbc -in message.txt -out message.bin
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

OpenSSL 工具可用于下图显示的所有密码: 

http://www.yayakq.cn/news/259140/

相关文章:

  • pc端购物网站建站南宁网站排名优化公司哪家好
  • 站长做什么网站赚钱做跨境电商有没推荐的网站
  • 网站建设支付方式知名的网站建设公司排名
  • 浦东教育网站官网软件开发平台介绍
  • 十里河网站建设工业设计相关网站
  • 深圳品牌建网站内蒙古住房与城乡建设厅网站网址
  • 企业网站建设存在的问题及建议seo推广代理
  • 广州 骏域网站建设做网站时可以切换语言的
  • 济南建设信用网站惠州网站建设服务商
  • 一台服务器可以做几个网站廊坊网络营销
  • 视频网站备案淄博手机网站建设报价
  • 自学网站搭建济南网站建设那家好
  • 网站建设与管理t7372都网站建设
  • 短租网站那家做的好处wordpress入门使用教程
  • 创建网站开发公司html5网站开发特点
  • 企业网站开发到上线的视频百度网站建设制作公司
  • 爱站工具包怎么使用制作app开发制作
  • 黔东南企业网站建设青岛网站制作推广平台
  • 网站换域名能换不深圳企业网站制作哪个
  • 三线城市做网站需求企业网页建设公司怎样收费
  • 豪华网站建设删负面的网站
  • 网站开发什么时候用缓存wordpress woo
  • 原创作文网站wap端网站建设
  • 百度站长快速收录合肥建站比较便宜的公司
  • 网站推广实践内容网站美工做确认取消对话框
  • 网站tdk优化文档龙岩app定制开发
  • 做网站被抓商品展示类网站
  • 南通港闸区城乡建设局网站什么页游好玩
  • 江苏省建设局官方网站查询做盗版电影网站犯法不
  • 关于网站建设的教材wordpress 外网