对称密钥

C#开发中常用的加密解密方法

假如想象 提交于 2019-12-09 22:56:37
转载自: https://www.cnblogs.com/bj981/p/11203711.html C#开发中常用的加密解密方法 相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5,SHAD等 一、MD5消息摘要算法 我想这是大家都常听过的算法,可能也用的比较多。那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的说就是 单向的加密, 也就是说 无法根据密文推导出明文。 MD5主要用途: 1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名 2、用于验证文件的有效性(是否有丢失或损坏的数据) 3、对用户密码的加密 4、在哈希函数中计算散列值 从上边的主要用途中我们看到,由于算法的某些不可逆特征,在加密应用上有较好的安全性。通过使用MD5加密算法,我们输入一个任意长度的字节串,都会生成一个128位的整数。所以根据这一点MD5被广泛的用作密码加密。下面我就像大家演示一下怎样进行密码加密。 首先需要引入命名空间,先看一个比较简单的MD5加密的例子: using System.Security; using System.Security.Cryptography; public

SSL协议的工作流程

主宰稳场 提交于 2019-12-09 21:29:50
SSL协议的工作流程: 服务器认证阶段: 1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接; 2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息; 3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器; 4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。 用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。 经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。 从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和

详解Https出现的前因后果

我是研究僧i 提交于 2019-12-07 16:34:23
虽然自己不直接从事互联网行业,但是对互联网行业的技术一直没有放松学习,特别是安全方面一直是我薄弱的方面,所以最近踏下心来好好的研究了下互联网安全方面的内容。 网上关于SSL、Https的学习资料比较多,有些讲的太宽泛,有些讲的又不容易理解,我以自己的角度和自己的顺序来好好摸清这些内容。 首先澄清3个概念:SSL、TLS、Https。 SSL:Secure Sockets Layer,中文“安全套接层” TLS:Transport Layer Security,中文“传输层安全协议”,是SSL在1999年标准化后的新名称,基本可以跟SSL做约等号。 HTTPS:Http Over TLS,字面意思就是基于TLS的Http传输。 众所周知Https比Http更安全,从定义中可以看出安全来自于TLS,TLS就是我们要集中力量学习的重点。 SSL/TLS不仅可以被Http over,还可以被其它多种协议Over,比如:FTP、SMTP、POP、Telnet等 问题来了SSL/TLS凭什么更安全? 首先我们看看Http协议存在的安全问题: 1 钓鱼被骗,访问伪造的服务端 2 明文被捕获,敏感信息泄露 3 明文被捕获后篡改内容 4 不管什么报文,重复发起 由于单纯的Http协议具有上面这些风险,那我们理想中的协议应该具备以下特性: 安全性,防止被偷窥,就是对内容加密,被偷窥了别人也看不懂。

HTTPS工作流程(入门)

烂漫一生 提交于 2019-12-07 15:06:28
1、CA(为服务器做担保的第三方机构)将包含CA【公钥C】等信息的【证书C】发送给浏览器; 2、服务器将其【公钥S】和网站信息发送给CA; 3、CA用CA【私钥C】将这些信息加密得到了签名后的【服务器证书S】,发送给服务器; 4、浏览器输入使用https协议的url; 5、浏览器与服务器建立TCP连接; 6、浏览器与服务器建立TLS(SSL)连接(1):主要传输浏览器支持的加密算法列表等,其中还包括用于生成对称密钥的客户端随机数; 7、浏览器与服务器建立TLS(SSL)连接(2):传输服务器选择的加密算法,其中包括用于生成对称密钥的服务器随机数; 8、浏览器与服务器建立TLS(SSL)连接(3):传输【服务器证书S】(经过CA私钥加密的公钥、域名等); 9、浏览器用CA【证书C】的公钥解密【服务器证书S】,进行证书校验,验证解密后的【服务器证书S】中的域名是否正确并获得服务器【公钥S】; 10、浏览器与服务器建立TLS(SSL)连接(4):浏览器产生pre_master key,用服务器发来的【公钥S】加密后发给服务器(用生成对称密钥); 11、浏览器用客户端随机数、服务器随机数、pre_master key生成对称加密【密钥A】; 12、服务器用其【密钥S】将收到的pre_master key解密,生成对称加密【密钥A】; 13、浏览器与服务器建立TLS(SSL)连接(5)

