展开

关键词

动态令牌之 OTP,HOTP,TOTP 的基原理 Python

原理介绍 OTP基原理 计算OTP串的公式:OTP(K,C) = Truncate(HMAC-SHA-1(K,C)) 其中, K表示秘钥串; C是一个数字,表示随机数;HMAC-SHA-1表示使SHA HOTP基原理 知道了OTP的基原理,HOTP只是将其中的参数C变成了随机数HOTP(K,C) = Truncate(HMAC-SHA-1(K,C)) 即:C作为一个参数,获取动态密码。 ,即:基于SHA-256 or SHA-512 的散列函数做事件同步验证; TOTP基原理 TOTP只是将其中的参数C变成了由时间戳产生的数字。 TOTP 的实现可以使HMAC-SHA-256或者HMAC-SHA-512散列函数; python的otp实现 https:pypi.python.orgpypipyotp https:github.compyotppyotp golang的一个otp做的不的实现 https:github.comgitchsgootp RFC参考 RFC 4226 One-Time Password and HMAC-based One-Time

47320

现代密码学实践指南

密码学理论艰深,概念繁多,人知识水平有限,难免,如果您发现,请务必指出,非常感谢!----下文分类介绍在各种适场景下,你该使的现代密码学算法1. (这个地方和码农的常识完全相反,请务必留意)此外,该避免自行设计的“带密码的hash”结构,你的设计基都是有安全漏洞的避免HMAC-MD5,避免HMAC-SHA1,使HMAC-SHA256, HMAC-SHA512 HashingHMAC 算法该选择SHA2类的算法:: SHA-256, SHA-384, SHA-512, SHA-512256优先使 SHA-512256,SHA-512256这个算法把 SHA 随机ID该使256 bit的随机一定要使 devurandom,请认准这个此外,该避免户空间的随机数生成器如:havaged,prngs,egd,等避免devrandom6. TLS做传输协议,因为: 这些漏洞中的大部分,仅仅是针对浏览器的,因为他们依赖受害者执行攻击者控制的JavaScript,这些JavaScript生成重复的明文,或特定的明文。

