数据加密

网络安全-数据加密技术

折月煮酒 提交于 2019-12-01 18:35:40
总结来源: 《计算机网络信息安全及应对策略研究》 衷奇 一、数据加密   数据加密就是对传输中的数据流加密,可以使用线路加密和端对端加密两种方法。 线路加密不考虑源加密传输线路。端对端加密则是使用者用加密软件在端的两头进行加密工作,然后进入TCP/IP数据包封装穿过互联网。   最常用的加密技术有对称加密技术和非对称加密技术。 二、对称加密 在对称加密技术中,对信息的加密和解密都使用相同的密钥,和一把钥匙开一把锁同理。 不足:如果交换一方有N个交换对象,那么他就要维护N个私有钥匙。 三、非对称加密   在非对称加密体系中,密钥被分解为(即公钥和私钥)。这对密钥中任何一把都可以作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把作为私有密钥(解密密钥)加以保存。 不足:公开密钥难以鉴别发送者。可配合数字签名机制使用。数字签名机制提供的鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。 来源: https://www.cnblogs.com/Neavotre/p/11712447.html

加密类型、数据加密解密过程以及CA创建

岁酱吖の 提交于 2019-12-01 10:25:01
对称加密算法 1 对称加密:加密和解密使用同一个密钥 2 DES:Data Encryption Standard,56bits 3 3DES: 4 AES:Advanced (128, 192, 256bits) 5 Blowfish,Twofish 6 IDEA,RC6,CAST5 7 特性: 8 1、加密、解密使用同一个密钥,效率高 9 2、将原始数据分割成固定大小的块,逐个进行加密 10 缺陷: 11 1、密钥过多 12 2、密钥分发 13 3、数据来源无法确认 非对称加密算法 1 公钥加密:密钥是成对出现 2 公钥:公开给所有人;public key 3 私钥:自己留存,必须保证其私密性;secret key 4 特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然 5 功能: 6 数字签名:主要在于让接收方确认发送方身份 7 对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方 8 数据加密:适合加密较小数据 9 缺点:密钥长,加密解密效率低下 10 算法: 11 RSA(加密,数字签名) 12 DSA(数字签名) 13 ELGamal 单向散列(hash算法) 1 将任意数据缩小成固定大小的“指纹” 2 任意长度输入 3 固定长度输出 4 若修改数据,指纹也会改变(“不会产生冲突”) 5 无法从指纹中重新生成数据(“单向”) 6 功能:数据完整性 7

关于数据加密问题(4)

北慕城南 提交于 2019-11-29 19:40:50
关于数据加密问题 本文介绍rsa,aes加密方式。rsa是一种非对称加密算法,使用rsa加密需要一对密钥-公钥,私钥,公钥公开,私钥只能自己知道。 关于rsa存在两种使用方式。aes是一种对称加密方式,加密与解密使用同一种密钥即可。 1.公钥加密私钥解密 设备a存在公钥与私钥,将公钥开放给设备b,b设备需要发送数据,使用公钥加密数据,加密后的数据只能通过私钥解密,只有a设备存在私钥,所以b使用公钥加密的数据即使被其他设备截获,也破解不出来其中的信息,保证了数据的不可截获性。防止信息泄露。 2.私钥加密公钥解密 设备a存在公钥与私钥,设备a需要发送数据给b,设备a,将数据通过私钥加密,形成签名,和数据内容本身发送给设备b,b收取到信息后,使用公钥解密数据与数据本身比较,可以查看数据是否被篡改。可防止信息被篡改。 一.在线验证rsa加密算法 在线验证地址: 点击这里 1.生成一对密钥 2.使用公钥加密数据 3.使用私钥解密 注意:公钥加密后的数据进行了base64编码输出了。 代码部分,非对称密钥较复杂,查看源码实现,后续在看。 二.aes加密方式 1.在线实现加密解密 在线加密 点击这里 2.使用mbedtls验证aes-ECBmo模式加密解密 #include<stdio.h> #include<stdlib.h> #include<string.h> #include

PHP+JS+rsa数据加密传输

你。 提交于 2019-11-29 18:14:01
(已过时,请勿使用.建议用openssl扩展,私钥-公钥每次请求时候即时生成,私钥存放于SESSION或数据库等,公钥返回客户端.防止重放攻击,否则加密没有意义.) JS端代码: //文件base64.js: var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var b64pad="="; function hex2b64(h) { var i; var c; var ret = ""; for(i = 0; i+3 <= h.length; i+=3) { c = parseInt(h.substring(i,i+3),16); ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63); } if(i+1 == h.length) { c = parseInt(h.substring(i,i+1),16); ret += b64map.charAt(c << 2); } else if(i+2 == h.length) { c = parseInt(h.substring(i,i+2),16); ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4); }

