对称密钥

密码学总结(一)

二次信任 提交于 2020-03-07 23:56:59
一、密码常识 1.1 信息安全面临的问题以及解决方案 记住: 不要过于依赖密码保证信息安全,因为任何密码都会有被破解的一天; 不要使用低强度的密码; 不要使用保密的密码算法; 信息安全是一个系统的问题,密码只是信息安全的一部分; 1.2 加密三要素 明文和密文:加密处理的数据。 秘钥(key):用于生成明文的一串数字。 算法(algorithm):用于解决复杂问题的步骤。从明文生成密文的步骤,也就是加密的步骤,称为“加密算法",而解密的步骤则称为“解密算法"。 1.3 凯撒密码 恺撒密码(Caesar cipher)是一种相传尤利乌斯·恺撒曾使用过的密码。恺撒于公元前100年左右诞生于古罗马,是一位著名的军事统帅。 恺撤密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密的。 为了讲解方便,我们用小写字母(a,b,c,…)来表示明文,用大写字母(A,B,C,…)来表示密文。 现在我们将字母表平移3个字母,于是,明文中的a在加密后就变成了与其相隔3个字母的D,以此类推。b变成E,c变成F,d变成G…v变成Y,w变成Z,而x则会回到字母表的开头而变成A,相应地,y变成B,z变成C。通过下图我们可以很容易地理解“平移"的具体工作方式。 比如英文 hello ,加密后的数据变为 KHOOR 。 恺撒密码的解密过程是使用与加密时相同的密钥进行反向的平移操作。比如上面例子

数字证书简介及Java编码实现

旧时模样 提交于 2020-03-07 02:22:06
数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此, 私钥也可以认为是个人身份的证明。 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。 2.消息摘要 消息摘要可以将消息哈希转换成一个固定长度的值唯一的字符串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。 该过程不可逆 ,即不能通过摘要反推明文(似乎SHA1已经可以被破解了,SHA2还没有。一般认为不可破解,或者破解需要耗费太多时间,性价比低)。 利用这一特性, 可以验证消息的完整性。 消息摘要通常用在数字签名中,下面介绍用法。 了解基础知识之后,就可以看一下数字签名和数字证书了。 3.数字签名 假设现在有通信双方A和B,两者之间使用两套非对称加密机制。 现在A向B发消息。 那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的,信息不正确。 要解决两个问题:1. A的身份认证 2. A发送的消息完整性

对称加密和非对称加密

佐手、 提交于 2020-03-04 17:29:05
(一)对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key) 。对称加密有很多种算法,由于它 效率很高 ,所以被广泛使用在很多加密协议的核心当中。 优点 简单快捷,密钥较短,且破译困难。 缺点 如果用户一旦多的话,管理密钥也是一种困难。不方便直接沟通的两个用户之间怎么确定密钥也需要考虑,这其中就会有密钥泄露的风险,以及存在更换密钥的需求。 对称加密通常有 DES,IDEA,AES,3DES 加密算法。 (二)非对称加密(Asymmetric Cryptography) **非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。**私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。 缺点 加解密比对称加密耗时. 优点 比对称加密安全. 但是非对称加密也是存在漏洞,因为公钥是公开的,如果有 C 冒充 B 的身份利用 A 的公钥给 A 发消息,这样就乱套了,所以接下来就采用非对称加密+摘要算法+数字签名的机制来确保传输安全。 常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie

黑马程序员数据加密学习

孤街浪徒 提交于 2020-03-04 12:14:32
---------------------- Windows Phone 7手机开发 、 .Net培训 、期待与您交流! ---------------------- 对称加密算法: 对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。 对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。 非对称加密算法: 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称密码体制的特点: 算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快

SSL协议详解

好久不见. 提交于 2020-03-04 11:05:15
   背景介绍   最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。   在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。   1、密码学的相关概念 密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。 明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。 密文(cipher text):明文消息经过某种编码后,得到密文消息。 加密(encryption):将明文消息变成密文消息。 解密(decryption):将密文消息变成明文消息。 算法:取一个输入文本,产生一个输出文本。 加密算法:发送方进行加密的算法。 解密算法:接收方进行解密的算法。 密钥(key):只有发送方和接收方理解的消息 对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。 非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥。   2、相关的加密算法介绍   DES算法即数据加密标准,也称为数据加密算法。加密过程如下:   在SSL中会用到分组DES、三重DES算法等加密算法对数据进行加密。当然可以选用其他非DES加密算法,视情况而定,后面会详细介绍。   3、密钥交换算法   使用对称加密算法时

RSA 算法简述

