<密码学系列>—信息安全威胁】的更多相关文章

懒惰等于将一个人活埋.--泰勒 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 点关注,不迷路!!!  上一期我们罗列了密码学的基础框架以后,不少小伙伴就已经迫不及待的催更了,那么,来了来了来了,从今天<每天懂点密码学>系列就要正式输出了,今天先给大家讲第一趴,也就是对一些预备知识及进行一次彻底的扫盲运动,清除障碍,轻松上路,你离老司机还远吗?…
密码学系列之:memory-hard函数 目录 简介 为什么需要MHF Memory hard的评估方法 MHF的种类 MHF的密码学意义 memory-hard在MHF中的应用 简介 Memory hard function简称为MHF,在密码学中,内存困难函数(MHF)是一个需要花费大量内存来完成的函数.MHF主要被用在工作量证明中.因为需要花费大量的内存,所以MHF也会被用在密码Hash中,可以防止恶意破解. 和MHF相识的还有一个MBF(memory-bound function ),叫…
密码学系列之:碰撞抵御和碰撞攻击collision attack 简介 hash是密码学和平时的程序中经常会用到的一个功能,如果hash算法设计的不好,会产生hash碰撞,甚至产生碰撞攻击. 今天和大家详细探讨一下碰撞攻击. 什么是碰撞攻击 所谓碰撞攻击指的是对于同一个hash函数来说,两个不同的input通过hash计算得到了同样的hash值.用公式来说就是: hash(m1) = hash(m2) 这个攻击有什么作用呢? 举个例子,通常我们通过网络下载应用程序或者软件,除了下载链接之外,还会…
密码学系列之:feistel cipher 简介 feistel cipher也叫做Luby–Rackoff分组密码,是用来构建分组加密算法的对称结构.它是由德籍密码学家Horst Feistel在IBM工作的时候发明的.feistel cipher也被称为Feistel网络. 很多分组加密算法都是在feistel cipher的基础上发展起来的,比如非常有名的DES算法. 在feistel cipher中,加密和解密的操作非常相似,通常需要进行多轮加密和解密操作. Feistel网络的原理 F…
密码学系列之:memory-bound函数 目录 简介 内存函数 内存受限函数 内存受限函数的使用 简介 memory-bound函数可以称为内存受限函数,它是指完成给定计算问题的时间主要取决于保存工作数据所需的内存量.和之相对应的就是计算受限compute-bound的函数,在计算受限的函数中,计算所需要的计算步骤是其决定因素. 本文将会介绍一下内存受限函数和它跟内存函数的关系. 内存函数 内存函数和内存受限函数看名字好像很类似,其实他们的作用是不同的,我们先来看下内存函数. 在学习算法中,有…
密码学系列之:Merkle–Damgård结构和长度延展攻击 简介 Merkle–Damgård结构简称为MD结构,主要用在hash算法中抵御碰撞攻击.这个结构是一些优秀的hash算法,比如MD5,SHA-1和SHA-2的基础.今天给大家讲解一下这个MD结构和对他进行的长度延展攻击. MD结构 MD结构是Ralph Merkle在1979年的博士论文中描述的.因为Ralph Merkle 和 Ivan Damgård 分别证明了这个结构的合理性,所以这个结构被称为Merkle–Damgård结构…
目录 简介 SHA1 SHA2 SHA3 简介 SHA算法大家应该都很熟悉了,它是一个用来计算hash的算法,目前的SHA算法有SHA1,SHA2和SHA3种.这三种算法都是由美国NIST制定的. NIST的全称是美国国家标准与技术研究所,主要来制定各种标准. 本文将会讲解下NIST和SHA各种算法的关系. SHA1 在密码学中,SHA-1(Secure Hash Algorithm 1)是一种加密哈希函数,它接受一个输入,并产生一个160位(20字节)的哈希值,称为信息摘要. 我们先看下SHA…
目录 简介 密钥推导函数key derivation function Password Hashing Competition Argon2算法 Argon2的输入参数 处理流程 简介 Argon2是一个密钥推导函数,在2015年7月被选为密码哈希大赛的冠军,它由卢森堡大学的Alex Biryukov.Daniel Dinu和Dmitry Khovratovich设计,Argon2的实现通常是以Creative Commons CC0许可(即公共领域)或Apache License 2.0发布…
目录 简介 PBKDF2和PBKDF1 PBKDF2的工作流程 详解PBKDF2的key生成流程 HMAC密码碰撞 PBKDF2的缺点 总结 简介 1password是一个非常优秀的密码管理软件,有了它你可以轻松对你的密码进行管理,从而不用再考虑密码泄露的问题,据1password官方介绍,它的底层使用的是PBKDF2算法对密码进行加密. 那么PBKDF2是何方神圣呢?它有什么优点可以让1password得以青睐呢?一起来看看吧. PBKDF2和PBKDF1 PBKDF的全称是Password-…
ylbtech-信息安全-威胁防御系统-Fortinet:Fortinet Fortinet 是多层威胁防御系统的创新者和先锋.该系统能够为业务通信提供最佳安全.优秀性能和低总体占用成本. Fortinet获奖众多的安全系统和预订服务在世界各地已经拥有多达两万余用户,包括最大型的电信运营商.服务提供商和各种规模的企业. 1.返回顶部 1. 中文名:飞塔 外文名:Fortinet 地    位:多层威胁防御系统的创新者和先锋 作    用:为业务通信提供安全.优秀性能 用户数量:两万余 用户主题:…
前言 说起加密方式,其实密码学的角度ASCII编码其实本身就是一种加密解密. 由于其公开,现在用于数字与字符的转换. 查看ASCII表可以去官网查查. 转换代码如下: static void Main(string[] args) { char c = (char)97; Console.WriteLine(c);//a Console.ReadKey(); } 大概就是这样了. 再讲另外一个故事,我们在数据传输过程中为什么要求编码格式一致. 这个问题其实也是一个密码学问题.比如说传输方的编码是…
目录 简介 crib和明文攻击 布莱奇利公园(Bletchley Park) 简介 明文攻击就是指已经知道了部分明文和它对应的加密后的字段,从而可以推测出使用的加密手段或者密码本.明文攻击这个故事还要从二战时候说起. crib和明文攻击 谈到明文攻击,就不能不讲到一个词crib和它的发源地布莱奇利公园(Bletchley Park). 布莱奇利公园(Bletchley Park)是位于米尔顿凯恩斯(Buckinghamshire)的英国乡村房屋和庄园,它是由金融家和政治家赫伯特·莱昂爵士在188…
目录 简介 blowfish详解 密钥数组和S-box 密钥数组 S-box 生成最终的K数组 blowfish blowfish的应用 blowfish的缺点 简介 Blowfish是由Bruce Schneier在1993年发明的对称密钥分组加密算法,类似的DES和AES都是分组加密算法,Blowfish是用来替代DES算法出现的,并且Blowfish是没有商用限制的,任何人都可以自由使用. 对比而言,虽然AES也是一种密码强度很高的对称密码算法,但是如果需要商用的话要向NIST支付授权费用…
目录 简介 海绵函数的结构 海绵函数的应用 简介 海绵函数sponge function是密码学中使用的一种函数,它接收一定长度的输入,然后输出一定长度的输出,中间包含了有限个内部状态. 因为海绵函数的强大功能,所以可以用来建模和实现许多密码原语,包括密码散列,消息身份验证码,生成掩码,流密码,伪随机数生成器等. 本文将会讲解海绵函数的结构. 海绵函数的结构 我们先看一个海绵函数的结构图: 这个函数被分成了两部分,左边部分叫做吸收部分,右边部分叫做输出部分,一吸一出,像是海绵一样,所以叫做海绵函…
目录 简介 scrypt算法 scrypt算法详解 scrypt的使用 简介 为了抵御密码破解,科学家们想出了很多种方法,比如对密码进行混淆加盐操作,对密码进行模式变换和组合.但是这些算法逐渐被一些特制的ASIC处理器打败,这些ASIC处理器不做别的,就是专门来破解你的密码或者进行hash运算. 最有名的当然是比特币了,它使用的是为人诟病的POW算法,谁的算力高,谁就可以挖矿,这样就导致了大量无意义的矿机的产生,这些矿机什么都不能干,就算是用来算hash值.结果浪费了大量的电力. 普通人更是别想…
目录 简介 PEM PKCS7 PKCS8 PKCS12 总结 简介 PEM是一种常见的保存key或者证书的格式,PEM格式的文件一般来说后缀是以.pem结尾的.那么PEM到底是什么呢?它和常用的证书格式PKCS7和PKCS12有什么关系呢?一起来看看吧. PEM PEM虽然使用来存储证书或者密钥的,但是PEM原本是和email相关联的,因为PEM的全称是Privacy-Enhanced Mail,最初是为邮件的隐私增强而创建的,是在1993年由IETF制定的标准.虽然最终的协议标准并没有被广泛…
前言 简介: 消息摘要(Message Digest)又称为数字摘要(Digital Digest) 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生 使用数字摘要生成的值是不可以篡改的,为了保证文件或者值的安全 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的.例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出 只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同:但相同的输入必会产生相…
目录 简介 CSRF的特点 CSRF的历史 CSRF攻击的限制 CSRF攻击的防范 STP技术 Cookie-to-header token Double Submit Cookie SameSite cookie attribute Client-side safeguards 简介 CSRF的全称是Cross-site request forgery跨站点请求伪造,也称为一键攻击或会话劫持,它是对网站的一种恶意利用,主要利用的是已授权用户对于站点的信任,无辜的最终用户被攻击者诱骗提交了他们不…
简介 之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件.同时因为加密块小还会导致生日攻击等.所以才有了blowfish的继承者twofish. 今天我们一起来揭秘一下twofish这个加密算法. twofish的起源 twofish和blowfish一样,也是一种对称加密算法.不同的是twofish的块大小是128bits,而它的密钥长度是256bits. AES相信大家都很熟悉了,AES的全称是The Advance…
目录 简介 bcrypt的工作原理 bcrypt算法实现 bcrypt hash的结构 hash的历史 简介 今天要给大家介绍的一种加密算法叫做bcrypt, bcrypt是由Niels Provos和David Mazières设计的密码哈希函数,他是基于Blowfish密码而来的,并于1999年在USENIX上提出. 除了加盐来抵御rainbow table 攻击之外,bcrypt的一个非常重要的特征就是自适应性,可以保证加密的速度在一个特定的范围内,即使计算机的运算能力非常高,可以通过增加…
目录 简介 一个证书的例子 X.509证书的后缀 .pem .cer, .crt, .der .p7b, .p7c .p12 .pfx 证书的层级结构和交叉认证 x.509证书的使用范围 总结 简介 在PKI(public key infrastructure)公钥设施基础体系中,所有的一切操作都是围绕着证书和密钥的,它提供了创建.管理.分发.使用.存储和撤销数字证书以及管理公钥加密所需的一组角色.策略.硬件.软件和程序. 有了密钥,就可以根据密钥制作证书了.要想证书可以被广泛的使用,一个通用的…
目录 简介 PKI中的CRL CRL的缺点 CRL的状态 OCSP的工作流程 OCSP的优点 OCSP协议的细节 OCSP请求 OCSP响应 OCSP stapling 总结 简介 我们在进行网页访问的时候会跟各种各样的证书打交道,比如在访问https网页的时候,需要检测https网站的证书有效性. OCSP就是一种校验协议,用于获取X.509数字证书的撤销状态.它是为了替换CRL而出现的. 本文将会详细介绍OCSP的实现和优点. PKI中的CRL 我们知道在PKI架构中,CA证书是非常重要的组…
目录 简介 支持OCSP stapling的网站 获取服务器的证书 获取OCSP responder地址 发送OCSP请求 一个更加简单的方法 总结 简介 OCSP在线证书状态协议是为了替换CRL而提出来的.对于现代web服务器来说一般都是支持OCSP的,OCSP也是现代web服务器的标配. 但是OCSP stapling却不是所有的web服务器都支持.但是现实工作中我们可能需要知道具体某个网站对OCSP的支持程度. 支持OCSP stapling的网站 怎么判断一个web站点是否支持OCSP…
密码与我们的生活息息相关,远到国家机密,近到个人账户,我们每天都在跟密码打交道: 那么,密码从何而来?生活中常见的加密是怎么实现的?怎么保证个人信息安全?本文将从这几方面进行浅谈,如有纰漏,敬请各位大佬指正. 代码部分从第二章节--常见加密算法开始,对代码比较感兴趣的铁子们可以从第二章节开始看. 一. 密码学发展史 密码学是网络安全.信息安全.区块链等产品的基础,常见的非对称加密.对称加密.散列函数等,都属于密码学范畴. 密码学有数千年的历史,从最开始的替换法到如今的非对称加密算法,经历了古典密…
在介绍Hash算法之前,先给大家来个数据结构中对hash表(散列表)的简单解释,然后我再逐步深入,讲解一下hash算法. 一.Hash原理——基础篇 1.1 概念 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值.这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键. 使…
转自http://www.smatrix.org/bbs/simple/index.php?t5591.html //////////////////////////////////////////////////////////////////////////////目录1.    PHP的散列函数及其应用2.    PHP中的对称密码算法及其应用3.    PHP的公钥密码算法及其应用//////////////////////////////////////////////////////…
1. Hash是什么,它的作用先举个例子.我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志.也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,身份证也可以伪造.最可靠的办法是把一个人的所有基因序列记录下来用来代表这个人,但显然,这样做并不实际.而指纹看上去是一种不错的选择,虽然一些专业组织仍然可以模拟某个人的指纹,但这种代价实在太高了. 而对于在互联网世界里传送的文件来说,如何标志一个文件的身份同样重要.比如说我们下载一个文件,文件…
1.     EtherNet/IP : 设备可以用户数据报协议(UDP)的隐式报文传送基于IO的资料 ,用户传输控制协议(TCP)显示报文上传和下参数,设定值,程式 ,用户主站的轮询 从站周期性的更新或是改变状态COS,方便主站监控从站的状态,讯息会使用UDP的报文发送出去 特性:  EnterNet/IP 工业以太网组成的系统具有兼容性和互操作性,资源共享能力强和传输距离远,传输速率高优势 EtherNetIP在物理层和数据链路层采用以太网,可以与标准的以太网设备透明衔接,并保证随着以太网的…
1. Hash是什么,它的作用 先举个例子.我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志.也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,身份证也可以伪造.最可靠的办法是把一个人的所有基因序列记录下来用来代表这个人,但显然,这样做并不实际.而指纹看上去是一种不错的选择,虽然一些专业组织仍然可以模拟某个人的指纹,但这种代价实在太高了. 而对于在互联网世界里传送的文件来说,如何标志一个文件的身份同样重要.比如说我们下载一个文件,文…
1.以豆瓣的API接口为例子,解析返回的json数据 https://api.douban.com/v2/book/1220502 { "rating":{ "max":10, "numRaters":16, "average":"7.3", "min":0 }, "subtitle":"", "author":[ "…