对称密钥

加解密算法

匿名 (未验证) 提交于 2019-12-03 00:25:02
算法类型 特点 优势 缺陷 代表算法 非对称加密 加解密密钥不相关 无需提前共享密钥 计算效率低,仍存在中间人攻击可能 RSA、ElGamal、椭 圆曲线系列算法 对称加密 加解密密钥相同或可推算 计算效率高,加密强度高 需提前共享密钥;易泄露 DES、3DES、 AES、IDEA 对称加密(Symmetric Cryptography),又称私钥加密 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。 对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。 因为密钥越大,加密越强,但加密与解密的过程越慢。 如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解; 但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。 密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。 非对称加密(Asymmetric Cryptography),又称公钥加密 1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议, 允许在不安全的媒体上的通讯双方交换信息

密码体制(加密算法)

匿名 (未验证) 提交于 2019-12-03 00:19:01
密码体制分类方法有三种: 根据密码算法所用的密钥数量一般分为两类:非对称密码体制,对称密码体制 根据对明文信息的处理方式可将对称密码体制分为分组密码(DES、AES、IDEA、RC6)和序列密码(RC4、A5、SEAL) 根据是否能进行可逆的加密变换可以分为单项函数密码体制(MD4、MD5、SHA-1)和双向变换密码体制 对一个提供保密服务的密码系统,他的加密密钥和解密密钥相同,或者虽然不相同,但是其中一个的任意一个可以很容易的导出另外一个,那么这个系统采用的就是对称密钥体制 优点: - 加解密速度快 - 效率高 - 算法安全性高 缺点: - 密钥分发过程复杂,所花代价大 - 密钥管理量困难(实现n个用户两两保密通信,每个用户需要安全获取并保管(n-1)个密钥) - 保通信系统开放性差 - 存在数字签名的困难性(通信双方拥有相同的秘密信息,接收方可以伪造数字签名,发送方可以抵赖) DES、AES、IDEA、RC6 对一个提供保密服务的密码系统,他的加密算法和解密算法分别用不同的密钥实现,并且加密密钥不能推导出解密密钥,那么这个系统采用的就是非对称密钥体制。 每一个用户有一对密钥,用公钥加密,私钥解密 优点: - 密钥分配简单 - 密钥量少,容易管理 - 系统开放性好 - 可以实现数字签名 缺点: - 加密、解密运算复杂 - 处理速度较慢 - 同等安全强度下

小程序登录的AES加密解释

匿名 (未验证) 提交于 2019-12-03 00:12:02
前情回顾 通过wx.getUserInfo()的success回调得到的加密数据( encryptedData ) 对加密数据( encryptedData )解密后可得到openId和unionId。 如何解密,官方文档是这样解释的! 首次看到如上解密说明时,我只知道encryptedData和session_key获得方式。 session_key在上篇有介绍,如下: 获得session_key和openId(加解密、签名系列) 产生的疑问: 1:AES是什么? 2:128是什么? 3:CBC是什么? 4:初始向量iv是做什么用的? 5:数据采用PKCS#7填充什么意思? 6:1,2,3,4条分别说明的算法,密文,密钥,初始向量iv如何组合使用? 7:Base64_Decode又是什么? 1. AES是什么? 美国国家标准技术研究所在2001年发布了高级加密标准(AES)Advanced Encryption Standard。 AES是基于数据块的加密方式, 即,每次处理的数据是一块(16字节),当数据不是16字节的倍数时填充, 这就是所谓的分组密码(区别于基于比特位的流密码),16字节是分组长度。 AES是一个对称分组密码算法。 1 在这里简单介绍下对称加密算法与非对称加密算法的区别。 对称加密算法 加密和解密用到的密钥是相同的,这种加密方式加密速度非常快

密钥运用小实例

匿名 (未验证) 提交于 2019-12-03 00:09:02
一、非对称密码运用 1、# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch (下载公钥) # vim /etc/yum.repos.d/elasticsearch.repo [elasticsearch-2.x] name=Elasticsearch repository for 2.x packages baseurl=http://packages.elastic.co/elasticsearch/2.x/centos gpgcheck=1 (红帽公司私钥加密好,再用公钥解密) gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 2、要求把211机子 /etc/fstab 文件加密传到132机子 ,只能由132解开。 [root@elk-node1 ~]# gpg --gen-key gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent

信息的加密与解密

匿名 (未验证) 提交于 2019-12-03 00:05:01
信息的加密现有两种 对称加密:使用同一个密钥对信息进行加密和解密称为对称加密。 使用场景:A与B共同约定并存储一个密钥。 A -> B: A 使用密钥对数据进行加密后得到加密的信息发送给 B,B 使用该密钥对加密的信息进行解密,得到原始信息。 B -> A: B 使用密钥对数据进行加密后得到加密的数据发送给 A,A 使用该密钥对加密的数据进行解密,得到原始数据。 优点:加密解密速度快。 缺点: 相对不安全,由于 AB 双方使用的是同一个密钥进行加密解密,任何一方的密钥泄漏,整个加密解密过程就暴露了。 在与多方进行通信的时候必须使用不同的密钥,多个密钥造成密钥管理困难。如果 A 与 B 通信时和 A 与 C 通信时使用的是同一个密钥,那么如果 C 获取到了 A 与 B 通信时加密的信息就可以使用密钥进行解密,造成 A 与 B 之间信息的泄露。 非对称加密:加密和解密使用不同的密钥。如果加密使用的是公钥,那么就必须要私钥来解密。如果加密使用的是私钥,必须要公钥进行解密。在此需要先了解公钥、私钥这两个概念。 公钥:供给别人使用的密钥,使用公钥对信息加密的过程称之为加密,主要目的为防止信息传输过程中的泄漏。因为用于解密的私钥只有自己拥有。 私钥:供给自己使用的密钥,使用私钥对信息加密的过程称之为签名,主要目的是为了确保信息是由自己发出的

