2011-01-05 145 views
0

我希望在我的一個程序中實現IDEA算法以用於加密目的。我首先想到實施它,但很快放棄了這個想法,因爲這對我來說太複雜了。我搜索了網絡上的任何庫實現,並堅持使用mcrypt。但想法是一個非免費的mcrypt包,因爲它說here。有什麼方法可以將IDEA添加到mcrypt中?還是有任何庫在C/Python中提供這種加密功能?C/Python中的國際數據加密算法(IDEA)

+0

[根據維基百科(https://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm)專利已過期'最後專利在2012年到期,IDEA是現在無專利,因此可以自由地use.'我無法在Python中找到IDEA實現。 Python中是否有公開的免費可用實現? – 2015-09-18 06:45:09

回答

3

2015年更新: 最後IDEA的專利在2012年。但是顯然過期,作爲一個64位的塊大小密碼的設計相當陳舊,因此它不應該被認爲是新的系統設計。


IDEA的「非自由」描述是因爲密碼在歐洲,美國和日本都有專利保護。

您仍然可以下載並編譯mcrypt IDEA模塊,或使用啓用的IDEA密碼編譯OpenSSL。確保您不侵犯專利由您決定。專利權人,的Ascom Systec公司有限公司,已經將其提供免版稅的某些應用:

IDEA算法是由 的Ascom Systec公司有限公司專利CH-5506 的Maegenwil,瑞士,誰允許它 在免版稅的基礎上用於某些非營利性應用的 。 商業用戶必須從公司獲得許可 才能使用 IDEA。 IDEA可由 免稅的基礎上 下列條件下使用:

免費使用用於私人用途:

自由使用含有 軟件算法嚴格限於 非創收的數據傳輸 之間私人,即不是 服務商業目的。 免費軟件開發者請求 獲取免版稅許可證 傳播應用程序 包含 算法的非商業目的必須是 針對Ascom。

特別提供共享軟件 開發商:

沒有爲 共享軟件開發特殊豁免。這種放棄 消除了前期費用以及 含有 算法當且僅當特許權使用費爲第一$ 10,000 總銷售額的一款產品:

  1. 該產品被出售最少US $ 10和最多 50美元。
  2. 共享軟件的源代碼向公衆開放。免費提供

    在研究中使用的算法 項目是它 服務於項目的持續時間內這樣的項目 和目的:

    研究 項目的特殊條件。任何 在項目終止後包括 項目 和 需要許可證的項目終止使用該算法。

    的Ascom技術需要以下 通知被列入免費
    產品:

    該軟件產品包含所描述和 聲稱在美國專利5214703的 IDEA算法,EPO 專利0482154(包括奧地利, 法國,德國,意大利, 荷蘭,西班牙,瑞典, 瑞士和英國)和日本 專利申請508119/1991, 「用於轉換 的裝置數字塊和使用相同的「 (以下簡稱」 算法「)。任何使用 算法用於商業目的的是 因此受到來自CH-5506 Maegenwil 的(瑞士)的Ascom
    Systec公司有限公司的許可,是專利權人和的一切權利 唯一所有者,包括 商標的主意。

    商業目的,是指包括 但不限於任何 創收目的:

    i)使用該算法對公司內部 目的(受網站 許可證)。

    ⅱ)結合的算法進 任何軟件和分配這種 軟件和/或提供與此有關的給他人 (受 產品許可證)服務。

    iii)使用包含 算法但未包含在IDEA 許可證 (取決於最終用戶許可證)的產品。

    所有這些最終用戶許可協議 是獨家提供的Ascom
    Systec公司和公司可以通過 的WWW被要求在http://www.ascom.ch/systec 或電郵至[email protected]

    除用於商業用途以外的其他用途 用途嚴格限制爲 非收益產生數據轉移 個人之間。政府機構使用 ,非營利組織 等被視爲 用於商業目的,但可能 受特殊條件。任何 濫用將被起訴。

+0

問題在於,它不再是由mcrypt分發,與其他一些專利算法不同:它們幾乎在十年前將其從回購庫中移除。我上面發佈的網站是我發現的唯一一個仍然存在的網站。 – SilverbackNet 2011-01-06 03:29:35

+0

@SilverbackNet:嗯,它肯定仍然是用OpenSSL發佈的,所以你可以使用這個庫(C接口是''中的函數)。 – caf 2011-01-06 03:48:59

+0

我安裝了openssl,並列出了密碼命令,但它不顯示任何想法。雖然配置想法文件已配置,但正在運行make all在創意文件夾中沒有任何內容。 – primpap 2011-01-07 04:30:06

2

您可以從a web site中獲得想法模塊,將idea.c和相關文件放入,並且您應該能夠重建libmcrypt(如果使用它,則使用mcrypt)。您也可以使用GPG版本,或者自己構建一個單獨的庫,但都不那麼簡單。

+0

我使用的是Ubuntu和該站點僅列出.rpm軟件包。任何解決這個問題的方法? – primpap 2011-01-07 03:00:17

+0

這裏沒有包含它的軟件包,而且他的RPM也是非常過時的。您必須從源代碼進行編譯,方法是將libmcrypt-idea-0.9.tar.bz2中的幾個.c文件與當前的mcrypt源代碼樹合併。如果你需要預編譯的,你應該使用OpenSSL。 – SilverbackNet 2011-01-07 03:34:44

+0

我正在嘗試使用openssl,但它不包含idea模塊。 – primpap 2011-01-07 05:50:05