我希望在我的一个程序中实现 IDEA 算法以进行加密。起初我想实现它,但很快就放弃了这个想法,因为它似乎对我来说太复杂了,无法实现。我在网上搜索了相同的任何库实现并坚持使用 mcrypt。但是,正如这里所说,idea 是一个非免费的 mcrypt 包。有什么办法可以将 IDEA 添加到 mcrypt 中吗?或者有没有在 C/Python 中提供这种加密功能的库?
2 回答
2015 年更新: IDEA 的最后一项专利显然已于 2012 年到期。但是,作为 64 位块大小的密码,它的设计已经过时,因此不应考虑将其用于新系统设计。
IDEA 的“非免费”描述是因为该密码在欧洲、美国和日本都受专利保护。
您仍然可以下载并编译 mcrypt IDEA 模块,或者在启用 IDEA 密码的情况下编译 OpenSSL。您有责任确保您不侵犯专利。专利所有者 Ascom Systec Ltd. 已将其免版税用于某些应用:
IDEA 算法已获得瑞士 CH-5506 Maegenwil 的 Ascom Systec Ltd. 的专利,允许在免版税的基础上将其用于某些非营利性应用程序。商业用户必须从公司获得许可证才能使用 IDEA。在以下条件下,IDEA 可以免版税使用:
私人用途免费使用:
包含该算法的软件的免费使用严格限于私人之间的非创收数据传输,即不用于商业目的。免费软件开发商要求获得免版税许可以传播包含用于非商业目的的算法的应用程序的请求必须直接提交给 Ascom。
共享软件开发者特别优惠:
共享软件开发人员有一项特殊豁免。当且仅在以下情况下,此类豁免可免除包含该算法的产品的前 10,000 美元总销售额的预付费用和特许权使用费:
- 该产品的售价最低为 10 美元,最高为 50 美元。
共享软件的源代码对公众开放。
研究项目的特殊条件:
算法在研究项目中的使用是免费的,前提是它服务于该项目的目的并在项目期限内。项目终止后对算法的任何使用,包括项目产生的活动以及与项目不直接相关的目的,都需要获得许可。
Ascom Tech 要求免费软件
产品包含以下通知:本软件产品包含美国专利 5,214,703、EPO 专利 0482154(涵盖奥地利、法国、德国、意大利、荷兰、西班牙、瑞典、瑞士和英国)和日本专利申请 508119/1991 中描述和要求保护的 IDEA 算法, “数字块转换装置及其使用方法”(以下简称“算法”)。因此,将算法用于商业目的必须获得 Ascom
Systec Ltd. 的 CH-5506 Maegenwil(瑞士)的许可,该许可是专利权人和所有权利的唯一所有者,包括商标 IDEA。商业目的是指任何产生收入的目的,包括但不限于:
i) 将算法用于公司内部目的(需获得站点许可)。
ii) 将算法整合到任何软件中并分发此类软件和/或向他人提供与此相关的服务(须获得产品许可)。
iii) 使用包含 IDEA 许可未涵盖的算法的产品(受最终用户许可的约束)。
所有此类最终用户许可协议均由 Ascom
Systec Ltd 独家提供,并可通过 WWW网址 http://www.ascom.ch/systec 或通过电子邮件发送至 idea@ascom.ch 索取。用于商业目的以外的用途严格限于在私人之间进行不产生收入的数据传输。政府机构、非营利组织等的使用被视为用于商业目的,但可能受特殊条件限制。任何滥用行为都会受到起诉。
您可以从网站获取idea 模块,将idea.c 和相关文件放入其中,您应该能够重建libmcrypt(如果您使用它,还可以重建mcrypt)。您也可以使用 GPG 版本,或者自己构建一个单独的库,但都不是那么简单。