密码学

AES加密算法详解

点点圈 提交于 2020-01-27 03:55:51
简介 为比利时密码学家 Joan Daemen 和 Vincent Rijmen 所设计,又称 Rijndael 加密算法 常用填充算法:PKCS7 常用分组工作模式:GCM AES的三种密钥长度 AES的分组长度为128位(16字节) AES 密钥长度(32位比特) 分组长度(32位比特) 加密轮数 AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 AES的加密步骤 把明文按照 128bit(16 字节)拆分成若干个明文块,每个明文块是 4*4 矩阵 按照选择的填充方式来填充最后一个明文块 每一个明文块利用 AES 加密器和密钥,加密成密文块 拼接所有的密文块,成为最终的密文结果 来源: CSDN 作者: 梦之痕bhl 链接: https://blog.csdn.net/laing92/article/details/104032543

【转帖】HTTPS 详解一:附带最精美详尽的 HTTPS 原理图

孤街醉人 提交于 2020-01-25 00:50:01
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 https://segmentfault.com/a/1190000021494676 前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识。本文将为大家详细梳理一下 HTTPS 的实现原理。 近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒,微信要求所有的小程序必须使用 HTTPS 传输协议,苹果也要求所有在 App Store 上架的应用必须采用 HTTPS ,国内外的大部分主流网站也都已迁移至 HTTPS,可见 HTTPS 全面取代 HTTP 只是时间问题。 说了这么多,究竟什么是 HTTPS,它与 HTTP 相比有什么优缺点?其底层原理又是怎么实现的呢?下面就为你一一解答,先来看一下 HTTP 的弊端吧。 1、HTTP 的最大弊端——不安全 HTTP 之所以被 HTTPS 取代,最大的原因就是不安全,至于为什么不安全,看了下面这张图就一目了然了。 图1. HTTP数据传输过程 由图可见,HTTP 在传输数据的过程中,所有的数据都是明文传输

量子通信基础知识简介(一)

若如初见. 提交于 2020-01-24 02:50:07
1.量子定义: 一个物理量如果存在最小的不可分割的基本单位,那么称该最小的单位为量子。量子是一个整体概念,它指的是研究对象的最基本单元。它最早是由德国物理学家 M·普朗克在 1900 年提出的。 2.量子密码学: 量子密码学是密码学与量子力学相结合的产物,是基于物理安全的,可以提供绝对的安全性。其安全性是由海森堡测不准原理(不确定性原理)以及单量子不可克隆定理来保证的。具有可证明的安全性,以及窃听者存在的可检测性。 2.1海森堡测不准原理(不确定性原理) 在量子力学里,不确定性原理(Uncertainty principle)表明,粒子的位置与动量不可同时被确定,位置的不确定性与动量的不确定性遵守不等式。 2.2量子不可克隆定理 不可克隆定理(No-Cloning Theorem)是指量子力学中对任意一个未知的量子态进行完全相同的复制的过程是不可实现的,该定理可以通过反证法基于量子态的叠加原理证得。 3.量子密钥分发(Quantum Key Distribution,简称QKD): QKD是量子密码学中最先实用化的应用。利用量子系统来进行信息的制备、传输、接收以及提纯来得到物理原理上不会被别人窃取的安全对称密钥。其安全性不依赖于攻击者的计算能力。QKD产生的密钥结合一次一密方案(一次一密方案是已被严格证明的绝对安全的传统加密方法)就能保证信息的安全传输

区块链与物联网

