【问题标题】:Read power of an exponential in sympy在 sympy 中读取指数的力量
【发布时间】:2021-12-19 03:16:42
【问题描述】:

我正在尝试实现描述here 的加密方案,它使用正交矩阵和指数函数来加密和解密文本。我正在准确地重新创建他们的结果,然后从那里改变。我的主要问题是我只是不知道如何读取所需的指数以存储在数组中。

【问题讨论】:

  • 代码不完整:NameError: name 'encodedtext_pad' is not defined
  • 已添加,对此感到抱歉!
  • 提出这个密码的论文相当奇怪和令人困惑,特别是它谈到了私钥和公钥,但是使用相同的密钥来加密和解密消息。它似乎还假设一个实数可以以 a*e^k 的形式唯一表示,这是不正确的。有很多更好的研究和解释的密码系统,我宁愿避开这个。
  • 我不能同意你更多@bb1 但不幸的是它被分配为线性代数类中的一个项目。我怀疑当他们说 C 由私钥和公钥组成时,这两个密钥都是两个正交矩阵,因此它们的乘积也是正交的。这是我最初实现它的方式,但在得到令人困惑的结果后,我决定尝试在论文中复制结果。

标签: python encryption sympy linear-algebra


【解决方案1】:

您可以从这样的表达式中提取 E 的指数:

>>> from sympy import exp
>>> eq =21*exp(18)+15*exp(3)
>>> [i.args[0] for i in eq.atoms(exp)]
[3, 18]

exp 是一个带有一个 arg 的函数;带参数的 SymPy 对象使用属性 args 来指示用于创建对象的参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多