上传者: 38621272
|
上传时间: 2021-10-23 10:59:27
|
文件大小: 7KB
|
文件类型: -
matlab求矩阵的行列式的代码IndexCalculusMethod
使用指数演算法求解离散对数问题
描述
使用指数演算法求解离散对数问题(β=αamod
p)。
任务是找到一个已知的β值。
您将使用p
=
10930889,并对由α=
2317547形成的子组执行计算。该子组的阶次为59407。请注意,这使您无需使用索引演算方法即可轻松解决问题。
β=
9791436;
解决方案
可在存储库中找到用于解决问题的matlab代码
指数演算方法需要使用因子库。
选择这个因素是解决问题的决定性因素。
如果因数基数太大,则程序将花费很长时间运行,但是如果因数基数太小,则程序找不到解决方案。
关于此问题的不同数量,我选择了以下因素基础:[-1
2
3
5
7
11
13
17
19
23
29
31]。
然后,我选择了一个随机整数x
<p。
下一步是分解s
=αxmod
p。
如果s可以在因子基上分解,我将把不同的因子存储在矩阵中。
我将一直这样做,直到在矩阵中找到[length(base)]个线性独立的线为止。
通过计算包含因子的矩阵的秩可以知道这一点。
下一步是解决线性系统。
然后,我们