首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编舟记

    创建数字钱包(零)KDF 密钥派生算法

    KDF 的定义 实现 key stretching [1] 的方法,具体就是从一个 master key,password 或者 passphrase 派生出一个或者多个密钥,派生的过程,使用PRF(Pseudo Scrypt (Memory-Hard algorithm) Scrypt 也是一种 password-base KDF 算法,比起 PBKDF2 需要消耗更多的资源,从而有效防止了专有硬件 ASIC/ Passphase 用于用户认证或者加密程序的操作步骤,特别是KDF算法就是从passphrase中派生出来的。

    3.7K30发布于 2019-02-26
  • 来自专栏MySQL解决方案工程师

    MySQL 8.0.30 的数据加密有哪些变化?

    在这个版本里,除了为数据加密功能增加了KDF(Key Derivation Function),还为企业版发布了新的加密组件,以替代之前基于OpenSSL的UDF。 KDF MySQL具有SQL级别的加密功能,社区版的MySQL提供了AES_DECRYPT(),AES_ENCRYPT()函数用于数据的加密和解密,函数使用AES(Advanced Encryption 从8.0.30开始,MySQL支持使用KDF,函数根据“key_str”中传递的信息和在其他参数中提供的salt(盐值)或附加信息创建一个密码学上的强密钥。 KDF提供了更好的安全性,比在使用函数时指定自己的预生成密钥或通过简单的方法派生的密钥更好。 ); Query OK, 0 rows affected (0.0003 sec) --设置KDF名称 MySQL localhost:3350 ssl SQL > SET @kdf_name =

    2.4K30编辑于 2022-11-21
  • 来自专栏深入浅出区块链技术

    以太坊钱包开发系列2 - 账号Keystore文件导入导出

    因此在完整介绍Keystore 文件如何生成前,有必要先介绍一下KDF。 使用 KDF 生成秘钥 密码学KDF(key derivation functions),其作用是通过一个密码派生出一个或多个秘钥,即从 password 生成加密用的 key。 其实在理解开发HD 钱包涉及的 BIP32、BIP44、BIP39中介绍助记词推导出种子的PBKDF2算法就是一种KDF函数,其原理是加盐以及增加哈希迭代次数。 kdf: 指定使用哪一个算法,这里使用的是 scrypt。 当我们在使用Keystore文件来还原私钥时,依然是使用kdf生成一个秘钥,然后用秘钥对ciphertext进行解密,其过程如下: ?

    2.8K22发布于 2018-12-25
  • 来自专栏全栈程序员必看

    WhatsAPP通讯协议端对端加密人工智能[通俗易懂]

    计算(KDF 是密钥衍生算法的一种,可以看成加强版的 hash),以衍生出固定长度的消息密钥 SS = KDF(DH1 || DH2 || DH3 || DH4) 这一步,Alice 终于计算出了消息密钥 “KDF 链” 棘轮 KDF 是一种密钥导出函数,通过附加一些数据(数据被称为 “盐”,附加数据又称 “加盐”),将原始密钥导出新的密钥,提高原始密钥的保密性。 公式表达为 KDF (原密钥,盐) = 导出密钥 KDF 算法可用于更安全地保存用户密码,普通的密码管理方式是服务器保存用户密码的哈希值,以避免服务器被攻击后黑客拿到用户密码原文,但是一些简单密码的哈希值仍然可以通过少量的碰撞破解出来 比如原始密码是 123456 的哈希值为” hash (123456)”,使用 KDF 算法得出最终密钥 KDF(hash (123456),用户注册时间)=最终密钥 服务器只保存最终密钥。 “KDF 链棘轮” 就是运用 KDF 算法,设计出一种密钥不断变化的效果,的流程如下: 第一步里,将初始密钥使用 KDF 算法导出新的密钥,新的密钥被切成 2 部分,前半部分作为下一次 KDF 计算的输入

    5.8K31编辑于 2022-06-26
  • 来自专栏丑胖侠

    科普|以太坊私钥存储文件

    "cipherparams": { "iv": "8e0e0905919d6d1669957fdf65f114ce" }, "kdf ; cipherparams:cipher算法需要的参数,参数iv,是aes-128-ctr加密算法需要的初始化向量; ciphertext:加密后的密文,aes-128-ctr函数的加密输入密文; kdf :秘钥生成函数,用于使用密码加密keystore文件; kdfparams:kdf算法所需要的参数; mac:验证密码的编码; 原理解析 加密秘钥 一个以太坊账户是由一对公私钥对构成,并使用强对称算法( 这就涉及到kdf和kdfparams的用途: kdf是一个密钥生成函数,根据密码计算(或者取回)解密密钥。kdf用的是scrypt算法。 kdfparams是scrypt函数需要的参数。 流程回顾 输入密码,密码作为kdf密钥生成函数的输入,计算解密密钥。用解密密钥和ciphertext密文连接并进行处理,和mac比较确保密码正确。

    1.6K30编辑于 2022-05-06
  • 别再守着 Java 17/21 了!Java 25 凭结构化并发 + 虚拟线程,把并发性能卷到天花板

    09密钥派生函数(KDF)API安全方面迎来大升级。Java 25 新增了标准化 API,支持 PBKDF2、Argon2 这些密钥派生算法。 var kdf = KeyGenerator.getInstance("KDF2");kdf.init(new KDFParameterSpec("PBKDF2WithHmacSHA256", 120_ 000));var key = kdf.generateKey();以前开发者要么靠第三方库,要么直接用底层加密 API,麻烦又容易出错。

    1.6K10编辑于 2025-10-29
  • 来自专栏MySQL解决方案工程师

    MySQL 8.0.30 GA

    加密函数AES_ENCRYPT() 和 AES_DECRYPT() 支持KDF KDF(key derivation function)通过将秘钥密码或密码短语等信息传递给函数,用来创建密码学上的强密码 强烈推荐使用KDF,因为它提供了比用户指定密码等方式更为简单的方法,及更好的安全性。 以上内容是MySQL 8.0.30的简单介绍,关于详细的更改内容,请访问官网。

    71020编辑于 2022-11-21
  • 来自专栏即时通讯技术

    即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术

    双棘轮算法包含一个 KDF 棘轮和一个 DH 棘轮。KDF 全称(Key derivation function) 密钥导出函数,用于从一个原始的密钥导出一个或多个密钥。 另外 KDF 需要加“盐”(salt),用于防彩虹表,出于 Hash 的特性,这个“盐”的长度至少要大于 Hash 结果长度。 KDF (原密钥,盐) = 导出密钥KDF 棘轮就是运用 KDF 算法,设计出一种密钥不断变化的效果,流程如下:首先:将初始密钥使用 KDF 算法导出新的密钥,新密钥被切成两部分,前半部分作为下一次 KDF 由于 KDF 算法的单向性,通过这条消息的密钥无法倒推出上一条消息密钥,这就保证了密钥的前向安全。但是如果 KDF 中的盐被掌握,那么它就可以按照这种算法计算出以后所有的消息密钥。 计算,以衍生出固定长度的消息密钥 S:S = KDF(DH1 || DH2 || DH3 || DH4)这一步,Alice 终于计算出了消息密钥 S。

    2.8K30编辑于 2022-08-29
  • 来自专栏数据猿

    钉钉公布接入大模型后产品进展;宝马利用AI技术每年节省100万美元;阿里达摩院自动驾驶实验室负责人沈加翔离职丨每日大事件

    国产1400亿参数知未智能KDF大模型发布 北京知未智能科技有限公司日前在上海发布了知未智能KDF大模型 ,以及基于该模型研发的一系列产品,包括“ KDF 智讯”、“KDF 绝未”、“KDF 中书”等金融行业工具 经过查询得知,知未智能KDF大模型的训练数据以中文为主,并包含大量的金融数据,以提升模型在商业和金融领域的问题处理能力。 此外,训练数据中还融合了部分英文与代码数据,以适应模型的通用能力。 在训练过程中,知未智能KDF大模型将单个汉字视为独立的Token进行处理。模型参数量达1400亿,训练Token数达到4000亿。

    29830编辑于 2023-09-15
  • 来自专栏密码学和区块链

    斯坦福大学密码学-零碎 08

    ppt 链接: 08-odds-and-ends-v2-annotated.pdf Key Derivation KDF :密钥推导函数。 image.png 原密钥是均匀分布的,用PRF构造KDF。 CTX:上下文字符串,是一个唯一的字符串,作为应用的身份。在一个系统中可能有多个应用。多个应用试着建立多个安全密钥。 KDF必须接受密钥交换协议不能生成均匀分布的字符串这一事实。 硬件随机数生成器也可能生成不是均匀分布的字符串。 image.png 先提取后扩展的机制。 image.png 基于密码的KDF。 如何从密码中提取密钥?密码通常具有很少的熵,约为20位左右的熵。不能直接用HKDF。

    1.5K20发布于 2020-11-05
  • 来自专栏大大刺猬

    [翻译] MySQL 5.7.40 更新日志

    (Bug #34138733, Bug #34614578)MySQL Server的AES_ENCRYPT()函数和AES_DECRYPT()函数现在支持使用密钥导出函数(KDF)来创建加密的复杂的密钥 强烈建议使用KDF, 因为它既简单又安全.

    1.6K30编辑于 2022-11-08
  • 来自专栏编舟记

    创建数字钱包(一)

    privateKeyBuffer, false).slice(1); let address = "0x" + keccak256(publicKey).slice(-20).toString("hex"); 加密私钥 利用KDF const password = "Hello,Ethereum" const options = { kdf: "pbkdf2", cipher: "aes-128-ctr", ciphertext) }, id: uuid.v4(), // random 128-bit UUID version: 3 }; keyObject.crypto.kdf

    1.5K20发布于 2019-01-28
  • 来自专栏数安视界

    深入解析HPKE:从手动实现到标准库实践

    KDF(密钥派生函数) 采用HKDF将共享密钥扩展为三个核心参数:● key:对称加密密钥(如AES-GCM-256)● base_nonce:初始计数器● exporter_secret:扩展密钥通过  = serialization.NoEncryption(),))# Alice和Bob约定的密钥规格# 使用KEM_P521_HKDF_SHA512作为KEM算法# 使用HKDF_SHA512作为KDF alice_cipher_suite = CipherSuite.new(            kem_id = KEMId.DHKEM_P521_HKDF_SHA512 ,            kdf_id     bob_cipher_suite = CipherSuite.new(            kem_id = KEMId.DHKEM_P521_HKDF_SHA512 ,            kdf_id

    33021编辑于 2025-08-22
  • 来自专栏数据库相关

    【转】MySQL8.0 GA Encryption加密

    从MySQL 8.0.30开始,这些函数支持使用密钥派生函数(KDF)从key_str中传递的信息中创建一个加密的强密钥。 强烈建议使用KDF,因为它比指定自己的预制密钥或在使用函数时通过更简单的方法派生密钥提供更好的安全性。AES_ENCRYPT和AES_DECRYPT允许控制块加密模式。 mysql> SET GLOBAL block_encryption_mode='aes-256-cbc';实例:AES_DECRYPT(crypt_str,key_str[,init_vector][,kdf_name ][,salt][,info | iterations])AES_ENCRYPT(str,key_str[,init_vector][,kdf_name][,salt][,info | iterations init_vector 初始向量,用于块加密的模式(block_encryption_mode)kdf:密钥派生函数(KDF)的名称,用于根据传入key_str的输入密钥材料和KDF的其他参数创建密钥。

    89110编辑于 2024-09-30
  • 来自专栏Eureka的技术时光轴

    解密聊天记录数据库

    解密微信聊天数据库就是简单的一行代码,(注意sqlcipher新版本(3.x)默认不向下兼容,需要使用,cipher_use_hmac 是兼容1.1.x,kdf_iter 是兼容2.1.x的)。 12345 sqlcipher EnMicroMsg.db 'PRAGMA key = "key"; PRAGMA cipher_use_hmac = off; PRAGMA kdf_iter = 4000

    2.8K40发布于 2019-07-24
  • 来自专栏网络安全攻防

    Guid for Hashcat

    Cipher, Known-Plaintext attack 11900 | PBKDF2-HMAC-MD5 | Generic KDF 12000 | PBKDF2-HMAC-SHA1 | Generic KDF 10900 | PBKDF2-HMAC-SHA256 | Generic KDF 8900 | scrypt | Generic KDF 400 | phpass | Generic KDF 12001 | Atlassian (PBKDF2-HMAC-SHA1) | Generic KDF 20200 | Python | Generic KDF 20400 | Python passlib pbkdf2-sha1 | Generic KDF 16100 | TACACS

    6.1K20发布于 2021-07-21
  • 来自专栏TopFE

    Mongodb 常用操作命令

    port 27019 --username quicktest --password quicktest --collection trans.sp --db quicktest --file /opt/kdf

    45330编辑于 2022-01-24
  • 来自专栏大龄程序员的人工智能之路

    写给开发人员的实用密码学 - MAC

    基于HMAC的密钥派生(HMAC-based key derivation,HKDF) 密钥派生功能(KDF)是将可变长度密码转换为固定长度密钥(比特序列)的功能: function(password) -> key 一种非常简单的KDF函数,我们可以使用SHA256:仅对密码进行哈希处理。 作为更复杂的KDF函数,我们可以通过使用一些称为“盐”的随机值计算HMAC(salt,msg,SHA256)来生成密码,该随机值与导出的密钥一起存储,以后用于再次从密码中导出相同的密钥。

    1.4K20发布于 2020-12-29
  • 来自专栏石头岛

    ethereum-geth常用操作

    kdf: scrypt 密钥生成函数,用于让你用密码加密 keystore 文件。 kdfparams: kdf 算法需要的参数(scrypt函数需要的参数)。 a2816bbca5bf7805e75d4961375579eeb80ede2cb9364f9a8dd8be0be4694a7d", "cipherparams": {}, "kdf

    91820编辑于 2023-10-20
  • 来自专栏大龄程序员的人工智能之路

    详解国密SM2的加密和解密

    在A5步骤中,有个KDF函数需要实现。KDF函数的流程如下,其中的Hv函数请使用SM3: ?

    7K40发布于 2020-03-27
领券