公钥、私钥和证书

喜你入骨 提交于 2019-11-28 13:21:21
理解公钥和私钥首先要区分 加密 和 认证 这两个概念! 加密和认证 加密是将数据资料加密,使别人即使获取加密数据,也无法获取正确的资料内容,重点在于数据的安全性。 认证是是确定数据的真实发送方,使别人无法伪造或冒充,重点在于用户的真实性。 公钥和私钥 公钥和私钥通常称非对称加密(又称 不对称加密) 使用公钥和私钥的目的是为了安全的数据传输,必须实现如下目的: 发送方将数据加密,在数据传输过程中不能被别人看到真实数据内容 接收方能确定数据是发送方发送的数据,不是别人冒充。 首先解释公钥和私钥的意义和作用: 公钥:是公布出去给别人用的,可以被很多人获取。用来加密和验签 私钥:只能自己持有,并且不可以被其他人知道,用来解密和签名 公钥和私钥的作用:公钥加密私钥解密数据,私钥加密公钥解密。 公钥和私钥有以下原则:(密钥包括公钥和私钥) 一个公钥对应一个私钥 密钥对中,让大家都知道的是公钥,自己知道是私钥 如果用其中一个密钥加密数据,则只有对应的那个密钥才能解密 如果用其中一个密钥可以进行解密数据,则该数据必然由对应密钥进行加密 要达到数据安全传输的目的,必须发送方和接收方都持有对方的公钥和自己私钥,即任意一方持有自己的私钥和对方的公钥。 为了数据的安全性,A需要使用B的公钥来给数据加密,这样只有B的私钥才可以解密数据,这样保证了数据的安全性,这是数字签名。 为了保证数据发送方的真实性

Base64加密工具

笑着哭i 提交于 2019-11-27 22:10:48
正常来将加密基本上永远都要伴随着解密,所谓的加密或者解密,往往都需要有一些规则,在JDK1.8开始,提供有新的加密处理操作类,Base64处理类 --Base64类   在该类之中存在两个内部类:Base64.Base64.Decoder以及Base64.enBase64.Encoder,分别进行加密和解密处理 进行加密处理:byte[] decode(byte[] src) 进行解密处理:byte[] encode(byte[] src) --范例:进行数据加密示例 1 public class MyBase64 { 2 public static void main(String[] args) { 3 String message = "你好,这是一条消息"; //要发送的消息内容 4 Base64.getEncoder().encode(message.getBytes()); //数据加密 5 System.out.println(new String(Base64.getEncoder().encode(message.getBytes()))); 6 } 7 } --运行结果 5L2g5aW9LOi/meaYr+S4gOadoea2iOaBrw== Process finished with exit code 0 --进行解密操作 public class

Java Web学习(二)数据加密

拟墨画扇 提交于 2019-11-27 13:13:46
一、Tomcat 体系 首先通过一幅图来了解下tomcat的运行体系: Tomcat服务器的启动是基于一个 server.xml 文件的。 启动流程: 首先启动一个Server,Server里面就会启动Service,Service里面就会启动多个"Connector(连接器)",每一个连接器都在等待客户机的连接。 当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)去处理。 Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host。 Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context。 二、互联网上的加密原理 对称加密 定义: 采用单钥密码系统的加密方法, 同一个密钥可以同时用作信息的加密和解密 ,也称为 单密钥加密 。 使用场景: 由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。(如验证码,密码校验) 常用加密方式: DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES算法等 非对称加密 定义: 非对称加密算法需要一对密钥:公开密钥(publickey)和私有密钥(privatekey)。 实现过程: (PS

演示一个TDE的数据加密示例,并用logminer验证加密效果

﹥>﹥吖頭↗ 提交于 2019-11-26 20:34:37
1.创建一个加密钱包文件夹 [ oracle@yft ~ ] $ mkdir - p $ORACLE_HOME / admin / $ORACLE_SID / wallet 2.开启透明数据机密功能 [ oracle@yft ~ ] $ cd / u01 / app / oracle / product / 11.2 . 0 / db_1 / network / admin / [ oracle@yft admin ] $ ls samples shrept.lst sqlnet.ora tnsnames1305116AM1948.bak tnsnames.ora [ oracle@yft admin ] $ view sqlnet.ora # sqlnet.ora Network Configuration File : / u01 / app / grid / product / 11.2 . 0 / grid / network / admin / sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT) ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE )(METHOD_DATA