密码学

加密算法(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)。散列算法不算加密算法,因为其结果是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名。 对称性加密算法有

《现代密码学》习题

被刻印的时光 ゝ 提交于 2020-02-29 04:54:56
第一章 1.1949年,Shannon发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成为一门科学。 2.一个加密系统至少由明文、密文、加密算法、解密算法和密钥组成,其安全性是用密钥决定的。 3.计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译他的所需要的代价超出了破译者的破译能力(时间、空间、资金等资源),那么该密码系统的安全性是 计算安全。 4.根据密码分析者所掌握的分析资料的不同,密码分析一般可以分为4类:唯密文攻击、已知明文攻击、选择明文攻击,选择密文攻击,其中破译难度最大的是选择密文攻击。 5.1976年,Diffie和Helman在《密码学的新方向》中提出立了公开密钥密码的思想,开创了现代密码学的新领域。 6.密码学发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。 7.密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8.一个保密系统一般是明文、密文、密钥、加密算法和解密算法五部分组成的。 9.密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10.对称密码体制又称为秘密密钥体制,包括分组密密码和序列密码。 第二章 1.字母频率分析法对单表带换密码算法最有效。 2.希尔密码算法抵御频率分析攻击能力最强,而对已知明文攻击最弱。 3

FHE、MPC、zk-SNARK有何不同

╄→尐↘猪︶ㄣ 提交于 2020-02-29 01:44:00
隐私计算技术是密码学的一个前沿发展方向,填补了数据在计算环节隐私性问题的空白,将基于密码学的信息安全体系打造成完整的闭环,为云计算、分布式计算网络和区块链等技术的应用提供隐私性基础。本专题将简述隐私计算技术,并分析其起源、技术方向与应用前景。 随着信息技术的不断发展,数据逐渐成为政府、企业与个人的重要资产,其发掘、存储、处理与使用变得愈发重要,逐渐产生了隐私性需求。隐私计算,是一类数据或计算方法保持加密状态,不泄露给其他合作方的前提下,进行计算合作的技术,其出现填补了密码学出现以来在信息的处理和使用环节的空白。 目前阶段,密码学层面的隐私计算主要有全同态加密、多方安全计算、零知识证明等主要的技术方向。   满足同态性的加密函数能够实现在不解密原始数据的前提下对加密数据进行某一运算,提供了对加密数据的计算能力。全同态加密算法则是指给定任意一种运算规则,可以通过算法构造出对加密数据的相应运算规则,并满足同态性。全同态加密是相对基础性的隐私计算技术,应用范围较广,但其目前计算效率较低,并存在一定局限性。   安全多方计算解决如何在参与计算的各方不泄露自身输入、且没有可信第三方的情况下安全地计算约定的函数并得到可验证结果的问题。安全多方计算主要解决的主要目的是解决互不信任的参与方在保护隐私的前提下协同计算的难题。其自身同样存在局限性,不能保证参与者的诚实度,也无法阻止参与者恶意输入。  

DotNet加密方式解析--对称加密

ⅰ亾dé卋堺 提交于 2020-02-28 15:02:56
离过年又近了一天,回家已是近在咫尺,有人欢喜有人愁,因为过几天就得经历每年一度的装逼大戏,亲戚朋友加同学的各方显摆,所以得靠一剂年终奖来装饰一个安稳的年,在这里我想起了一个题目“论装逼的技术性和重要性”。 都是老司机了,不扯淡,站在外面的都进来,然后请后面的把门关一下,我们接着出发。 上一篇主要介绍.NET的散列加密,散列算法主要用于签名等操作,在我们的项目中,如果对加密没有特别的要求,一般都是采用的对称加密方式,因为这种加密方式相较其他加密方式较为简单,但是这种加密方式比较的高效,所以今天就介绍一下.NET的对称加密方式。 一.DotNet对称加密概述: 对称加密是采用单密钥加密方式,这也就意味着加密和解密都是用同一个密钥。根据密码学的相关定义,对称加密系统的组成部分有5个,分别是明文空间,密文空间,密钥空间,加密空间,解密算法。接下来用一个示意图来表示一下: DotNet对称加密算法的核心是一个密码函数,该函数将固定大小的消息数据块(纯文本)转换成加密数据库(加密文本)。转化为加密文本或重建为纯文本都需要密钥,加密是可逆的,或者说是双向的过程,可以使用密钥来反转加密效果并重建纯文本。 大多数对称加密算法是在不同的密码模式下运行,在密码函数处理数据之前,这些模式指定了准备这些数据的不同方式。密码模式有:电子代码薄模式,密码块链接,密码反馈模式。 有关块值填充的内容在下面会讲解到。

TLS加密传输、CA、证书