计算机网络 - 练习(一百零八)

可紊 提交于 2019-12-07 09:26:24
计算机网络 练习(一百零八) DES 是一种()算法 A. 共享密钥 B. 公开密钥 C. 报文摘要 D. 访问控制 ---------------------------------------- 答案 : A 解析 : 共享密钥 = 对称加密 公开密钥 = 公开公钥(保密私钥)= 非对称加密 DES(Data Encryption Standard)是美国政府 1977 年采用的加密标准,最初是由 IBM 公司在 70 年代初期开发的。 DES 是一个对称加密系统,加密和解密使用相同的密钥。它通常取一个 64(位)的数据块,使用 56 位密钥,在内部实现多次替换和变位操作来达到加密的目的。 相关内容转载自 : 希赛网 app 点我回顶部 ☚ Fin. 来源: CSDN 作者: 小黑LLB 链接: https://blog.csdn.net/Enderman_xiaohei/article/details/102578452

浅析HTTPS与SSL原理

孤街浪徒 提交于 2019-12-06 19:04:09
版权声明:本文由盛旷 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/134 来源:腾云阁 https://www.qcloud.com/community HTTPS是指结合HTTP和SSL来实现网络浏览器和服务器之间的安全通信。HTTPS被融合到当今网络操作系统和网络浏览器中,他依赖于网络服务器是否支持HTTPS协议。本文重点是阐述HTTPS和SSL证书的原理,不涉及具体实现。在开始叙述原理之前,先明确几个网络安全方面的基础概念。 一.基础概念 1. 对称加密算法 一个对称加密算法由五个部分组成: 明文:原始消息或数据 加密算法 密钥 密文:使用密钥通过加密算法对明文计算后的结果 解密算法:使用密文和相同密钥通过解密算法产生原文 2. 非对称加密算法 与对称加密算法不同的是,非对称加密算法使用的加密密钥和解密密钥是不同的。 3. 公钥密码与RSA 公钥密码属于对称加密算法中的一种,公钥密码体系中有一个公钥和一个密钥,公钥是公开给所有人使用的,密钥只有自己知道,通常公钥根据一个密钥进行加密,根据另一个密钥进行解密。 RSA公钥密码算法是公钥密码算法中的一种,RSA中的加密和解密都可以使用公钥或者私钥,但是用公钥加密的密文只能使用私钥解密,用私钥加密的密文智能使用公钥解密。 二.SSL证书的原理

20192414 2019-2020-1学期 《网络空间安全导论》第八周学习报告

无人久伴 提交于 2019-12-06 12:56:58
网络安全 网络安全及管理概述 网络安全的概念 网络安全包括网络硬件的资源和信息资源的安全性。 网络管理的概念 网络管理是指监督,组织和控制网络通信服务,以及信息处理所必需的各种活动的总称。其目的是确保计算机网络的持续正常运行,使网络中的资源得到更加有效的利用,并在计算机网络出现异常时能及时响应和排除障碍。 从网络管理范畴来分类,可分为对网络设备的管理,对接入的内部计算机、服务器等进行的管理,对行为的管理,对网络设备硬件资产进行管理。 安全网络的特征 可靠性:网络信息体统能够在规定条件下和规定的时间内完成规定功能的特性,可靠性是所有网络信息系统建设和运行的目标。 可用性:可用性是指网络信息可被授权实体访问病案需求使用的特性。 保密性:保密性是指网络信息不被泄露给非授权用户、实体或过程,或者供其利用的特性。 完整性:完整性是指网络信息未经授权不能进行改变的特性,即网络信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性。 可控性:可控性是指对信息的传播及内容具有控制能力。 可审查性:可审查性是指出现安全问题是提供的依据与手段。 常见的网络拓扑 网络拓扑是指网络的结构方式,表示连接在地雷位置上分散的各个节点的几何逻辑方式。 在实际应用中,通常采用它们中的全部或部分混合非形式,而非某种单一的拓扑结构。 ·总线形拓扑结构

SSL 杂谈