末鹿安然 提交于 2020-03-04 00:36:55
RSA是什么 计算机的加密技术分为对称加密和非对称加密两类。在对称加密中,信息的加解密使用同一秘钥key,其可简化加解密的过程,较为简单,但不足之处在于由于加解密使用同一个key,信息传送双方都要接触这个key,密钥key更容易泄露。 在公开密钥加密即非对称加密中,密钥分为公钥PK(发送方通过PK对数据加密,然后发送给接收方,PK可公开),私钥SK(SK解密方保存,接收方通过SK对密文解密,SK不公开)。RSA公钥密码体制是最具代表性的非对称加密方式。 RSA算法原理 RSA定理:若P和Q是两个相异质数,另有正整数D和E,其中E的值与 (P-1)(Q-1)的值互质,并使得DE%(P-1)(Q-1)=1,有正整数M,且M<PQ,设: C=ME%PQ,B=CD%PQ,则有M=B。 生成公钥和密钥 随意选择两个大的素数P和Q,且P不等于Q 令N=PQ 令T=(P-1)(Q-1) 选择一个整数E,作为一个密钥,使E与T互质(即E与T的最大公约数为1),且E必须小于T 由公式DE%T=1,计算得到D的值,作为另一密钥 将(N,E)作为公钥,(N,D)作为私钥,当然也可互换。 用公钥加密信息 发送方收到公钥(N,E)后,通过公钥对数据进行加密,操作如下: 明文:M 加密:ME%N=C 密文:C 用私钥解密信息 接收方收到密文C后,通过私钥(N,D)进行解密,得到明文M,操作如下: 密文:C

PKI详解

╄→尐↘猪︶ㄣ 提交于 2020-03-03 13:36:26
预备: 一、密码基元 二、密钥管理 三、PKI本质是把非对称密钥管理标准化 PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。 数字证书分类 一、 什么是PKI? 官方定义:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准的密钥管理平台,它的基础是加密技术,核心是证书服务,支持集中自动的密钥管理和密钥分配,能够为所有的网络应用提供加密和数字签名等密码服务及所需要的密钥和证书管理体系。 通俗理解:PKI就是利用公开密钥理论和技术建立提供安全服务的、具有通用性的基础设施,是创建、颁发、管理、注销公钥证书所涉及的所有软件、硬件集合体,PKI可以用来建立不同实体间的"信任"关系,它是目前网络安全建设的基础与核心。PKI的主要任务是在开放环境中为开放性业务提供基于非对称密钥密码技术的一系列安全服务,包括身份证书和密钥管理、机密性

对称加密和非对称加密

自闭症网瘾萝莉.ら 提交于 2020-03-02 14:31:03
一:基础概念 A 和 B 要把他们的通信内容加密, 如果A/B使用相同的加密解密key,那这就是 对称加密。 对称加密最大的问题就是A和B之间的加密/解密key必须是唯一的。也就是如果A和C 要加密通信,同时还不想让C知道A/B之间的通信内容。那么A/C之间的加密/解密用的key就不能和A/B之间的一样。 链接一旦便多,这种机制将很难管理大量的key。 非对称加密 就是在此环境下诞生的。非对称加密有公钥和私钥。公钥随意公开,私钥自己私密保存。 比如 A 把公钥发给B, C。 当B,C与A通信时,先把约定好的见面信号用公钥加密,A收到后,用私钥解密,当解密后的数据就是提前约定好的见面信号的话,A 就认为B,C是受信链接。 如果此时D也给A发送信息,但却没有正确的公钥。A就无法得到正确的见面信号,就不会受理D的请求。 二:对称加密 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密 也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高 对称加密算法在电子商务交易过程中存在几个问题: 1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥

最强加密算法?AES加解密算法Matlab和Verilog实现

房东的猫 提交于 2020-03-01 16:14:31
目录 背景 AES加密的几种模式 基本运算 AES加密原理 Matlab实现 Verilog实现 Testbench 本文首发于公众号【两猿社】,重点讲述了AES加密算法的加密模式和原理,用MATLAB和Verilog进行加解密的实现。 美剧《硅谷》第六季居然已经完结了!小猿追了6年的剧就这么结束了,然而结局感觉并不那么喜剧。比尔·盖茨和Twitter前CEO也在最后一集本色出演了。 《硅谷》每一季的内容都紧跟当时科技前沿,最后一季也不例外,焦点聚集于信息安全。经过Richard升级之后的超级AI—Son of Anton2.0,因为能自动破解现存世界上任何一种加密算法,使得世界上再无隐私可言,而迫使Pied Piper宣布解散,至此全季终。剧中提到了一种加密算法:ECC P-256。 ECC是椭圆曲线密码学(Elliptic Curve Cryptography)的简称,而P-256是“P-256”椭圆曲线。 听上去挺唬人,这个P-256加密安全性怎么样呢? 早在2011年,美国国家标准技术研究院(NIST)审查了有关攻击密码算法的学术文献,并对不同算法提供的实际安全性提出了建议。 可以看到,P-256的安全性和AES-128等同。在同等密钥长度密钥条件下,AES的加密安全性超过Hash、RSA和ECC。 AES加密究竟是个什么算法呢? 废话不多说,我们直接进入正题!

加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较

末鹿安然 提交于 2020-02-29 17:15:20
转载自:http://www.cnblogs.com/sochishun/p/7028056.html 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 加密技术通常分为两大类:"对称式"和"非对称式"。 对称性加密算法: 对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。 非对称算法: 非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。 散列算法: 散列算法,又称哈希函数,是一种单向加密算法。在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的"散列"或"消息摘要"(Message digest)。散列算法不算加密算法,因为其结果是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名。 对称性加密算法有