首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于DLP的键控单向函数

基于DLP的键控单向函数
EN

Cryptography用户
提问于 2018-04-07 07:48:21
回答 1查看 149关注 0票数 1

我试图理解是否可以使用DLP来构建具有以下属性的键控单向函数:

  1. $H_a(H_b(M)) = H_c(M)$,其中$a$和$b$是键,$c=a*b$
  2. 该函数的输出相对较小,例如256位。

函数本身可以是$h_a=M^a$ mod $p$,其中$p$是256位素数.但是,我不确定在质数很小的情况下,这样做有多安全。具体而言,我想了解以下几点:

  1. 给定$h_a$和$p$,计算$M$是不切实际的。
  2. 给定$h_a$、$M$、$c$和$p$,计算$a$是不切实际的

我需要处理的消息相对较小(256 - 512位),但如果这会增加安全性,则可以进行填充。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-04-07 08:02:08

一个能计算离散日志模块$p$的对手,如果给出甲骨文对未知$a$的访问权限,就可以通过对该甲骨文的单次查询计算$\log_2 H_a(2) \equiv \log_2 2^a \ query \pmod $。

在此基础上,给定未知$h = H_a(M)$,它们可以计算$$h^{a^1}} \equiv (M^a)^{a^{{-1}} \equiv ^{a a^{-1} \equiv \pmod,$$其中$a^{-1}$是$a$模$\phi( p ) =p- 1$的逆。

如果$p$是256位,则对手现在可以计算离散日志模块$p$。您需要$p \gg 1024$才能安全,还有其他条件。

更详细地了解为什么需要这些属性,以及更广泛地尝试实现什么,可能会有所帮助。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/58169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档