12910
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hash Algorithm Identifier:一款快速识别Hash加密类型的工具

    当遇到某个Hash时,我们当然可以根据每种Hash的不同特征来识别其可能的Hash类型,但是这一过程是十分耗时和繁琐的,而我们每个人都希望生活向更简单的方向前进。所以也就有了这篇文章。 Hash Algorithm Identifier使过Kali Linux或者Backtrack Linux的人,该都知道一款名为Hash identifier的工具,这是一款十分优秀的工具,没有它 输入以下指令运行start.sh:sh start.sh代码介绍我使正则表达式来判断Hash类型,阅读代码你会很容易发现这一点。使正则表达式识别Hash类型可以让代码简单并且易于理解。 )SHA-1(MaNGOS2)SHA-1(Oracle)SHA-224SHA-224(HMAC)SHA-256SHA-256 cryptSHA-256(Django)SHA-256(HMAC)SHA-256 -128(HMAC)Snefru-256Snefru-256(HMAC)TIGER-160TIGER-160(HMAC)TIGER-192(HMAC)Tiger-128Tiger-128(HMAC)Tiger

    96190

    为什么要BLAKE2替换SHA-1?| 密码学分析

    不过这也得看情况,这一次破解的只是SHA-1的抗碰撞性,而某些网络其实对抗碰撞性并没有太高的要求。 比如说,类似HMAC-SHA-1(使HMAC伪随机函数和SHA-1共同作为哈希函数)或PBKDF2-HMAC-SHA1(使HMAC-SHA-1作为伪随机函数的PBKDF2密码哈希)这样的哈希函数仍然是安全的 BLAKE2s是BLAKE的32位版,它可以生成最高256位的任意长度哈希。 为什么不SHA-2或SHA-3代替SHA-1呢?SHA-2其实是一个哈希函数家族,其中包括SHA-256SHA-384和SHA-512,而且还提供了SHA-224和SHA-384这两个变种版。 如果你使的是X.509证书,那么请确保使SHA-256作为你的签名算法,而不要再使SHA-1了。

    55760

    ospfv3 认证配置

    ospfv3是基于ipv6的路由协议,因为IPV6身的IPSEC安全特性,OSPFV3身就已经没有再带安全认证功能,这一功能由IPV6协议来完成。     还是得谢谢google啊。)    IPSEC有两种安全认证方法:AH 头和ESP头,AH支持认证,完整性校验,和防报文重放功能,ESP则更加强大,除了AH的前面几样功能,ESP还支持加密功能。 这个可能随便起,但是范围在256~~~4,294,967,295。必须匹配。支持的hash算法有两种,MD5和SHA,MD5有32个字符,SHA有40个字符长。在配置的时候这个输入进去很费事。 r2 #show crypto ipsec sa 入站ah sas: spi:0x100(256) 转换:ah-sha-hmac, 使 设置 = {运输,} conn id:2004,flow_id: SW:4,crypto map:(无) 没有时间 重放检测支持:N 状态:ACTIVE 入站pcp sas: 出站esp sas: 出站啊,SAS: spi:0x100(256) 转换:ah-sha-hmac

    51830

    Android O中对TEE加解密算法的新要求

    Google关于Android后续版中keymaster中的加解密算法要求如下:RSA无填充RSAES-OAEP (PaddingMode::RSA_OAEP)RSAES-PKCS1-v1_5 (PaddingMode 将于日后移除)SHA-256支持 224 位、256 位、384 位和 521 位密钥,分别使 NIST P-224、P-256、P-384 和 P-521 曲线ECDSA 所需的摘要模式:AES支持 128 位和 256 位密钥CBC、CTR、ECB 和 GCM。 GCM 实现不允许使少于 96 位的标记,也不允许使 96 位以外的随机数长度。CBC 和 ECB 模式支持填充模式 PaddingMode::NONE 和 PaddingMode::PKCS7。 采“无填充”时,如果输入的不是分块大小的倍数,CBC 或 ECB 模式的加密会失败。HMAC SHA-256,其中任意密钥均不短于 32 个字节。

    63050

    密码技术之消息认证码

    比如通过认证加密,一种将对称密码与消息认证码相结合,比如将明文对称密码加密,然后计算密文的MAC,同时满足机密性、完整性、认证三大功能机制。 (详细介绍如: TLS与SSL的介绍及区别)二,消息认证码的实现方法除了可以分组密码实现消息认证码之外,也可以单向散列函数来实现,比如HMAC。 使SHA-1、SHA-224、SHA-256SHA-384、SHA-512所生成的HMAC分别称之为HMAC-SHA-1、HMAC-SHA-224、HMAC-SHA-256HMAC-SHA-384 、HMAC-SHA-512。? 三,针对消息认证码的攻击该保证不能跟进MAC推测出通信双方所使的密钥。 1,重放攻击,不需要破解消息认证码,而是截取正确的进行重复利,当然,可以通过序号、时间戳、随机数等方式避免。

    76950

    python加密模块-hashlib模块

    ) 具体于网站防篡改。 算法表示:算法公式 : HMAC(K,M)=H(K⊕opad∣H(K⊕ipad∣M)) H 代表所采的HASH算法(如SHA-256) K 代表认证密码 Ko 代表HASH算法的密文 M 代表一个消息输入 B 代表H中所处理的块大小,这个大小是处理块大小,而不是输出hash的大小 如,SHA-1和SHA-256 B = 64 SHA-384和SHA-512 B = 128 L 表示hash的大小 Opad (3) 客户端将收到的随机数提供给ePass,由ePass使该随机数与存储在ePass中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响)。 (4) 与此同时,服务器也使该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响结果相同,则认为客户端是一个合法户。

    41510

    Kali 2.0中无线安全工具更新特性(浅谈pixie结合reaver的攻击原理)

    0x01 算法分析在每一个wps设备中都有以下算法E-Hash1 = HMAC-SHA-256(authkey) (E-S1 | PSK1 | PKE | PKR)E-Hash2 = HMAC-SHA- 256(authkey) (E-S2 | PSK2 | PKE | PKR)简单说,-E-Hash1和2是我们需要暴力破解的hashHMAC-SHA-256 一种hash函数PSK1PSK2 是路由器的 0x02 从AP路由器的响中校验PIN码的正确性 如果攻击者在发送M4后接收到EAP-NACK消息,则前一半PIN;2. 如果攻击者在发送M6后接收到EAP-NACK消息,则后一半PIN八位的PIN码中最后一位是校验码,由前七位得到,大大缩短了破解难度。 最近的几个版,aircrack-ng套件捆绑airmon-zc,它使一种改进的方法,把无线网卡进入监听模式,以及更详细的输出选项。

    67150

    Dan Boneh密码学笔记6

    5.HMAC: a MAC from SHA-256 ? 一个标准方法,把一个抗碰撞的哈希函数转成一个MAC,HMAC使SHA-256来构建MAC在密钥k后面联结一个叫做内部密码ipad,使它成为MD机制的一个分组。对于SHA-256来说是512位的。 所以,除此之外,HMAC还取这256位输出计算密钥k与外部密码opad异或,把异或结果附在256位输出的前面,也是512位。然后HMAC取这两个分组的哈希,最终得到信息M的标签。? 第一次查询,提交一个m和随机tag,然后测量服务器反时间第二次查询,将尝试标签的第一字节的所有256种情况,剩下的tag都是随便取,不重要。 法二,不常,把字符串的比较对攻击者隐藏起来,攻击者无法知道在比较第几个字节。?专家在实现密码库时也会犯,千万别自己设计密码。?

    38320

    说一下你常的加密算法

    一、不可逆加密常见的不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256SHA-384,和SHA-512,其中SHA-224、SHA-256SHA-384,和SHA-512我们可以统称为 其中SHA后面的数字表示的是加密后的字符串长度,SHA1默认会产生一个160位的信息摘要。不可逆加密算法最大的特点就是密钥,但是HMAC是需要密钥的【手动狗头】。 1.1 MD5 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使的密码散列函数,可以产生出一个128位(16字节)的散列(hash value),于确保信息传输完整一致 年提出的一种基于Hash函数和密钥进行消息认证的方法,并于1997年作为RFC2104被公布,并在IPSec和其他网络协议(如SSL)中得以广泛,现在已经成为事实上的Internet安全标准。 它以DES为基模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。密钥长度默认为168位,还可以选择128位。

    61230

    JWT 和 JJWT,别再傻傻分不清了!

    JSON对象由零或多个名称对组成,其中名称为字符串,为任意JSON。 这该是给定的。换句话说,如果您正在传递一个秘密签名密钥到验证签名的方法,并且签名算法被设置为“none”,那么它该失败验证。确保签名的秘密签名,于计算和验证签名。 规范兼容:创建和解析明文压缩JWTs创建、解析和验证所有标准JWS算法的数字签名紧凑JWTs(又称JWSs):HS256: HMAC using SHA-256HS384: HMAC using SHA : RSASSA-PKCS-v1_5 using SHA-512PS256: RSASSA-PSS using SHA-256 and MGF1 with SHA-256PS384: RSASSA-PSS using P-256 and SHA-256ES384: ECDSA using P-384 and SHA-384ES512: ECDSA using P-521 and SHA-512这里以github

    15031

    JWT 和 JJWT,别再傻傻分不清了!

    JSON对象由零或多个名称对组成,其中名称为字符串,为任意JSON。 这该是给定的。换句话说,如果您正在传递一个秘密签名密钥到验证签名的方法,并且签名算法被设置为“none”,那么它该失败验证。确保签名的秘密签名,于计算和验证签名。 规范兼容:创建和解析明文压缩JWTs创建、解析和验证所有标准JWS算法的数字签名紧凑JWTs(又称JWSs):HS256: HMAC using SHA-256HS384: HMAC using SHA : RSASSA-PKCS-v1_5 using SHA-512PS256: RSASSA-PSS using SHA-256 and MGF1 with SHA-256PS384: RSASSA-PSS using P-256 and SHA-256ES384: ECDSA using P-384 and SHA-384ES512: ECDSA using P-521 and SHA-512这里以github

    18220

    Golang与散列算法

    1、哈希函数的基特征2、SHA-13、MD5 3.1 基使-直接计算3.2 大量数据-散列计算4、SHA-1与MD5的比较5、Hmac6、哈希函数的散列是信息的提炼,通常其长度要比信息小得多 SHA-1是不可逆的、防冲突,并具有良好的雪崩效sha1是SHA家族的五个算法之一(其它四个是SHA-224、SHA-256SHA-384,和SHA-512)SHA(Secure Hash Algorithm )安全散列算法,是一系列密码散列函数,有多个不同安全等级的版SHA-1,SHA-224,SHA-256SHA-384,SHA-512防伪装,防窜扰,保证信息的合法性和完整性算法流程: 填充,使得数据长度对 ,运算速度比SHA-1快 常函数 New:创建Hash对象于计算字节字符md5 Sum:计算字节切片md5import ( cryptomd5 fmt) func main() { 最基础的使方式 fmt.Printf(HMAC: %xn, hmacData)}6、哈希函数的 户密码的存储 文件上传下载完整性校验 mysql大字段的快速对比 数字签名(区块链,比特币)示例代码package

    9140

    Java加密与解密之消息摘要算法

    即通过散列函数可获得对的散列,但不可通过该散列反推其原始信息。这是消息摘要算法的安全性的根所在。 MD5、SHAHMAC分别是三大类消息摘要算法中的代表。 .MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3、MD2算法改进而来,1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改其他算法 2.SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256SHA-384,和SHA-512。SHA与MD算法不同之处主要在于摘要长度,SHA算法的摘要长度更长,安全性更高。 algorithm 摘要算法 * @param key 密钥 * @param data 数据 * @return * @throws Exception * public static String hmac

    20210

    消息摘要算法简介

    例如 MD5 算法摘要的消息有 128 个比特位, SHA-1 算法摘要的消息最终有 160 个比特位的输出,SHA-1 的变体可以产生 192 个比特位和 256 个比特位的消息摘要。 二、MD 算法家族2.1 简述MD 算法是非常广泛的一个算法家族,尤其是 MD5(Message Digest Algorithm 5,消息摘要算法版5),它由 MD2、MD3、MD4 发展而来, Microsoft、Google 以及 Mozilla 都宣布,它们旗下的浏览器将在 2017 年前停止接受使 SHA-1 算法签名的 SSL 证书。 2017 年 2 月 23 日,CWI Amsterdam 与 Google 宣布了一个成功的 SHA-1 碰撞攻击,发布了两份内容不同但 SHA-1 散列相同的 PDF 文件作为概念证明。 为避免混淆,现在我们称之为 SHA-0 算法。但 SHA-0 算法在公布不久后就被 NSA 撤回,原因是 NSA 发现 SHA-0 算法中含有会降低密码安全性的

    2.5K20

    CTF&爬虫:掌握这些特征,一秒识别密文加密方式

    文将介绍以下编码和加密算法的特征:编码:Base 系列、Unicode、Escape、URL、Hex;算法:MD5、SHA 系列、HMAC 系列、RSA、AES、DES、3DES、RC4、Rabbit 是比 MD5 更安全一点的摘要算法,SHA 通常指 SHA 家族算法,分别是 SHA-1、SHA-2、SHA-3,其中 SHA-2 是 SHA-224、SHA-256SHA-384、SHA-512 这种算法就是在 MD5、SHA 两种加密的基础上引入了秘钥,其密文也和 MD5、SHA 类似,密文的长度和使的 MD5、SHA 算法对密文的长度是一样的。 -224:字母(a-f)和数字(0-9)混合,固定位数 56 位;HMAC-SHA-256 HMAC-SHA3-256:字母(a-f)和数字(0-9)混合,固定位数 64 位;HMAC-SHA-384 doDecrypt、doSignature混淆系列ObfuscatorObfuscator 就是混淆的意思,简称 OB 混淆,实战可参考K哥以前的文章:【JS 逆向百例】W店UA,OB反混淆,抓包替换CORS跨域分析

    5310

    加密算法解析

    DSA的一个重要特点是两个素数公开,这样,当使别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手。RSA算法却做不到。 分类常的算法有:MD5、SHAHMAC等。 有SHA-1,SHA-224,SHA-256SHA-384,和SHA-512这几种单向散列算法,其中SHA-1已经不安全。 一般的,消息鉴别码于验证传输于两个共 同享有一个密钥的单位之间的消息。HMAC 可以与任何迭代散列函数捆绑使。MD5 和 SHA-1 就是这种散列函数。 HMAC 还可以使一个于计算和确认消息鉴别的密钥。

    1.9K70

    斯坦福大学密码学-抗碰撞 06

    首先取大量的信息,快速的一次性MAC计算哈希,得到一个小标签,然后PRF加密。这一章要从抗碰撞的概念出发,构建MAC。image.png抗碰撞。 image.png注意:SHA-1 最好的攻击需要 。SHA-1 现在最好不要SHA函数都了Davies-Mayer 机制。image.png少了后面的异或是不安全的。 。构造出碰撞。image.png其它构造方法。注意 是不安全的。image.pngSHA-256HMAC和NMAC不同之处在于,HMAC的密钥是互相有关联的。只是同样的密钥k异或上不同的常量。所以k1和k2也是互相有关联的,它们是在同样的固定IV上PRF计算得到的。 注意:HMAC不要求SHA-1是抗碰撞的,只要求SHA-1的压缩函数是PRF,就可以了。image.pngMAC认证的计时攻击当第一个字节不相等时,就返回

    56131

    为 Linux 服务器 SSH 添加 TOTP 动态验证码以及 Java 实现算法

    0x01 Linux 服务器安装 Google Authenticator服务器采腾讯云轻量服务器 Debian Linux 系统,腾讯云轻量服务器是腾讯云基于 CVM 服务器推出以为中心的轻量级服务器 这个时候二步认证是还没有生效的,还需要修改 pam 以及 ssh 配置,请仔细小心地修改配置,任何一处都可能导致 ssh 无法连接鉴于操作危险性,建议提前对机子进行备份,比如 腾讯云轻量 的镜像备份 0x03 算法原理现有实现了 TOTP 的软件中的算法 质上就是 HMAC-SHA-1 算法,也就是带有盐SHA-11. 以 secret 密钥为盐取当前时间的摘要,即 HMAC-SHA-1(K,C) K 为密钥,C 为当前 UNIX 时间 30,之所以除以 30 就是为了取整获得一个 30 内相同的这样就得到了一个原始的哈希 ,当然得到这个哈希还不行,因为哈希是 20 字节长的,对于 30 秒的验证码来说太长了,所以 HEX = HMAC-SHA-1(K,C) 等下还要2.

    15370

    扫码关注云+社区

    领取腾讯云代金券