瘦欲@ 提交于 2020-01-20 00:44:39
区块链可以用来解决物联网中哪些问题? 1 解决安全隐患、保护用户隐私 物联网领域目前仍以中心化服务构架为主。以智能家居为例,AI摄像头和智能感应器会监测和收集用户数据,汇总到中央服务器,中央服务器计算后输出信号,控制智能家电做出相应反应,譬如开门、开窗、开灯、开空调等等。 物联网安全性的核心缺陷,主要在于缺乏设备间的信任机制,所有设备都需要和物联网中心的数据进行核对,一旦数据库崩塌,会对整个物联网造成很大的破坏,黑客一旦控制物联网中心就能轻松控制整个物联网。区块链分布式的网络结构提供一种机制,使设备之间保持共识,无需与中心进行验证,这样即使一个或多个节点被攻破,整个网络体系的数据依然是安全可靠的。 2 降低物联网运营成本 在中心化记账结构中,整个物联网记录、处理和存储的信息都会汇总到中央服务器。尽管智能灯具这类使用频率较低的设备上传信息比较少,但智能空气净化器几乎是时时监测、反馈和接受信息,在中央服务器的数据累积难以估量。越庞大的物联网就有越多的节点,最后产生天文数字般的巨量数据,这就对中介中心的存储和计算能力有极高要求,传统服务器往往不堪重负,运营成本极高。另一方面,智能设备的更换频次很低。以智能家居为例,常见物联网设备如智能门锁、智能灯具、智能插板等电器,往往数年一换。这对设备制造商来说是个难题:物联网设备在长期使用后出现的数据冗余和系统负担

如何学习全同态密码

折月煮酒 提交于 2020-01-19 03:47:47
如何学习全同态密码 ** 本文由陈智罡博士撰写。 自从微信公众号里发了我在2015年写的博文“ 给博士生的话 ”后,许多研究生问如何学习全同态加密,以及全同态加密的必看的三篇文章是什么。在这里为大家统一答复。 学习全同态加密需要三部分知识: 数学基础,格密码基础,全同态加密 。 许多研究生在学习全同态加密时,以为只是学习全同态加密,所以看第一篇文章时,从入门直接到放弃。 这是因为任何知识都需要其它的知识作为基础,而全同态加密属于公钥密码学,所以首先它是一个加密算法,然后具有同态属性。 因此,必须熟悉格加密算法,以及相关的数学知识。下面我们分别说说这三部分。 **数学基础** 因为目前全同态加密都是构建在格密码算法之上的,所以格密码需要哪些数学知识,以及全同态加密本身需要哪些数学知识就构成了整个学习所需的数学基础。 格密码需要哪些数学基础呢? 主要需要线性代数和抽象代数的基础。线性代数一般理工科都学过,例如矩阵,行列式等计算,向量空间的基等。格加密算法里的计算都是矩阵行列式计算。 抽象代数估计不是数学专业的,有可能没学过。抽象代数里的群、环、域等知识非常重要,尤其是环,是格加密的数学基础。抽象代数中一般还会涉及到数论一些知识,也在全同态加密中会使用,例如模计算等。 初学者可以看:An Introduction to Mathematical Cryptography 补充相关数学知识

恺撒密码的python实现介绍

六月ゝ 毕业季﹏ 提交于 2020-01-18 03:36:53
恺撒密码的python实现介绍 我的个人博客 本文介绍如何使用pythno实现恺撒密码的加密与解密, 恺撒密码 首先提一下恺撒密码,在 密码学类 对密码学有过简单的介绍,密码学(cryptography)是一种用来通信加密的手段,记得莫斯密码吗?那是其中的一种,恺撒密码属于古典密码,而现代密码更为复杂(比如MD5),而密码学也是 CTF 的一种类型题目。 密码学实际上简要概括就是明文通过加密得到密文的方式,现代密码学复杂的在于不能用明文到密码的方式得到相反的过程,当然恺撒密码并不属于这样。 恺撒密码加密与解密方式 恺撒密码较为简单,就是将明文的字母向右增加三个单位,比如abc——def。 一般特指移位数为3的为恺撒密码,其他则统称为移位密码 ,本程序可控制移位数目。 运行实现 源码放于 资源 了 所以本文更多解释原理,从而自己实现或对照源码解读。简单的print函数不再说明 1. 预定义最大密码长度和内容 (源码的1-3行),变量名自定义即可,以及一个用来加解密的数组块。 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 需要用到的函数 str_1 = len(str_2) ,len函数计数之类的作用 2. 一个决定加密/解密的选择程序 定义一个函数让用户选择需要加密还是解密, 需要用到的函数 def 函数名(): while

