discrete-mathematics - SAGE 如何使用 sagemath 在这个等式中找到 e?
问题描述
这个问题要求我们在给定的方程 c' = x^e mod N 中求解 x,因为我们已经知道 c', e , mod N。我查看了我的教程,但他们只给了我们一种方法得到 e,但不是 x。
我手动尝试解决它并得到方程:
log c' = e log x mod N
但我不知道如何输入 Sage Math。
这是从教程中找到的e:
离散对数 (c',Mod(x,N))
解决方案
问题实际上是在问如何找到 c' 模 N 的第 e 个根。
例如,一个人想解决 12 = x^99 模 347。
这相当于找到 12 模 347 的 99 次根。
只需设置模 347 的整数环,
sage: A = Zmod(347)
sage: A
Ring of integers modulo 347
给那个环中的元素 12 命名,
sage: a = A(12)
并向 Sage 求这个元素的 99 个根:
sage: a.nth_root(99)
241
检查这是否回答了问题:
sage: A(241)^99
12
sage: pow(241, 99, 347)
12
sage: power_mod(241, 99, 347)
12
推荐阅读
- php - Laravel,如何在 foreach 循环中查看数组
- amazon-web-services - 触发具有多个必需源的 Lambda 函数
- python - 如何使用 coremltools 将 matterport mask_rcnn keras(.h5) 模型转换为 coreml 模型(.mlmodel)
- angular - Angular Material Table: Property 'displayedColumns' does not exist on type 'ContentComponent'
- amazon-web-services - 带有负载均衡器和 Auto Scaling 组的 AWS CloudFormation 只是继续加载网站
- javascript - javascript在地图函数中保存多个值
- java - 双向一对多映射时插入后生成的更新
- javascript - 代码完成在回调中不起作用
- postgresql - PostgreSQL:列 VS 数组
- python - 如何使输入等于另一个文件中的一行