蓝咒 提交于 2019-12-06 11:18:32
什么是 SSL SSL (Secure Sockets Layer) 是一种在应用层和传输层之间的协议,对传输层(TCP)到应用层(HTTP)的数据进行加密,主要是为了保证 Internet 上数据传输的安全性,确保数据在传输过程中不被截取或监听 SSL 在技术上位与应用层,但从开发者的角度来看,它是一个提供 TCP 服务的传输层协议 TLS(Transport Layer Security)是 SSL 的继任者,在很多场合还是用 SSL 来指代 SSL/TLS 基本大部分支持 SSL 加密数据的服务器,都是采用 OpenSSL 库来实现的 OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具 SSL 协议的安全机制 SSL 通过以下三种机制,实现了网络通信的安全性 1. 数据传输的机密性 通过对称/非对称加密算法,在通信双方之间建立加密通道,保证数据传输的机密性 2. 身份验证机制 使用数字签名来验证通信对端的身份 3. 消息完整性验证 基于 md5/sha 等 hash 算法来保证消息的完整性,避免网络中传输的数据被非法篡改 SSL 的工作原理 简单了解下网络通信加密的发展过程,假设 A 和 B 之间需要网络通信 远古 远古时期民风淳朴,路不拾遗、夜不闭户,A 要发数据给 B

JAVA实现对称加密

六月ゝ 毕业季﹏ 提交于 2019-12-06 10:52:50
一、对称加密算法DES 1、概述:采用单钥 密码系统 的加密方法,同一个 密钥 可以同时用作信息的加密和解密,这种加密方法称为 对称加密,也称为单 密钥加密 。 对称加密的 特点 : 即 加密密钥 = 解密密钥 2、常用的对称加密算法: 初等 DES —3DES AES PBE IDEA 3、对称加密算法 —— DES DES( Data Encryption Standard ) 是一种 数据加密标准 。 其密钥规则如下: ​ 4、JDK实现DES算法 【1】初始化密钥 使用KeyGenerator类的getInstance()静态方法,获取生成指定算法的密钥生成器,参数是算法名称. 使用KeyGenerator类的init()方法进行密钥生成器的初始化,指定密钥生成器产生密钥的长度. 使用KeyGenerator类的generatorKey()方法生成一个密钥对象,返回SecretKey密钥对象. SecretKey为密钥对象.使用它的getEncoded()方法返回一个密钥(字节数组形式) 【2】转化密钥(还原密钥) 将jdk生成的密钥对象转化成DES规则的密钥对象. 创建一个DESKeySpec实例,作用是将JDK初始化的密钥转化成DES规则的密钥. 构造方法参数是JDK生成的密钥(字节数组形式). 使用SecretKeyFactory类的getInstance(

《图解密码技术》阅读笔记

妖精的绣舞 提交于 2019-12-06 08:52:10
第一章 密码与信息安全常识 不要使用保密的密码算法: 密码算法的秘密早晚会公诸于世 试图通过密码算法本身的保密性来保证安全称之为隐蔽式安全,很蠢。 使用低强度的密码比不进行任何加密更危险 任何密码总有一天会被破解 第二章 凯撒密码: 位移实现加密 知道位移量即可进行逆向移动解密(也可以暴力穷举破解) 替换密码: 将明文中所有字母变替换为另一套字母表 密钥空间:所有密钥的集合 频率分析:明文中字母出现的频率与密文中字母出现的频率是一致的 破译技巧: 高频字母和低频字母都能成为线索 字母连成单词 Enigma 国防军密码本的“每日密码”通信密码 通信密码是3位,写两次共6位 每日密码加密后的通信密码和通信密码加密后的密文被拼接发送给对端 弱点: 将通信密码连续输入两次 通信密码是人为选定的 必须派发国防军密码本 第三章 XOR(异或) 两个相同的数进行异或运算的结果一定为0 一次性密码本 即使可以遍历整个密码空间,遍历解密得到明文,也无法确认哪个是正确的明文 一次性密码是无条件安全的,在理论上是无法破译的 不实用: 密钥在两边配送 密钥保存 密钥重用 密钥同步 密钥生成 DES DES是一种将64位明文加密成64位密文的对称密码算法 密钥长度是56bit(64bit,每隔7位有1bit错误检验bit) 轮: 将输入的数据(64bit)等分为左右两部分