首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在erlang中有模逆函数吗?- Erlang

在erlang中有模逆函数吗?- Erlang
EN

Stack Overflow用户
提问于 2013-10-31 18:46:02
回答 2查看 381关注 0票数 0

我试图重新创建一个RSA加密程序,我已经在Java中制作成Erlang。不过,我不知道如何生成私钥。我最初的java代码:

代码语言:javascript
运行
复制
    privateKey = publicKey.modInverse(phi);

我找不到任何通用的算法来在网上找到'd‘或私钥。大多数功能小的简单方程不能在更大的问题上实现,或者本教程只给出私钥而不解释过程。有人能指点我的方向吗?这样我就能学会生成私钥了?或者,如果Erlang中有一个模反函数,请说明它是什么。

提前谢谢你

编辑:实际要解的方程是e*d mod ( phi ) = 1,其中e是公钥,d是私钥,phi=p1。当所有其他变量都已知时,我很想为d求解。

EDIT2: Wolframalpha.com为d返回多个可能的值。这是如何工作的?

EN

回答 2

Stack Overflow用户

发布于 2013-10-31 19:46:08

虽然这样的东西可能隐藏在密码或public_key模块中,但它并不是它们的公共API的一部分。

由于Erlang有内置的大整数(普通整数实际上可以得到任意大小),所以很容易实现一种常用的算法来计算值。

例如,使用递归函数实现扩展欧氏算法特别容易。

票数 2
EN

Stack Overflow用户

发布于 2013-10-31 19:00:38

不存在逆模,因为从技术上讲,逆模有无穷大的解。

重新创建可用版本的唯一方法是使用模块本身。

代码语言:javascript
运行
复制
int rest = number%dividor;
int quotient = (number-rest)/dividor;

int modInv = dividor*quotient+rest;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19714335

复制
相关文章

相似问题

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