0

我正在使用 BouncyCastles Java API 并想使用 McEliece 加密。在浏览了各种论文以找到好的参数(例如如何选择 McEliece 的参数?)后,我现在遇到了问题,我看不到使用 BouncyCastle API 设置这些参数的可能性。

在所有论文中,参数集都是一个三元组:(n, k, t)。但是使用 BouncyCastle,我只能指定 3 元组(m, t, poly)来生成密钥对:

new McElieceCCA2Parameters(m, t, poly)

它们如何对应于(n, k, t)参数集?

4

1 回答 1

1

我相信mtpoly定义一个 Goppa 代码。m表示在代码中生成支持的 GF2 上的多项式的次数。n表示支持的元素数/加密消息的长度(以位为单位)。我快速浏览了McElieceParameters,他们使用了完全支持。这意味着n始终等于2^mt,代码可以纠正的错误数,必须从区间中选择,[2; (n - 1)/m]并且k隐式等于n - m*t

于 2017-05-08T12:18:51.907 回答