小编Set*_*eth的帖子

根据类似英语的字符串对字符串进行评分

我不确定如何确切地说出这个问题,所以这是一个例子:

string1 ="THEQUICKBROWNFOX"string2 ="KLJHQKJBKJBHJBJLSDFD"

我想要一个将string1高于string2和其他一百万个乱码字符串的函数.请注意缺少空格,因此这是逐字符功能,而不是逐字逐句.

在90年代,我在Delphi中编写了一个三元组评分函数,并使用来自Huck Finn的三元组填充它,我正在考虑将代码移植到C或Python或将其插入一个独立的工具,但必须有更有效的方法目前为止.我会这样做数百万次,所以速度很快.我尝试了Reverend.Thomas Beyse()python库并使用一些全部大写字符串训练它,但它似乎需要单词之间的空格,因此返回得分[].我发现了一些马尔可夫链库,但它们似乎也需要在单词之间留出空格.虽然从我对他们的理解,我不明白为什么会这样......

无论如何,我做了很多密码分析,因此将来使用空格和标点符号的评分函数会有所帮助,但是现在我只需要ALLCAPITALLETTERS.

谢谢您的帮助!

c python cryptography cryptanalysis

12
推荐指数
1
解决办法
2442
查看次数

Cube root modulo P - 我该怎么做?

我试图在Python中计算数百个数字模P的立方根,并且失败了.

我找到了Tonelli-Shanks算法的代码,据说这个算法从平方根到立方根都很容易修改,但这让我望而却步.我搜索过网络和数学图书馆以及一些书都无济于事.代码会很精彩,算法也会用简单的英语解释.

这是用于查找平方根的Python(2.6?)代码:

def modular_sqrt(a, p):
    """ Find a quadratic residue (mod p) of 'a'. p
        must be an odd prime.

        Solve the congruence of the form:
            x^2 = a (mod p)
        And returns x. Note that p - x is also a root.

        0 is returned is no square root exists for
        these a and p.

        The Tonelli-Shanks algorithm is used (except
        for some simple cases in which the solution
        is known from an identity). This algorithm
        runs in …
Run Code Online (Sandbox Code Playgroud)

python algorithm rsa modulo public-key-encryption

10
推荐指数
1
解决办法
5786
查看次数