首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
Cryptography 密钥推导
2024-11-04
Cryptography I 学习笔记 --- 信息完整性
1. ECBC-MAC,需要一对密钥k与k1,然后将明文分组,用cbc模式对明文分块加密,将最后的密文块再用k1进行加密,即可得到结果 2. NMAC,需要一对密钥k与k1,然后将明文分组,用k加密第一组明文,得到k',然后用k'加密第二组明文,得到k'',依次类推,最后得到k(n) ,然后用k1对k(n) 进行加密,即可得到结果 如果没有最后一步利用密钥k1的加密,我们可以在明文后附加一组数据,然后用原先的MAC结果再对附加文加密,从而得到新结果. 扩展攻击 3. 在给MAC做填充时,不能
Java与.NET兼容的RSA密钥持久化方法
默认情况下,.NET生成的RSA密钥对可以用XML或字节流来保存,而JAVA中生成的RSA密钥对只能用字节流来保存.而它们的字节流格式不同,就导致Java中生成的RSA密钥对不能在.NET中使用,而.NET中生成的密钥对又不能在Java中使用.而.NET的XML保存方法我觉得比较有通用性,于是就以.NET中RSA密钥保存的XML格式作为兼容格式,这样它们就可以通用了.下面是Java代码: PS:在Chrome上用博客园的编辑器设置不了代码折叠,保存后折叠的代码就打不开了... =========
[转]HD钱包的助记词与密钥生成原理
本文转自:https://blog.csdn.net/opassf/article/details/79978047 区块链相关的话题持续发酵之时,应该不少人知道加密货币钱包,钱包是普通用户与加密货币系统交互的入口,各种形态的钱百花齐放,手机钱包.桌面钱包.硬件钱包.网页钱包和纸质钱包等.通过钱包可以无国界无限制地转移你的数字资产.从开发者的角度看,钱包的作用是管理用户的私钥.通过私钥签名交易管理用户在区块链上的数字货币. Bitcoin Address + Private key = Bitc
密钥导出函数(Key derivation function)
在密码学中,密钥导出函数(KDF)使用伪随机函数从秘密值(eg.主密钥)导出一个或多个密钥.KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥(eg.将作为Diffie-Hellman密钥交换的结果的组元素转换为用于AES的对称密钥).密钥加密哈希函数是用于密钥推导的伪随机函数的流行示例.KDFs的使用: 密钥导出函数通常与非秘密参数一起使用,以从公共秘密值导出一个或多个密钥.这样的使用可以防止获得派生密钥的攻击者学习关于输入秘密值或任何其他导出密钥的有用信息:也可以使用K
Cryptography I 学习笔记 --- 零碎
1. KDF(密钥推导函数,key derivation function),根据用户输入的一个初始密钥来生成一系列的后续密钥.可以使用PRF来生成 2. 可以用salt与slow hash function来加强安全 3. 在数据库里存储密文,然后用加密后的密文来做查询,可以让数据保存者无法知道存储的信息是什么(类似于user表里存储了hash后的密码),但是由于一般使用的确定性的加密函数,所以攻击者至少还是可以知道,有哪些密文是相同的-->哪些明文是相同的,如果明文空间小,还是存在安全隐患.
RSA和DES------加密和解密类
public class CryptogramUtil { //*********************************************************************** // 将 HexString 转换为 byte[] 数组 //*********************************************************************** public static byte[] HexStringToByte(string
【翻译】WhatsApp 加密概述(技术白皮书)
目录 简介 术语 客户端注册 会话初始化设置 接收会话设置 交换信息 传输媒体和附件 群组消息 通话设置 状态 实时位置 (待填坑) 验证密匙 传输安全 结论 简介本白皮书提供了 WhatsApp 端到端加密系统的技术说明.请访问 WhatsApp 的网站 www.whatsapp.com/security 了解更多.WhatsApp Messenger
SM3杂凑算法Python语言实现——第三部分
SM3杂凑算法实现--第三部分 一.SM3 密码概述 我们首先把需要用到的算法呈现出来,最后我们再考虑如何集合为一个库的方法,这一部分我们就开始编写一个新的算法:国家商用密码标准SM3密码算法. 首先要明白SM3是一个什么样的东西:单向加密算法.也可以称之为密码哈希算法.杂凑算法.摘要算法,都可以指这类算法.顾名思义,这类算法只能加密不能解密,所以不是为了直接保护数据的秘密性而存在的,不是让使用者解密这串密文得到原文而使用的.这类算法一般用于保护数据明文的完整性,抗篡
简要介绍DES、RSA MD5 sha1 四种加密算法的优缺点,以及使用场合
美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立.密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合.RSA是非对称算法,加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥.密钥尺寸大,加解密速度慢,一般用来加密少量数据,比如DES的密钥.SHA1 和 MD5 是散列算法,将任意大小的数据映射到一个较小的.固定长度的唯一值.加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息.任何输入信息的变
翻译[RFC6238] TOTP: Time-Based One-Time Password Algorithm
在闲暇时间做了一个TOTP相关的开源项目,在项目初步完成之余,我尝试对[RFC6238]文档进行了翻译,供大家参考与查阅,若有不妥之处,还望各位前辈海涵斧正. [RFC6238] : Time-Based One-Time Password Algorithm 开源项目地址:tick-authenticator 文章概要 This document describes an extension of the One-Time Password (OTP) algorithm, namely th
理解 BLS 签名算法
理解 BLS 签名算法 来源 https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716 原文标题:<干货:理解 BLS 签名算法>作者:Stepan翻译 & 校对:wuwei & 阿剑 之前的文章中,我介绍了 Schnorr 签名算法和它的优势.现在,我来介绍下 BLS (Boneh-Lynn-Shacham)签名算法以及它相比 Schnorr 的优胜之处. 长话短说,我们已
死磕以太坊源码分析之rlpx协议
死磕以太坊源码分析之rlpx协议 本文主要参考自eth官方文档:rlpx协议 符号 X || Y:表示X和Y的串联 X ^ Y: X和Y按位异或 X[:N]:X的前N个字节 [X, Y, Z, ...]:[X, Y, Z, ...]的RLP递归编码 keccak256(MESSAGE):以太坊使用的keccak256哈希算法 ecies.encrypt(PUBKEY, MESSAGE, AUTHDATA):RLPx使用的非对称身份验证加密函数 AUTHDATA是身份认证的数据,并非密文的一部分
一篇文章搞懂密码学基础及SSL/TLS协议
SSL协议是现代网络通信中重要的一环,它提供了传输层上的数据安全.为了方便大家的理解,本文将先从加密学的基础知识入手,然后展开对SSL协议原理.流程以及一些重要的特性的详解,最后会扩展介绍一下国密SSL协议的差异.安全性以及TLS 1.3的关键新特性. 限于篇幅以及个人知识水平,本文不会涉及过于细节的内容.特别地,本文将不涉及算法的具体原理,也不涉及实际代码的实现.而是试图以图表等直观的方式来了解基本的原理以及流程. 本博客已经迁移至CatBro's Blog,那里是我自己搭建的个人博客,页面效
密码学系列之:Argon2加密算法详解
目录 简介 密钥推导函数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发布
WCF:System.Security.Cryptography.CryptographicException: 密钥集不存在
WCF使用IIS部署时,使用x509证书验证,在创建证书并正确配置程序后,访问出现错误提示: System.Security.Cryptography.CryptographicException: 密钥集不存在.ArgumentException: 证书“CN=XXXX”必须具有能够进行密钥交换的私钥.该进程必须具有访问私钥的权限.这个问题是因为 WCF 所使用的帐户(NETWORK SERVICE/ASPNET)对证书私钥文件的读访问权限造成的. 造成上面的错误主要是Network Serv
System.Security.Cryptography.CryptographicException,密钥集不存在
非常感谢,已经解决了.是当前用户没有权限访问证书的私钥文件的问题,之前尝试去解决,但是在对:C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys这个目录授权的时候出错了,一直报这个错误 “将安全信息应用到以下对象时发生错误 拒绝访问”,最后在这里http://zhidao.baidu.com/link?url=_dCQV-Vgt-QhJ0XnAN6UaMU3enmbJiaZS6v
第33章 密码学(Cryptography),密钥(Keys)和HTTPS - Identity Server 4 中文文档(v1.0.0)
IdentityServer依赖于几个加密机制来完成它的工作. 33.1 令牌签名和验证 IdentityServer需要非对称密钥对来签署和验证JWT.此密钥对可以是证书/私钥组合或原始RSA密钥.无论如何,它必须支持带有SHA256的RSA. 加载签名密钥和相应的验证部分是通过实现ISigningCredentialStore和IValidationKeysStore来完成的.如果要自定义加载密钥,可以实现这些接口并将其注册到DI. DI构建器扩展有几种方便的方法来设置签名和验证密钥 - 请
Java Cryptography Extension (JCE): 放开Java加密算法密钥最大长度16的限制
1. 在官网下载JCE: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html 2. 解压后,将local_policy.jar,US_export_policy.jar拷贝至JAVA_HOME目录下的 jre/lib/security/目录下,举例: /usr/java/jdk1.6.0_43/jre/lib/security/ 3
net中System.Security.Cryptography 命名空间 下的加密算法
.net中System.Security.Cryptography命名空间 在.NETFramework出现之前,如果我们需要进行加密的话,我们只有各种较底层的技术可以选择,如 Microsoft Crypto API.Crypto++.Openssl等等,其用法相当复杂.而在 .NET Framework中,这些复杂内容已经被封装在各个 .NET 框架类中,并且由一个System.Security.Cryptography 命名空间包含这些与加密.签名相关的类.利用这些类,我们就可以很方便地使
ECC-Elliptic Curves Cryptography,椭圆曲线密码编码学
ECC ECC-Elliptic Curves Cryptography,椭圆曲线密码编码学,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制.在软件注册保护方面起到很大的作用,一般的序列号通常由该算法产生. 当我开始整理<Java加密技术(二)>的时候,我就已经在开始研究ECC了,但是关于Java实现ECC算法的资料实在是太少了,无论是国内还是国外的资料,无论是官方还是非官方的解释,最终只有一种答案--ECC算法在jdk1.5后加入支持,目前仅仅只能完成密钥的生成与解析.
部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
转载:http://www.cnblogs.com/jys509/p/4499978.html 在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误: 用户代码未处理 System.Security.Cryptography.CryptographicException HResult=-2146893792 Message=出现了内部错误. Source=mscorlib StackTrace: 在 System.Security.Cryptography.
热门专题
hive cmd 缺
sql number转char保留一位小数点
mask 做掩膜时最后一行如果为0需要补充吗
ACM天津现场赛在哪里开
tar压缩当前目录下的所有文件
unity路径'/'转'\\
outlook 新建规则显示无对象
echarts与div
layui 轮播图指示器位置靠右
github url导入的仓库 怎么同步
linux没有命令pgadmin
怎么清空textbox的password类型的内容
js layui 刷新select 默认选中第一个
c# task thread 区别
c语言x=1-1 3 1 5-1 6
linux 安装anaconda
nodejs关闭某个系统进程
百度地图api监听地图缩放事件
c 怎么输出string中的数字
小程序webview 返回主页