Haskell 重写库函数

Haskell 重写库函数,haskell,cryptography,elliptic-curve,Haskell,Cryptography,Elliptic Curve,我正在尝试使用从库中调用curveGenerateKeyPair函数并用于scalarGenerate函数的库,如何在不修改所有库的情况下修改此scalarGenerate函数?还有其他方法吗 基本上,我想修改库的scalarGenerate函数(使用randomByteString生成库), 因此,这将影响库中的deriveEncrypt函数的输出 我使用的曲线类型为curve=Proxy::Proxy curve\u X25519deriveEncrypt使用curveGenerateKey

我正在尝试使用从库中调用
curveGenerateKeyPair
函数并用于
scalarGenerate
函数的库,如何在不修改所有库的情况下修改此
scalarGenerate
函数?还有其他方法吗

基本上,我想修改库的
scalarGenerate
函数(使用randomByteString生成库), 因此,这将影响库中的
deriveEncrypt
函数的输出


我使用的曲线类型为
curve=Proxy::Proxy curve\u X25519
deriveEncrypt
使用
curveGenerateKeyPair
作为相关曲线的曲线类型。我在那里没有看到任何关于
scalarGenerate
的信息。
曲线的
椭圆曲线
实例定义

curveGenerateKeyPair _ = do
    s <- X25519.generateSecretKey
    return $ KeyPair (X25519.toPublic s) s
curveGenerateKeyPair

是的,我们可以这样做,如果“A”只是调用“B”库,那么我们可以创建“B”的实例并覆盖它,但是如果“A”调用“B”,“B”调用“C”,我们可以从“A”中覆盖“C”的实例吗?@MaheshUligade,当问题模糊时,很难给出具体的答案。你能编辑你的问题来更具体更详细地解释你想做什么吗?很抱歉,含糊其辞。基本上,我想修改
Crypto.PubKey.ECC.P256
scalarGenerate
函数中的随机种子生成,以便在
Crypto.PubKey.ECIES
@MaheshUligade中的
curveGenerateKeyPair
中生效,这仍然是模糊的。请改进您的问题,而不是在评论中创建一条长长的线索。谢谢我用其他方式完成了这项工作,我正在更新您的答案您使用的是什么曲线类型的
deriveEncrypt
?您几乎肯定需要定义自己的曲线类型,但如果没有具体的细节,就很难说了。@dfeuer
curve=Proxy::Proxy curve_X25519
,最后您说到点子上了。但为什么会出现在评论中?这是一个重要的问题!添加到问题中我已修改我的答案以匹配您修改的问题。