Hadoop3.1.1结合Ranger1.1.0、Ranger-KMS1.1.0创建加密区存储

匿名 (未验证) 提交于 2019-12-02 23:55:01
文章目录 HDFS加密 AES加密算法(对称加密) RangerKMS管理 HDFS“静态数据”加密 HDFS加密概述 配置和使用HDFS“静态数据”加密 准备环境 创建加密密钥 创建加密区域 上传、下载、读取加密区中文件 HDFS加密 静态加密的HDFS数据实现了对HDFS读取和写入数据的端到端加密。端到端加密意味着数据仅由客户端加密和解密。其中的加/解密过程对于客户端来说是完全透明的。数据在客户端读操作的时候被解密,当数据被客户端写的时候被加密,所以HDFS服务端本身并不是一个主要的参与者。形象地说,在HDFS服务端,你看到的只是一堆加密的数据流。HDFS无法访问未加密的数据或密钥。 AES加密算法(对称加密) HDFS加密方式:AES加密算法 密钥K: 用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏, 通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,实际中,一般是通过RSA加密AES的密钥,传输到接收方,接收方解密得到AES密钥,然后发送方和接收方用AES密钥来通信。 或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。 AES加密函数: 设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说

接口请求 URL转码

匿名 (未验证) 提交于 2019-12-02 23:45:01
ʲô 是 URL转码 不管是以何种方式传递 url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。 尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。 如图所示,访问接口参数我传递参数为 1+1 结果浏览器显示结果为 1 1 很明显 '+' 被转化成了空格。 转码之前访问: 如果别人调用你接口传递的参数如果有特殊字符,那么你就需要进行转码进行处理,不然就会导致参数错误,如上图所示。 解决方案: public static void main(String[] args) { //转码方法 String encode = URLEncoder.encode("1+1"); System.out.println("转码:" + encode); //解码方法 String decode = URLDecoder.decode(encode); System.out.println("解码:" + decode);} 控制台输出结果:转码:1%2B1 解码:1+1转码之后访问: url特殊符号及对应的编码: 符号 url中的含义 编码 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 /

对称加密和非对称加密

廉价感情. 提交于 2019-12-02 23:20:47
对称加密 什么是对称加密? 对称加密就是指,加密和解密使用同一个密钥的加密方式。 对称加密的工作过程 发送方使用密钥将明文数据加密成密文,然后发送出去,接收方收到密文后,使用同一个密钥将密文解密成明文读取。 对称加密的优点 加密计算量小、速度块,适合对大量数据进行加密的场景。 常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。 对称加密的两大不足 密钥传输问题:如上所说,由于对称加密的加密和解密使用的是同一个密钥,所以对称加密的安全性就不仅仅取决于加密算法本身的强度,更取决于密钥是否被安全的保管,因此加密者如何把密钥安全的传递到解密者手里,就成了对称加密面临的关键问题。(比如,我们客户端肯定不能直接存储对称加密的密钥,因为被反编译之后,密钥就泄露了,数据安全性就得不到保障,所以实际中我们一般都是客户端向服务端请求对称加密的密钥,而且密钥还得用非对称加密加密后再传输。) 密钥管理问题:再者随着密钥数量的增多,密钥的管理问题会逐渐显现出来。比如我们在加密用户的信息时,不可能所有用户都用同一个密钥加密解密吧,这样的话,一旦密钥泄漏,就相当于泄露了所有用户的信息,因此需要为每一个用户单独的生成一个密钥并且管理,这样密钥管理的代价也会非常大。 AES加密 AES加密算法就是众多对称加密算法中的一种,它的英文全称是Advanced

python 各种加密

匿名 (未验证) 提交于 2019-12-02 22:54:36
加密学习 对称加密 对称密钥加密 , 又叫私钥加密。即信息发送的方和接受方用一个密钥去加密和揭秘数据。 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换句话说就是 如何把密钥发送到需要解密你的消息的人手里的问题。在发送密钥的过程中, 密钥有很大的风险被黑客拦截。 现实中的做法是将对称加密的密钥进行非对称加密然后传给需要他的人。 非对称加密 1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3) 银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6) 银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 (三)总结 (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。 python3

python笔记43-加解密AES/CBC/pkcs7padding

匿名 (未验证) 提交于 2019-12-02 22:51:30
有些公司对接口的安全要求比较高,传参数的时候,不会明文的传输,先对接口加密,返回的数据也加密返回。 目前比较常见的加密方式是AES/CBC/pkcs7padding。 在AES加密时,一般使用了“AES/ECB/NoPadding”或“AES/ECB/PKCS5padding” 或 “AES/ECB/PKCS5padding” 的模式 使用AES加密的ECB模式,显式指定加密算法为:CBC或CFB模式,可带上PKCS5Padding填充。AES密钥长度最少是128位,推荐使用256位 AES-ECB模式加密在加密和解密是需要一个初始化向量(Initialization Vector, IV),在每次加密之前或者解密之后,使用初始化向量与明文或密文异或。 分组密码有五种工作体制: 1.电码本模式(Electronic Codebook Book (ECB)); 2.密码分组链接模式(Cipher Block Chaining (CBC)); 3.计算器模式(Counter (CTR)); 4.密码反馈模式(Cipher FeedBack (CFB)); 5.输出反馈模式(Output FeedBack (OFB)) AES算法是典型的【对称加密算法】,所谓对称加密,就是加密和解密的秘钥是一样的 一般我们做接口自动化测试的时候,接口都是java写的,所以先得了解下java的加密方式