几种常见的加密算法

China☆狼群 提交于 2020-01-18 03:23:32
一、概念 数据加密 的基本过程就是对原来为明文的文件或数据按某种 算法 进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的 密钥 之后才能显示出原容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该 编码 信息转化为其原来数据的过程。 简单来说,就是 把某一段数据(明文),按照“某种规则”转换成另外一段不可读的数据(密文)。这里选定的“规则”,就是加密算法。 理所当然,当别人拿到“密文”,解析出“明文”的难度取决于加密算法的破解难度。 二、几种常见的加密算法 1、 Base64算法 原码 /** * Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。 */ public class Base64Util { /* 我们知道Java中是用"8个二进制数字"表示一个实际的字节。 比如:我要用Base64编码一个字符串“abc”,实际算法如下: 'a','b','c'的ASCII标准编码分别为(十进制)97,98,99,因此用二进制表示“abc”字符串就是: 01100001,01100010,01100011 ---3组,每组8字节 Base64的原理:将这三组8字节,分成4组6字节 011000,010110, 001001,100011 ---4组,每组6字节 高位补0 00011000,00010110,

CTF密码学总结

安稳与你 提交于 2020-01-15 00:38:54
1.base64编码 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,base64就是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应4个base64单元,即3个字节可表示4个可打印字符。它可用来作为电子邮件的传输编码。在base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同系统中而不同。 例如:编码‘Man' 在此例中,base64算法将3个字符编码转为4个字符 base64索引表: 如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。在编码后的base64文本后加上一个或两个“=”号,代表补足的字节数。也就是说,当最后剩余一个八位字节(一个byte)时,最后6位的base64字节块有四位是0值,最后附加上两个等号;如果最后剩余两个八位字节(2byte)时,最后一个6位的base字节块有两位是0值,最后附加一个等号 例如: 当看到==号的加密方式时,可以考虑base64。例:cTZ1NQ==解码之后为q5u5。 关于base32: base32中只有大写字母(A-Z)和数字234567 关于base16

密码学与WIFI暴力破解

独自空忆成欢 提交于 2020-01-14 12:25:07
密钥不等于密码 概念:密钥加算法=密码 加密种类: 对称加密 非对称加密 哈希算法 无线=>wlan:WIFI SSID 用于区分不同的WIFI WIFI暴力破解(见课件的具体步骤操作) 字典的名称要用英文 来源: CSDN 作者: 呵呵的先生 链接: https://blog.csdn.net/qq_45792080/article/details/103969328

密码学中的英文简写KEM DEM AKE

折月煮酒 提交于 2020-01-14 11:35:53
1,消息和加密   消息(message)称为明文(plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption),被加密的消息称为密文(ciphertext),而把密文转变为明文的过程称为解密(decryption)。   使消息保密的技术和科学叫做密码编码学(cryptography),从事此行的人叫做密码编码者(cryptographer),密码分析者(cryptanalyst)是从事密码分析的专业人员,密码分析学(cryptanalysis)就是破译密文的科学和技术,即揭穿伪装。密码学(cryptology)作为数学的一个分支,包括密码编码学和密码分析学两部分,精于此道的人称为密码学家(cryptologist),现代的密码学家通常也是理论数学家。 2,KEM和DEM 公钥密码学是现代密码学的一个重要组成部分,它解决了对称密码中最困难的两个问题:密钥分配问题和数字签名问题。纯粹的公钥密码算法(只用公钥技术实现的),其消息空间往往被限制在某个特定的区域,而且当消息长度较长时,计算效率非常低,这对于实际应用而言是非常不利的。所以一般把非对称(公钥)技术和对称技术结合起来使用,其中公钥模块用于产生对称密钥,对称模块用于加密消息,这样做不仅能取消对消息空间的限制,而且能提高计算效率。这种对称和非对称混合的技术在公钥加密和签密里得到了最充分的展现。