痞子三分冷 提交于 2020-02-24 20:13:12
文章目录 密码学背景 对称加密 非对称加密 证书 概念 证书标准 密码学背景 对称加密 非对称加密 证书 概念 证书是由CA签发的对用户公钥的凭证。 证书标准 X.509 数字证书标准 来源: CSDN 作者: 写到天黑的小白 链接: https://blog.csdn.net/lxb122435677/article/details/104478359

密码学关键总结

孤街浪徒 提交于 2020-02-18 03:39:14
在上一章,我介绍了密码学的来龙去脉,这一章将会围绕对称加密和非对称加密进行原理的分析,且,各举一个工作算法对它们的工作原理进行一些简单的解析; 1. 对称加密: ​ 对称加密主要有三种: AES DES IDEA ,今天就主要讲下AES 的工作原理和解密方式; **1.1 AES算法: ** 1.1.1 AES 加密: ​ DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。 ​ DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程图如下: ​ 其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表: 58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4, 62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8, 57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3, 61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7, ​ 即将输入的第58位换到第一位,第50位换到第2位,…

iOS 密码学一

天大地大妈咪最大 提交于 2020-02-13 19:08:32
文章目录 MD5加盐和HMAC 加密部分 一个故事讲完https 对称加密的经典算法 2种加密的方式 终端操作加密的命令 MD5加盐和HMAC 123+一堆乱七八糟的东西,前后中间随便加,让别人无法直接破解123 盐的不足之处:1.这个盐是固定的,只要是开发者都得知道这个盐(iOS端,Android端,服务器端)如果泄漏出去就能破戒掉。 2.盐写死了,1.0写入已经对密码加密了,2.0版本如果要改,就不能改了。 HMAC:使用广泛,给定一个密钥,做明文和密钥的拼接,然后做2次MD5的计算。 加密部分 加密算法 —Hash 散列函数。是不可逆的 加密算法不应该都是不可逆的。 以下两种算法是可逆的 1.对称加密 传统的加密算法 加密和解密都使用一个密钥。密钥的保密工作非常重要。 2.非对称加密RSA(现代加密算法) 有公钥和私钥:1.用公钥加密,私钥解密。2.用私钥加密,公钥解密 明文>加密-密文 密文>解密-明文 一个故事讲完https A和B网络聊天,相隔很远,有一天他们突然发现,他们一直是在明文聊天,相当于在网上裸奔,如果任何一个不怀好意的人,都可以监听他们的聊天内容,打开他们传输的数据包,窥探他们的隐私。 A和B就商量做一个数据加密! 逻辑是:发送信息之前,加密;B收到的时候进行解密。 这时对称加密。问题就来了,他们需要先约定一个密钥,约定密钥的过程也会被监听。

【密码学】RSA算法原理

£可爱£侵袭症+ 提交于 2020-02-13 07:51:43
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对 密钥 ,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及三个参数,n、e1、e2。 其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。 e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1) 互质 ;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1。 (n,e1),(n,e2)就是密钥对。其中(n,e1)为 公钥 ,(n,e2)为私钥。[1] RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e2 mod n;B=A^e1 mod n;(公钥加密体制中,一般用公钥加密,私钥解密) e1和e2可以互换使用,即: A=B^e1 mod n;B=A^e2 mod n; 来源: https://www.cnblogs.com/qiuxiangmuyu/p/6491761.html

Hash算法(含python实现)

一个人想着一个人 提交于 2020-02-10 07:26:18
1. 简介 哈希(hash)也翻译作散列。Hash算法,是将一个不定长的输入,通过散列函数变换成一个定长的输出,即散列值。 这种散列变换是一种单向运算,具有 不可逆性 即不能根据散列值还原出输入信息,因此严格意义上讲 Hash算法是一种消息摘要算法 ,不是一种加密算法。常见的hash算法有:SM3、MD5、SHA-1等 。 2. 应用 Hash主要应用在数据结构以及密码学领域。 在不同的应用场景下,hash函数的选择也会有所侧重。比如在管理数据结构时,主要要考虑运算的 快速性 ,并且要保证hash 均匀分布 ;而应用在密码学中就要优先考虑 抗碰撞性 ,避免出现两段不同明文hash值相同的情况发生。 2.1 在密码学领域的应用 在密码学中,Hash算法的作用主要是用于消息摘要和签名,换句话说,它主要用于对整个消息的完整性进行校验。比如一些登陆网站并不会直接明文存储用户密码,存储的是经过hash处理的密码的摘要(hash值),当用户登录时只需要对比输入明文的摘要与数据库存储的摘要是否相同;即使黑客入侵或者维护人员访问数据库也无法获取用户的密码明文,大大提高了安全性。 2.2 在数据结构中的应用 使用Hash算法的数据结构叫做哈希表,也叫散列表,主要是为了提高查询的效率。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数就是hash函数,存放记录的数组叫做哈希表