首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
密钥派生函数与加密算法的使用
2024-10-20
写给开发人员的实用密码学(三)—— MAC 与密钥派生函数 KDF
目录 一.MAC 消息认证码 MAC 与哈希函数.数字签名的区别 MAC 的应用 1. 验证消息的真实性.完整性 2. AE 认证加密 - Authenticated encryption 3. 基于 MAC 的伪随机数生成器 二.KDF 密钥派生函数 参考 本文主要翻译自 Practical-Cryptography-for-Developers-Book,但是笔者也补充了 HMAC 的 Python 实现以及 scrypt 使用示例. <写给开发人员的实用密码学>系列文章目录: 写给开发人
密钥导出函数(Key derivation function)
在密码学中,密钥导出函数(KDF)使用伪随机函数从秘密值(eg.主密钥)导出一个或多个密钥.KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥(eg.将作为Diffie-Hellman密钥交换的结果的组元素转换为用于AES的对称密钥).密钥加密哈希函数是用于密钥推导的伪随机函数的流行示例.KDFs的使用: 密钥导出函数通常与非秘密参数一起使用,以从公共秘密值导出一个或多个密钥.这样的使用可以防止获得派生密钥的攻击者学习关于输入秘密值或任何其他导出密钥的有用信息:也可以使用K
分析DH加密算法,一种适基于密钥一致协议的加密算法。
DH Diffie-Hellman算法(D-H算法),密钥一致协议.是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想.简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"的.可以共享的密钥.换句话说,就是由甲方产出一对密钥(公钥.私钥),乙方依照甲方公钥产生乙方密钥对(公钥.私钥).以此为基线,作为数据传输保密基础,同时双方使用同一种对称加密算法构建本地密钥(SecretKey)对数据加密.这样,在互通了本地密钥(SecretKey)算法后,甲乙双方公开自
写给开发人员的实用密码学(七)—— 非对称密钥加密算法 RSA/ECC
本文部分内容翻译自 Practical-Cryptography-for-Developers-Book,笔者补充了密码学历史以及 openssl 命令示例,并重写了 RSA/ECC 算法原理.代码示例等内容. <写给开发人员的实用密码学>系列文章目录: 写给开发人员的实用密码学(一)-- 概览 写给开发人员的实用密码学(二)-- 哈希函数 写给开发人员的实用密码学(三)-- MAC 与密钥派生函数 KDF 写给开发人员的实用密码学(四)-- 安全随机数生成器 CSPRNG 写给开发人员的实用
[C#]AES加密算法实现
密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一. (以上来自百度) c#aes算法实现的辅助类 publi
TCP/IP 笔记 - 安全
安全:可扩展身份认证协议.IP安全协议.传输层安全.DNS安全.域名密钥识别邮件 任何由用户或以用户账号执行却违背了用户本身意愿的软件被称为恶意软件 网络安全是一门十分广泛及有深度的学识,而本书旨在了解TCP/IP协议族知识,所以书中只介绍了一些TCP/IP所使用的部分安全方案.并且对安全这块我也没多少深入的研究,也就基于书本内容做些知识摘抄以供了解和学习. 信息安全基础 从信息安全的角度看,无论是否在计算机网络中,信息都该具有一些属性: 1. 机密性,信息只能为其指定的用户知晓. 2. 完整性
信息摘要算法之六:HKDF算法分析与实现
HKDF是一种特定的键衍生函数(KDF),即初始键控材料的功能,KDF从其中派生出一个或多个密码强大的密钥.在此我们想要描述的是基于HMAC的HKDF. 1.HKDF概述 密钥派生函数(KDF)是密码系统的基本组成部分.它的目标是获取一些初始的密钥材料,并从中派生出一个或多个安全强度很大的密钥. 我们将要介绍的是基于HMAC的KDF,称之为HKDF,它可以应用于各种协议和应用程序的构建.HKDF在逻辑上由两个部分组成.第一个部分采用输入密钥材料和“提取”,它是一个固定长度的伪随机密钥K.第二部分
国家密码标准-商密SM2官方文档整理
SM2官方文档整理 算法原理 SM2算法介绍 我国自主知识产权的商业密码算法,是ECC(椭圆加密算法)的一种,基于椭圆曲线离散对数问题(公钥密码体制所依据的难题主要为大素数分解问题.离散对数问题.椭圆曲线),计算复杂度是指数级.同等安全条件下,椭圆曲线密码较其他公钥算法所需密钥长度小很多. ElGamal离散对数密码体制 (一)公钥密钥生成 Alice首先构造一条椭圆曲线E,在曲线上选择一点G作为生成元,并求G的阶为n,要求n必须为质数.此时构成了一个循环群<G>. Alice选择一个私钥k
一篇文章搞懂密码学基础及SSL/TLS协议
SSL协议是现代网络通信中重要的一环,它提供了传输层上的数据安全.为了方便大家的理解,本文将先从加密学的基础知识入手,然后展开对SSL协议原理.流程以及一些重要的特性的详解,最后会扩展介绍一下国密SSL协议的差异.安全性以及TLS 1.3的关键新特性. 限于篇幅以及个人知识水平,本文不会涉及过于细节的内容.特别地,本文将不涉及算法的具体原理,也不涉及实际代码的实现.而是试图以图表等直观的方式来了解基本的原理以及流程. 本博客已经迁移至CatBro's Blog,那里是我自己搭建的个人博客,页面效
C#简单的加密类
1.加密 public class EncryptHepler { // 验值 static string saltValue = "XXXX"; // 密码值 static string pwdValue = "XXXX"; /// <summary> /// 加密 /// </summary> public static string Encrypt( string input ) { byte[ ] data = System.Text
Silverlight信息加密 - 通过Rfc2898DeriveBytes类使用基于HMACSHA1的伪随机数生成器实现PBKDF2
原文: http://blog.csdn.net/xuyue1987/article/details/6706600 在上一篇文章当中,介绍到了通过Silverlight获取web.config中的值,最后提到了加密的问题,因此首先对该安全问题做一个简单的描述. 问题描述 1. 下方是我的web.config文件,当中配置这一个媒体文件服务器的IP地址 <?xml version="1.0"?> <!-- For more information on how to
国密算法--Openssl 实现国密算法(加密和解密)
上一次讲了产生密钥,这次我们讲一下加密解密的实现. 先说一下加密解密的流程,一下这些内容都是从国密局发布的国密标准文档里面摘录出来的.大家可以去国密局的网站上自己下载. 下列符号适用于本部分. A,B:使用公钥密码系统的两个用户. a,b: Fq中的元素,它们定义Fq上的一条椭圆曲线E. dB:用户B的私钥. E(Fq): Fq上椭圆曲线E 的所有有理点(包括无穷远点O)组成的集合. Fq :包含q个元素的有限域. G:椭圆曲线的一个基点,其阶为素数. 2Hash( ):密码杂凑函数. Hv (
C#.NET 国密SM3withSM2签名与验签 和JAVA互通
C# 基于.NET FRAMEWORK 4.5 JAVA 基于 JDK1.8 一.要点 1.签名算法:SM3withSM2. 2.签名值byte[] 转字符串时,双方要统一,这里是BASE64. 二.工具类和调用DEMO C# 引用了BouncyCastle.Crypto类库,在nuget上下载最新即可. 工具类: using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.GM; using Org.BouncyCastle.Asn1.X9
《ASCE1885的信息安全》のCryptoAPI---密钥的产生和交换函数
在公开密码算法的前提下,数据的安全取决于密钥.因此,密钥的产生.销毁.交换(分发)是数据保密工作中的重要部分. CryptoAPI密钥产生和交换函数主要有生成密钥函数CryptGenKey.派生密钥函数CryptDeriveKey.销毁密钥函数CryptDestroyKey.复制密钥函数CryptDuplicateKey.导出密钥函数CryptExportKey.导入密钥函数CryptImportKey.获得密钥参数函数CryptGetKeyParam.设置密钥参数函数CryptSetKeyPa
CSP应用开发-CryptAPI函数库介绍
基本加密函数为开发加密应用程序提供了足够灵活的空间.所有CSP的通讯都是通过这些函数.一个CSP是实现所有加密操作的独立模块.在每一个应用程序中至少需要提供一个CSP来完成所需的加密操作.如果使用多于一个以上的CSP,在加密函数调用中就要指定所需的CSP.微软基本加密提供者(Microsoft Base Cryptographic Provider),是缺省绑定到CryptoAPI 里的.如果没有指定其他CSP时,这个CSP 就是却省的.每一个CSP对CryptoAPI 提供了一套不同的实现.一
Android安全开发之浅谈密钥硬编码
Android安全开发之浅谈密钥硬编码 作者:伊樵.呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码.文件中,这样做会引起很大风险.信息安全的基础在于密码学,而常用的密码学算法都是公开的,加密内容的保密依靠的是密钥的保密,密钥如果泄露,对于对称密码算法,根据用到的密钥算法和加密后的密文,很容易得到加密前的明文:对于非对称密码算法或者签名算法,根据密钥和要加密的明文,很容易获得计算出签名值,从而伪造签名. 2 风险案例 密钥硬
Android应用安全开发之浅谈加密算法的坑
<Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题 Android开发中,难免会遇到需要加解密一些数据内容存到本地文件.或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击.还有很多开发者没有意识到的加密算法的问题. 1.需要了解的基本概念 密码学的三大作用:加密( Encryption).认证(Authentication),
使用java库中的对称加密算法
对称加密算法是说加密方和解密方使用相同的密钥.常见的对称加密算法包括4个,DES,DESede(3DES),AES,PBE. 本文讨论的内容是加密算法,不是Message Digest,不是编码.下面区分一下这三个概念. 加密算法是一对一映射,明文密文一一对应.加密是不明确的,是隐晦的. 信息摘要是一个密文对应多个明文,它只是明文整体的一个指纹,一个反映,一个摘要. 编码是一对一映射,是明确的,是显然易见的,比如base64编码. 一.DES(Data Encryption Standard)
AES对称加密算法原理
原著:James McCaffrey 翻译:小刀人 原文出处:MSDN Magazine November 2003 (Encrypt It) 本文的代码下载:msdnmag200311AES.exe (143KB) 本文假设你熟悉 C# 和 位(bit)操作. 摘要 AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范.它被预期能成为人们公认的加密包括金融.电信和政府数字信息的方法.本文展示了AES的概貌并解析了它使用的算法
AES对称加密算法原理(转载)
出处:http://www.2cto.com/Article/201112/113465.html 原著:James McCaffrey 翻译:小刀人 原文出处:MSDN Magazine November 2003 (Encrypt It) 本文的代码下载:msdnmag200311AES.exe (143KB) 本文假设你熟悉 C# 和 位(bit)操作. 摘要 AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范.它被预
热门专题
分布式微服务下的redis
php CURL抓取网页标题
vmware导出qcow2
使用random模块随机生成手机号码
nginx写access日志时机
sql 将数字float转换成varchar
presto json解析后存储
vue 使用多个ip、端口
为什么html页面在手机上没有样式
微软例程里面得RazorPagesMovie源码
npoi读取excel
html往上新增节点
shell怎么连上docker
unity android如何过滤输入框的输入
nextjs写前端express写后台接口
网页按钮触发多个显示和隐藏功能
微信小程序 input placeholder 级别如何处理
js json实例化
quartues fft ip代码
trucate删除可以加条件吗