国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用橢圓曲線的信息傳輸系統(tǒng)、加密設(shè)備和解密設(shè)備的制作方法

      文檔序號(hào):7609346閱讀:295來(lái)源:國(guó)知局
      專利名稱:使用橢圓曲線的信息傳輸系統(tǒng)、加密設(shè)備和解密設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及秘密信息傳輸技術(shù),該技術(shù)將密碼術(shù)用于信息安全。
      背景技術(shù)
      近幾年中,密碼術(shù)用于各個(gè)領(lǐng)域,以安全地進(jìn)行通信,而不向第三方暴露通信內(nèi)容。
      例如,當(dāng)傳送存儲(chǔ)介質(zhì),例如DVD時(shí),其中DVD上記錄了諸如音樂(lè)或電影的內(nèi)容,或者當(dāng)向許多用戶通過(guò)網(wǎng)絡(luò)傳輸該內(nèi)容時(shí),該內(nèi)容被加密,以防止未授權(quán)使用。
      主要具有兩種類型的密碼術(shù)秘密密鑰密碼術(shù)和公共密鑰密碼術(shù)。在秘密密鑰密碼術(shù)中,加密和解密使用相同的密鑰。因此,發(fā)送器(執(zhí)行加密)和接收器(執(zhí)行解密)必須預(yù)先共享密鑰。而在公共密鑰密碼術(shù)中,加密和解密使用不同的密鑰,并且解密密鑰保密,而加密密鑰公開(kāi)。
      DES(數(shù)據(jù)加密標(biāo)準(zhǔn))是一種秘密密鑰密碼術(shù)。DES是塊密碼,它使用明文、密文和密鑰,其中明文、密文和密鑰每個(gè)都是64比特長(zhǎng)。在DES中,首先對(duì)明文塊進(jìn)行初始置換,該初始置換改變比特的順序,使得相鄰比特被以大約32個(gè)比特分隔開(kāi)。然后對(duì)置換后的塊進(jìn)行16輪相同的轉(zhuǎn)換。
      橢圓曲線ElGamal是一種公共密鑰密碼術(shù)。通過(guò)將有限域內(nèi)ElGamal密碼的乘法運(yùn)算應(yīng)用于橢圓曲線上的加法運(yùn)算,來(lái)構(gòu)建橢圓曲線ElGamal。
      橢圓曲線ElGamal如下所述接收器(用于執(zhí)行解密)秘密地持有橢圓曲線ElGamal的秘密密鑰ks。
      發(fā)送器(用于執(zhí)行加密)持有與秘密密鑰ks對(duì)應(yīng)的公共密鑰KP
      KP=ks*G其中G是橢圓曲線ElGamal中橢圓曲線上的基點(diǎn),ks*G是通過(guò)將G與其自身相加(ks-1)倍所獲得橢圓曲線上的點(diǎn)。
      這樣,該發(fā)送器通過(guò)下述方式從明文KC產(chǎn)生密文EKC。
      (步驟1)產(chǎn)生隨機(jī)數(shù)字k,計(jì)算PC=k*G。
      (步驟2)計(jì)算k*KP。
      (步驟3)將明文KC轉(zhuǎn)換為橢圓曲線上的點(diǎn)P_KC=f(KC)。將在后面解釋這里使用的轉(zhuǎn)換函數(shù)f。
      (步驟4)計(jì)算C=P_KC+k*KP。
      (步驟5)將PC和C作為密文EKC發(fā)送。
      該接收器通過(guò)下述方式從密文EKC中產(chǎn)生解密文本KC’。
      (步驟1)利用密文EKC中包含的PC,計(jì)算ks*PC。
      (步驟2)計(jì)算P_KC’=C-ks*PC,并將P_KC’轉(zhuǎn)換為整數(shù),以獲得解密文本KC’=f-1(P_KC’)。這里,f-1是轉(zhuǎn)換函數(shù)f的逆。解密文本KC’預(yù)期等于明文KC,這是由于以下原因由于ks*PC=ks*k*G=k*KP成立,P_KC’=C-ks*PC=P_KC+k*KP-ks*PC=P_KC這樣,點(diǎn)P_KC’等于點(diǎn)P_KC。相應(yīng)的,KC’等于KC。
      轉(zhuǎn)換函數(shù)f將整數(shù)轉(zhuǎn)換為橢圓曲線上對(duì)應(yīng)的點(diǎn),其中該整數(shù)具有的比特長(zhǎng)度小于橢圓曲線的定義域。而逆轉(zhuǎn)換函數(shù)f-1將橢圓曲線上的點(diǎn)轉(zhuǎn)換為對(duì)應(yīng)的整數(shù),其中該整數(shù)具有的比特長(zhǎng)度小于定義域。轉(zhuǎn)換函數(shù)f是單射函數(shù)(injection)??梢允褂萌魏魏瘮?shù),只要f-1(f(v))=v,其中v是整數(shù)。在Neal Koblitz的A Course in Number Theory andCryptography,Springer-Verlag,1987,pp.162-163中詳細(xì)描述了轉(zhuǎn)換函數(shù)。
      下面分析上述橢圓曲線ElGamal密碼中密文的數(shù)據(jù)長(zhǎng)度。
      為了簡(jiǎn)單起見(jiàn),令橢圓曲線的定義域是160個(gè)比特,這是橢圓曲線密碼術(shù)中通常推薦的參數(shù)。
      密文EKC由點(diǎn)C和PC組成。點(diǎn)C和PC每個(gè)都由x坐標(biāo)和y坐標(biāo)構(gòu)成。相應(yīng)的,點(diǎn)C和PC每個(gè)都是320比特長(zhǎng)。所以,密文EKC是320+320=640比特(=80字節(jié))。
      DES產(chǎn)生的密文的長(zhǎng)度等于明文,而橢圓曲線ElGamal產(chǎn)生的密文是明文大小的四倍。
      這樣,當(dāng)與其他密碼術(shù)諸如DES進(jìn)行比較時(shí),橢圓曲線ElGamal實(shí)現(xiàn)了更高等級(jí)的安全性,但是它具有的問(wèn)題是當(dāng)密鑰長(zhǎng)度相等時(shí),密文的長(zhǎng)度更長(zhǎng)。
      注意,傳統(tǒng)技術(shù)描述于下列文獻(xiàn)中T.Okamoto &amp; H.Yamamoto,Modern Encryption,Sangyo Tosho,1997;Henri Cohen,A Course inComputational Algebraic Number Theory(Graduate Texts in Mathematics,vol 138),Springer-Verlag,1993,pp.31-33;Michael Rosing,ImplementingElliptic Curve Cryptography,Manning,1998,pp180-181;Neal Koblitz,A Course in Number Theory and Cryptography,Springer-Verlag,1987,pp.162-163;以及美國(guó)專利No.6199086。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種信息傳輸系統(tǒng)、一種加密設(shè)備、一種解密設(shè)備、一種加密方法、一種解密方法和一種計(jì)算機(jī)可讀程序,使得當(dāng)使用橢圓曲線密碼術(shù)時(shí),密文的長(zhǎng)度能夠減小。
      上述目的可以通過(guò)一種信息傳輸系統(tǒng)實(shí)現(xiàn),該信息傳輸系統(tǒng)利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題,保密地傳輸信息,該信息傳輸系統(tǒng)包括加密設(shè)備和解密設(shè)備,加密設(shè)備包括存儲(chǔ)單元,用于存儲(chǔ)明文;加密單元,用于對(duì)明文執(zhí)行橢圓曲線加密,以及產(chǎn)生密文,該密文包括橢圓曲線上的加密點(diǎn)的x坐標(biāo),該加密點(diǎn)是通過(guò)橢圓曲線加密而產(chǎn)生的;輸出單元,用于輸出密文,并且解密設(shè)備包括獲取單元,用于獲得密文;解密單元,用于利用獲取的密文中包含的x坐標(biāo),計(jì)算橢圓曲線上加密點(diǎn)的y坐標(biāo),并利用加密點(diǎn)和獲取的密文中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的文本。
      根據(jù)這種結(jié)構(gòu),加密設(shè)備輸出密文,該密文包括橢圓曲線點(diǎn)的x坐標(biāo),但不包括橢圓曲線點(diǎn)的y坐標(biāo)。解密設(shè)備根據(jù)接收的密文中包含的x坐標(biāo),計(jì)算橢圓曲線點(diǎn)的y坐標(biāo),并利用計(jì)算的橢圓曲線點(diǎn)執(zhí)行解密。這樣,可以減小被傳輸?shù)拿芪牡臄?shù)據(jù)長(zhǎng)度。
      這里,加密設(shè)備中的存儲(chǔ)單元中存儲(chǔ)的明文可以是標(biāo)量,其中加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第一計(jì)算單元,用于將橢圓曲線上的基點(diǎn)乘以該隨機(jī)數(shù);第二計(jì)算單元,用于將橢圓曲線上的公共密鑰點(diǎn)乘以該隨機(jī)數(shù);轉(zhuǎn)換單元,用于對(duì)明文應(yīng)用轉(zhuǎn)換函數(shù),以產(chǎn)生橢圓曲線上的明文點(diǎn),其中該轉(zhuǎn)換函數(shù)用于將標(biāo)量轉(zhuǎn)換為橢圓曲線上的對(duì)應(yīng)點(diǎn);第三計(jì)算單元,用于通過(guò)明文點(diǎn)和相乘后的公共密鑰點(diǎn)相加,計(jì)算求和點(diǎn);以及產(chǎn)生單元,用于產(chǎn)生密文,該密文包括求和點(diǎn)以及相乘后的基點(diǎn)的x坐標(biāo),其中相乘后的基點(diǎn)是加密點(diǎn)。
      這里,第三計(jì)算單元可以判斷預(yù)定條件是否滿足,如果判斷是肯定的,那么設(shè)定明文點(diǎn)和相乘后的公共密鑰點(diǎn)的和作為求和點(diǎn),如果判斷是否定的,那么設(shè)定明文點(diǎn)和相乘后的公共密鑰點(diǎn)的和的對(duì)應(yīng)負(fù)點(diǎn)作為求和點(diǎn)。
      這里,可以通過(guò)下式在有限域GF(P)上定義橢圓曲線y2=x3+a×x+b其中p是素?cái)?shù),其中第三計(jì)算單元判斷相乘后的基點(diǎn)的y坐標(biāo)是否小于(p-1)/2,作為預(yù)定條件。
      這里,解密設(shè)備中的獲取單元可以從上述的加密設(shè)備獲取密文,其中解密單元包括平方根計(jì)算單元,用于將所獲取的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,選擇兩個(gè)解y中小于(p-1)/2的一個(gè),并產(chǎn)生第一解密點(diǎn),該第一解密點(diǎn)由所獲取的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,公共密鑰點(diǎn)是通過(guò)將橢圓曲線上的基點(diǎn)乘以秘密密鑰而已經(jīng)產(chǎn)生的;解密的文本計(jì)算單元,用于從所獲得的密文中包含的求和點(diǎn)中減去第二解密點(diǎn),并對(duì)作為減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生解密的文本,該逆轉(zhuǎn)換函數(shù)用于將橢圓曲線上的點(diǎn)轉(zhuǎn)換為對(duì)應(yīng)的標(biāo)量。
      根據(jù)這些結(jié)構(gòu),本發(fā)明能夠應(yīng)用于GF(p)上的橢圓曲線。
      這里,加密設(shè)備中的存儲(chǔ)單元中存儲(chǔ)的明文可以是標(biāo)量,其中加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第一計(jì)算單元,用于將橢圓曲線上的基點(diǎn)乘以隨機(jī)數(shù);第二計(jì)算單元,用于將橢圓曲線上的公共密鑰點(diǎn)乘以隨機(jī)數(shù);轉(zhuǎn)換單元,用于對(duì)明文應(yīng)用轉(zhuǎn)換函數(shù),以產(chǎn)生橢圓曲線上的明文點(diǎn),該轉(zhuǎn)換函數(shù)用于將標(biāo)量轉(zhuǎn)換為橢圓曲線上的對(duì)應(yīng)點(diǎn);第三計(jì)算單元,用于利用明文點(diǎn)和相乘后的公共密鑰點(diǎn)相加,計(jì)算求和點(diǎn);以及產(chǎn)生單元,用于產(chǎn)生密文,該密文包括求和點(diǎn)以及相乘后的基點(diǎn)的x坐標(biāo),該相乘后的基點(diǎn)是加密點(diǎn)。
      這里,第三計(jì)算單元可以判斷預(yù)定條件是否滿足,如果判斷是肯定的,那么設(shè)定明文點(diǎn)和相乘后的公共密鑰點(diǎn)的和作為求和點(diǎn),如果判斷是否定的,那么設(shè)定明文點(diǎn)和相乘后的公共密鑰點(diǎn)的和的對(duì)應(yīng)負(fù)點(diǎn)作為求和點(diǎn)。
      這里,可以通過(guò)下式在有限域GF(2m)上定義橢圓曲線y2+xy=x3+ax2+b其中m是自然數(shù),GF(2m)上的生成多項(xiàng)式用根為α的f(x)表示,其中,作為預(yù)定條件的是第三計(jì)算單元判斷相乘后的基點(diǎn)的y坐標(biāo)的α生成多項(xiàng)式中的項(xiàng)αs的系數(shù)是否等于相乘后的基點(diǎn)的x坐標(biāo)的α生成多項(xiàng)式中的項(xiàng)αs的系數(shù),其中s表示相乘后的基點(diǎn)的x坐標(biāo)的α生成多項(xiàng)式中的非零系數(shù)項(xiàng)中的最低次數(shù)。
      這里,解密設(shè)備中的獲取單元可以從上述加密設(shè)備獲取密文,其中解密單元包括檢測(cè)單元,用于檢測(cè)所獲得的密文中包含的x坐標(biāo)的α生成多項(xiàng)式中的非零系數(shù)項(xiàng)中的最低次數(shù)s;求解單元,用于將所獲得的密文中包含的x坐標(biāo)代入式y(tǒng)2+xy=x3+ax2+b中,以得到兩個(gè)解y,從兩個(gè)解y中選擇一個(gè)解y,該解的α生成多項(xiàng)式包括的項(xiàng)αs的系數(shù)等于所獲得的密文中包含的x坐標(biāo)的α生成多項(xiàng)式中的項(xiàng)αs的系數(shù),以及產(chǎn)生第一解密點(diǎn),該第一解密點(diǎn)由所獲得的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,公共密鑰點(diǎn)是通過(guò)將橢圓曲線上的基點(diǎn)乘以秘密密鑰而已經(jīng)產(chǎn)生的;以及解密的文本計(jì)算單元,用于從所獲得的密文中包含的求和點(diǎn)中減去第二解密點(diǎn),并對(duì)作為減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生解密的文本,該逆轉(zhuǎn)換函數(shù)用于將橢圓曲線上的點(diǎn)轉(zhuǎn)換為對(duì)應(yīng)的標(biāo)量。
      根據(jù)這些結(jié)構(gòu),本發(fā)明還應(yīng)用于GF(2m)上的橢圓曲線。
      這里,通過(guò)下式在有限域GF(p)上定義橢圓曲線y2=x3+a×x+b其中p是素?cái)?shù),其中加密設(shè)備中的存儲(chǔ)單元中存儲(chǔ)的明文是標(biāo)量,并且加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第二計(jì)算單元,用于將橢圓曲線上的公共密鑰點(diǎn)乘以隨機(jī)數(shù);轉(zhuǎn)換單元,用于對(duì)明文應(yīng)用轉(zhuǎn)換函數(shù),以產(chǎn)生橢圓曲線上的明文點(diǎn),該轉(zhuǎn)換函數(shù)用于將標(biāo)量轉(zhuǎn)換為橢圓曲線上的對(duì)應(yīng)點(diǎn);第三計(jì)算單元,用于將明文點(diǎn)和相乘后的公共密鑰點(diǎn)相加,以獲得求和點(diǎn);第一計(jì)算單元,用于判斷求和點(diǎn)的y坐標(biāo)是否小于(p-1)/2,如果判斷是肯定的,則將橢圓曲線上的基點(diǎn)乘以隨機(jī)數(shù),如果判斷是否定的,則將橢圓曲線上的基點(diǎn)乘以隨機(jī)數(shù)的對(duì)應(yīng)負(fù)數(shù);產(chǎn)生單元,用于產(chǎn)生密文,該密文包括相乘后的基點(diǎn)以及求和點(diǎn)的x坐標(biāo),其中求和點(diǎn)是加密點(diǎn)。
      這里,解密設(shè)備中的獲取單元可以從上述加密設(shè)備中獲得密文,其中解密單元包括平方根計(jì)算單元,用于將所獲得的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,選擇兩個(gè)解y中小于(p-1)/2的一個(gè),并產(chǎn)生第一解密點(diǎn),該第一解密點(diǎn)由所獲得的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將所獲得的密文中包含的相乘后的基點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,公共密鑰點(diǎn)是通過(guò)將橢圓曲線上的基點(diǎn)乘以秘密密鑰而已經(jīng)產(chǎn)生的;以及解密的文本計(jì)算單元,用于從第一解密點(diǎn)中減去第二解密點(diǎn),并對(duì)作為減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生解密的文本,該逆轉(zhuǎn)換函數(shù)用于將橢圓曲線上的點(diǎn)轉(zhuǎn)換為對(duì)應(yīng)的標(biāo)量。
      根據(jù)這些結(jié)構(gòu),本發(fā)明可以應(yīng)用于GF(p)上的橢圓曲線。
      這里,通過(guò)下式可以在有限域GF(p)上定義橢圓曲線y2=x3+a×x+b其中p是素?cái)?shù),其中加密設(shè)備中的存儲(chǔ)單元中存儲(chǔ)的明文是標(biāo)量,并且加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第一計(jì)算單元,用于將橢圓曲線上的基點(diǎn)乘以該隨機(jī)數(shù);第二計(jì)算單元,用于將橢圓曲線上的公共密鑰點(diǎn)乘以該隨機(jī)數(shù);第三計(jì)算單元,用于將明文和相乘后的公共密鑰點(diǎn)的x坐標(biāo)進(jìn)行異或運(yùn)算;以及產(chǎn)生單元,用于產(chǎn)生密文,該密文包括作為異或運(yùn)算結(jié)果獲得的異或值以及相乘后的基點(diǎn)的x坐標(biāo),其中相乘后的基點(diǎn)是加密點(diǎn)。
      這里,解密設(shè)備中的獲取單元可以從上述的加密設(shè)備中獲得密文,其中解密單元包括平方根計(jì)算單元,用于將所獲得的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,從兩個(gè)解y選擇小于(p-1)/2的一個(gè),并產(chǎn)生第一解密點(diǎn),該第一解密點(diǎn)由所獲得的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,公共密鑰點(diǎn)是通過(guò)將橢圓曲線上的基點(diǎn)乘以秘密密鑰而已經(jīng)產(chǎn)生的;以及解密的文本計(jì)算單元,用于對(duì)所獲得的密文中包含的異或值和第二解密點(diǎn)的x坐標(biāo)進(jìn)行異或運(yùn)算,以產(chǎn)生解密的文本。
      根據(jù)這些結(jié)構(gòu),被傳輸?shù)拿芪牡臄?shù)據(jù)長(zhǎng)度可以進(jìn)一步減小。
      這里,加密設(shè)備中的存儲(chǔ)單元中存儲(chǔ)的明文可以是內(nèi)容密鑰,其中加密單元通過(guò)對(duì)內(nèi)容密鑰進(jìn)行加密產(chǎn)生密文,加密設(shè)備還包括內(nèi)容加密單元,用于利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;以及內(nèi)容輸出單元,用于輸出加密的內(nèi)容。
      這里,解密設(shè)備中的獲取單元可以從上述加密設(shè)備中獲得密文和加密的內(nèi)容,其中解密單元對(duì)密文進(jìn)行解密,以產(chǎn)生解密的文本,該解密的文本是解密的內(nèi)容密鑰,解密設(shè)備還包括內(nèi)容解密單元,用于利用解密的內(nèi)容密鑰,對(duì)加密的內(nèi)容進(jìn)行解密,以產(chǎn)生解密的內(nèi)容;以及內(nèi)容再現(xiàn)單元,用于再現(xiàn)解密的內(nèi)容。
      根據(jù)這些結(jié)構(gòu),當(dāng)利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密,以及利用內(nèi)容密鑰對(duì)加密的內(nèi)容進(jìn)行解密時(shí),作為被傳輸密文的加密的內(nèi)容密鑰的數(shù)據(jù)長(zhǎng)度會(huì)減小。
      這樣,通過(guò)省略密文中橢圓曲線點(diǎn)的y坐標(biāo),可以減小被傳輸密文的數(shù)據(jù)長(zhǎng)度。


      圖1表示本發(fā)明的第一實(shí)施例涉及的內(nèi)容傳送系統(tǒng)的結(jié)構(gòu);圖2表示圖1所示的內(nèi)容傳送設(shè)備的結(jié)構(gòu)的模塊圖;圖3表示從內(nèi)容傳送設(shè)備中的發(fā)送/接收單元發(fā)送至每個(gè)內(nèi)容接收設(shè)備的傳輸信息的數(shù)據(jù)結(jié)構(gòu);圖4表示圖1所示的內(nèi)容接收設(shè)備的結(jié)構(gòu)的模塊圖;圖5表示圖1所示的內(nèi)容傳送系統(tǒng)整體運(yùn)行的流程圖;圖6表示通過(guò)圖2所示的內(nèi)容傳送設(shè)備中的密鑰信息產(chǎn)生單元產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算的流程圖;圖7表示通過(guò)密鑰信息產(chǎn)生單元中的密鑰加密單元產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算的流程圖;圖8表示通過(guò)圖4所示的內(nèi)容接收設(shè)備中的密鑰解密單元產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算的流程圖;圖9表示本發(fā)明的第二實(shí)施例中從內(nèi)容傳送設(shè)備中的發(fā)送/接收單元發(fā)送至每個(gè)內(nèi)容接收設(shè)備的傳輸信息的數(shù)據(jù)結(jié)構(gòu);圖10表示通過(guò)第二實(shí)施例的內(nèi)容傳送設(shè)備中的密鑰信息產(chǎn)生單元中的密鑰加密單元產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算的流程圖;圖11表示通過(guò)第二實(shí)施例的內(nèi)容接收設(shè)備中的密鑰解密單元產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算的流程圖;圖12表示本發(fā)明的第三實(shí)施例的內(nèi)容傳送設(shè)備中的密鑰信息產(chǎn)生單元的結(jié)構(gòu)的模塊圖;圖13表示在第三實(shí)施例中從內(nèi)容傳送設(shè)備中的發(fā)送/接收單元發(fā)送至每個(gè)內(nèi)容接收設(shè)備的傳輸信息的數(shù)據(jù)結(jié)構(gòu);圖14表示第三實(shí)施例的內(nèi)容接收設(shè)備中的密鑰解密單元的結(jié)構(gòu)的模塊圖;圖15表示通過(guò)圖12所示的密鑰信息產(chǎn)生單元產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算的流程圖;圖16表示通過(guò)圖14所示的密鑰解密單元產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算的流程圖。
      本發(fā)明的最佳實(shí)施方式1.第一實(shí)施例下面描述本發(fā)明第一實(shí)施例涉及的內(nèi)容傳送系統(tǒng)10。
      1.1內(nèi)容傳送系統(tǒng)10的結(jié)構(gòu)圖1表示內(nèi)容傳送系統(tǒng)10的結(jié)構(gòu)。如圖所示,內(nèi)容傳送系統(tǒng)10大致由一個(gè)內(nèi)容傳送設(shè)備100和n個(gè)內(nèi)容接收設(shè)備2001,2002,...,200i,...,200n組成。這里,n是自然數(shù)。例如,當(dāng)n=1000000時(shí),內(nèi)容傳送系統(tǒng)10包括1000000個(gè)內(nèi)容接收設(shè)備。內(nèi)容傳送設(shè)備100經(jīng)由因特網(wǎng)20連接至內(nèi)容接收設(shè)備2001,2002,...,200n。
      內(nèi)容傳送設(shè)備100產(chǎn)生作為數(shù)字電影作品等的內(nèi)容C的內(nèi)容密鑰KC,并根據(jù)秘密密鑰密碼的加密算法Enc1,利用內(nèi)容密鑰KC對(duì)內(nèi)容C進(jìn)行加密,以產(chǎn)生加密的內(nèi)容EC。內(nèi)容傳送設(shè)備100也根據(jù)公共密鑰密碼的加密算法Enc2對(duì)內(nèi)容密鑰KC進(jìn)行加密,以產(chǎn)生加密的內(nèi)容密鑰信息EKC,并將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n。
      內(nèi)容接收設(shè)備2001經(jīng)由因特網(wǎng)20從內(nèi)容傳送設(shè)備100接收加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC,并根據(jù)公共密鑰密碼的解密算法Dec2對(duì)加密的內(nèi)容密鑰信息EKC進(jìn)行解密,以產(chǎn)生解密的內(nèi)容密鑰KC’。然后內(nèi)容接收設(shè)備2001根據(jù)秘密密鑰密碼的解密算法Dec1,利用解密的內(nèi)容密鑰KC’,對(duì)加密的內(nèi)容EC進(jìn)行解密,以產(chǎn)生解密的內(nèi)容C’,并再現(xiàn)解密的內(nèi)容C’。其他內(nèi)容接收設(shè)備2002,...,200n與內(nèi)容接收設(shè)備2001相同。
      這里,解密算法Dec1是用于解密根據(jù)加密算法Enc1產(chǎn)生的密文的算法,解密算法Dec2是用于解密根據(jù)加密算法Enc2產(chǎn)生的密文的算法。
      應(yīng)該注意到,內(nèi)容接收設(shè)備2001,2002,...,200n中每個(gè)的參考標(biāo)記的下標(biāo)是設(shè)備ID號(hào),該號(hào)碼用于唯一地識(shí)別內(nèi)容接收設(shè)備。例如,內(nèi)容接收設(shè)備200i由設(shè)備ID號(hào)“i”唯一識(shí)別。
      1.2橢圓曲線密碼術(shù)以及橢圓曲線參數(shù)在內(nèi)容傳送系統(tǒng)10中,橢圓曲線密碼術(shù)用作上述公共密鑰密碼。T.Okamoto &amp; H.Yamamoto,Modern Encryption,Sangyo Tosho,1997中詳細(xì)的描述了橢圓曲線密碼術(shù)。下面簡(jiǎn)要解釋在內(nèi)容傳送系統(tǒng)10中使用的橢圓曲線E1的參數(shù)。
      令橢圓曲線E1由下式定義y2=x3+a×x+b其中x和y是變量,a和b是常數(shù)。同時(shí),a×x表示a和x相乘。常數(shù)a和b是自然數(shù)。單個(gè)橢圓曲線E1由a和b這些常數(shù)確定。通常,橢圓曲線E1定義在定義域GF(pm)上,該定義域是有限域,其中p是素?cái)?shù),m是自然數(shù)。為了簡(jiǎn)單起見(jiàn),令m=1,使得橢圓曲線E1的定義域是GF(p)。
      1.3橢圓曲線離散對(duì)數(shù)問(wèn)題離散對(duì)數(shù)問(wèn)題用作公共密鑰密碼術(shù)的安全性的基礎(chǔ)。離散對(duì)數(shù)問(wèn)題的代表示例是定義在有限域上的問(wèn)題以及定義在橢圓曲線上的問(wèn)題。在Neal Koblitz,A Course in Number Theory and Cryptography,Springer-Verlag,1987中詳細(xì)描述了離散對(duì)數(shù)問(wèn)題。
      橢圓曲線離散對(duì)數(shù)問(wèn)題如下所述。
      令E(GF(p))是定義在有限域GF(p)上的橢圓曲線,已知當(dāng)E的階數(shù)可以被一個(gè)大的素?cái)?shù)整除時(shí),則橢圓曲線E上的點(diǎn)G被設(shè)為基點(diǎn)。這樣,問(wèn)題是找到整數(shù)x,使得Y=x*G其中如果這樣的整數(shù)x存在,那么Y是E上給定的點(diǎn)。
      離散對(duì)數(shù)問(wèn)題有助于公共密鑰密碼學(xué)的安全性的原因是在具有大量元素的有限域GF(p)上進(jìn)行上述x的計(jì)算非常困難。
      1.4內(nèi)容傳送設(shè)備100的結(jié)構(gòu)圖2表示內(nèi)容傳送設(shè)備100的結(jié)構(gòu)的模塊圖。在圖中,內(nèi)容傳送設(shè)備100包括發(fā)送/接收單元101、內(nèi)容密鑰產(chǎn)生單元102、內(nèi)容加密單元103、公共密鑰存儲(chǔ)單元104、密鑰信息產(chǎn)生單元105、內(nèi)容存儲(chǔ)單元106和控制單元107。控制單元107連接至輸入單元108和顯示單元109。
      內(nèi)容傳送設(shè)備100實(shí)際上是通過(guò)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的,該計(jì)算機(jī)系統(tǒng)包括微處理器、ROM、RAM、硬盤(pán)單元和通信單元。計(jì)算機(jī)可讀程序存儲(chǔ)在RAM或硬盤(pán)單元中。內(nèi)容傳送設(shè)備100的功能由微處理器根據(jù)計(jì)算機(jī)可讀程序的運(yùn)行實(shí)現(xiàn)。
      (1)公共密鑰存儲(chǔ)單元104公共密鑰存儲(chǔ)單元104預(yù)先分別存儲(chǔ)內(nèi)容接收設(shè)備2001,2002,...,200n的公共密鑰KP1,KP2,...,KPn。
      公共密鑰KP1,KP2,...,KPn中的每一個(gè)都是按照如下計(jì)算出的橢圓曲線E1上的點(diǎn)KP1=ks1*GKP2=ks2*G...
      KPn=ksn*G其中ks1,ks2,...ksn分別是內(nèi)容接收設(shè)備2001,2002,...,200n的秘密密鑰,G是橢圓曲線ElGamal中橢圓曲線E1上的基點(diǎn)。在該描述中,a*B表示橢圓曲線上的點(diǎn),該點(diǎn)通過(guò)將橢圓曲線上的點(diǎn)B自身相加(a-1)遍得到。例如,ks1*G是通過(guò)將基點(diǎn)G自身相加(ks1-1)遍得到的橢圓曲線E1上的點(diǎn)。此后,該運(yùn)算稱為橢圓曲線點(diǎn)乘(也可以稱為橢圓曲線求冪/標(biāo)量乘法)。
      (2)內(nèi)容存儲(chǔ)單元106內(nèi)容存儲(chǔ)單元106預(yù)先存儲(chǔ)內(nèi)容C,該內(nèi)容C是數(shù)字電影作品等。根據(jù)MPEG2(運(yùn)動(dòng)圖像專家組2)標(biāo)準(zhǔn),將數(shù)字作品的視頻數(shù)據(jù)和音頻數(shù)據(jù)壓縮,產(chǎn)生內(nèi)容C,其中MPEG2標(biāo)準(zhǔn)定義了視頻和音頻壓縮/編碼技術(shù)。
      (3)內(nèi)容密鑰產(chǎn)生單元102內(nèi)容密鑰產(chǎn)生單元102為內(nèi)容存儲(chǔ)單元106中存儲(chǔ)的內(nèi)容C產(chǎn)生160比特隨機(jī)數(shù),并設(shè)定產(chǎn)生的隨機(jī)數(shù)為內(nèi)容密鑰KC。內(nèi)容密鑰產(chǎn)生單元102將內(nèi)容密鑰KC輸出至內(nèi)容加密單元103和密鑰信息產(chǎn)生單元105。
      (4)內(nèi)容加密單元103內(nèi)容加密單元103從內(nèi)容存儲(chǔ)單元106中讀取內(nèi)容C,并從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC。
      內(nèi)容加密單元103根據(jù)秘密密鑰密碼的加密算法Enc1,利用內(nèi)容密鑰KC,對(duì)內(nèi)容C進(jìn)行加密,以產(chǎn)生加密的內(nèi)容EC=Enc1(KC,C)這里,Enc1(KC,C)是利用內(nèi)容密鑰KC,將秘密密鑰密碼的加密算法Enc1應(yīng)用于內(nèi)容C產(chǎn)生的密文。例如,DES可以用作秘密密鑰密碼。其他的秘密密鑰密碼,諸如AES(高級(jí)加密標(biāo)準(zhǔn))也同樣適用。T.Okamoto &amp; H.Yamamoto,Modern Encryption,Sangyo Tosho,1997中詳細(xì)描述了秘密密鑰密碼術(shù)。
      內(nèi)容加密單元103將加密的內(nèi)容EC輸出至發(fā)送/接收單元101。
      (5)密鑰信息產(chǎn)生單元105密鑰信息產(chǎn)生單元105包括密鑰加密單元111、計(jì)數(shù)器設(shè)定單元112、計(jì)數(shù)器增長(zhǎng)單元113、計(jì)數(shù)器判斷單元114、輸出單元115、密鑰控制單元116、參數(shù)存儲(chǔ)單元117和計(jì)數(shù)器118,如圖2所示。
      參數(shù)存儲(chǔ)單元117預(yù)先存儲(chǔ)基點(diǎn)G、常數(shù)a、常數(shù)b以及素?cái)?shù)p。
      計(jì)數(shù)器設(shè)定單元112將計(jì)數(shù)器118中的計(jì)數(shù)器i設(shè)定為1。
      密鑰加密單元111按照下述方式產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200i的加密的內(nèi)容密鑰EKCi。
      (a)產(chǎn)生160比特隨機(jī)數(shù)ki。
      (b)從參數(shù)存儲(chǔ)單元117中讀取基點(diǎn)G、常數(shù)a和素?cái)?shù)p,并利用隨機(jī)數(shù)ki、基點(diǎn)G、常數(shù)a和素?cái)?shù)p計(jì)算PCi=ki*G
      這里,橢圓曲線點(diǎn)乘如下執(zhí)行。
      以100*P為例,100*P可以表示為100*P=2(2(P+2(2(2(P+2P)))))這表示通過(guò)對(duì)橢圓曲線上的點(diǎn)P進(jìn)行6次雙倍運(yùn)算和2次加法運(yùn)算,可以計(jì)算100*P。
      這樣,通過(guò)加法和雙倍運(yùn)算實(shí)現(xiàn)橢圓曲線點(diǎn)乘。
      令橢圓曲線E1定義為y2=x3+a×x+b給定橢圓曲線E1上的兩個(gè)點(diǎn)P=(x1,y1)和Q=(x2,y2),則R=(x3,y3)是橢圓曲線E1上的點(diǎn),使得R=P+Q。
      當(dāng)P≠Q(mào)時(shí),R=P+Q是利用下述加法公式的加法運(yùn)算x3={(y2-y1)/(x2-x1)}2-x1-x2y3={(y2-y1)/(x2-x1)}(x1-x3)-y1另一方面,當(dāng)P=Q時(shí),R=P+Q=P+P=2×P,使得R=P+Q是利用下述雙倍公式的雙倍運(yùn)算x3={(3x12+a)/2y1}2-2x1y3={(3x12+a)/2y1}(x1-x3)-y1注意到,上述運(yùn)算是在有限域GF(p)上進(jìn)行的,其中橢圓曲線E1定義在該有限域上。
      關(guān)于橢圓曲線算法的細(xì)節(jié),參見(jiàn)“Efficient Elliptic CurveExponentiation”in Miyaji,Ono &amp; Cohen Advances in Cryptology-Proceedings of ICICS’97,Lecture Notes in Computer Science,Springer-Verlag,1997,pp.282-290.
      (c)從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,并利用隨機(jī)數(shù)ki、公共密鑰KPi、常數(shù)a和素?cái)?shù)p計(jì)算ki*KPi這里,如上所述執(zhí)行橢圓曲線點(diǎn)乘。
      (d)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用轉(zhuǎn)換函數(shù)f,將內(nèi)容密鑰KC轉(zhuǎn)換成橢圓曲線E1上的點(diǎn)P_KC=f(KC)。轉(zhuǎn)換函數(shù)f在后面將詳細(xì)解釋。
      (e)計(jì)算P_KC+ki*KPi(f)從參數(shù)存儲(chǔ)單元117讀取素?cái)?shù)p,并判斷點(diǎn)PCi的y坐標(biāo)y(PCi)是否滿足y(PCi)<(p-1)/2如果y(PCi)<(p-1)/2,設(shè)定Ci=P_KC+ki*KPi如果y(PCi)≥(p-1)/2,設(shè)定Ci=-(P_KC+ki*KPi)(g)將點(diǎn)PCi的x坐標(biāo)x(PCi)和點(diǎn)Ci作為加密的內(nèi)容密鑰EKCi輸出至輸出單元115。
      計(jì)數(shù)器判斷單元114判斷計(jì)數(shù)器i是否為n。
      如果計(jì)算器判斷單元114判斷出i≠n,則計(jì)算器增長(zhǎng)單元113將計(jì)數(shù)器i增加1。此后,重復(fù)上述步驟(a)至(g)。
      如果計(jì)算器判斷單元114判斷出i=n,輸出單元115將加密的內(nèi)容密鑰EKC1,EKC2,EKC3,...,EKCn作為加密的內(nèi)容密鑰信息EKC,輸出至發(fā)送/接收單元101。
      密鑰控制單元116控制密鑰信息產(chǎn)生單元105中的結(jié)構(gòu)元件。
      上述步驟(a)至(g)對(duì)傳統(tǒng)的橢圓曲線ElGamal密碼進(jìn)行了改進(jìn)。它與傳統(tǒng)的橢圓曲線ElGamal密碼的不同之處在于下述幾點(diǎn)。在傳統(tǒng)橢圓曲線ElGamal密碼中,密文由Ci和PCi組成,在該實(shí)施例改進(jìn)的密碼中,密文由Ci和PCi的x坐標(biāo)組成。換言之,該實(shí)施例的主要特點(diǎn)是在加密的內(nèi)容密鑰信息EKC中完全沒(méi)有(甚至1比特)包含與PCi的y坐標(biāo)相關(guān)的信息。
      (6)發(fā)送/接收單元101發(fā)送/接收單元101從內(nèi)容加密單元103接收加密的內(nèi)容EC,并從密鑰信息產(chǎn)生單元105接收加密的內(nèi)容密鑰信息EKC。發(fā)送/接收單元101將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n。
      圖3表示傳輸信息301的數(shù)據(jù)結(jié)構(gòu),該傳輸信息從發(fā)送/接收單元101發(fā)送至每個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n。如圖所示,傳輸信息301由加密的內(nèi)容EC302和加密的內(nèi)容密鑰信息EKC303組成。加密的內(nèi)容密鑰信息EKC303包括n個(gè)加密的內(nèi)容密鑰311,312,...,313。第i個(gè)加密的內(nèi)容密鑰,即EKCi,包括x(PCi)(PCi的x坐標(biāo))和Ci。
      x(PCi)和Ci的長(zhǎng)度是固定的。具體地,x(PCi)是160個(gè)比特長(zhǎng),而Ci是320個(gè)比特長(zhǎng)。在加密的內(nèi)容密鑰信息EKC中,按照分配給n個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n的設(shè)備ID號(hào)的次序排列n個(gè)加密的內(nèi)容密鑰,以至于n個(gè)加密的內(nèi)容密鑰和n個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n一一對(duì)應(yīng)。這樣,與內(nèi)容接收設(shè)備對(duì)應(yīng)的加密的內(nèi)容密鑰可以由分配給該內(nèi)容接收設(shè)備的設(shè)備ID號(hào)指定。
      例如,x(PG1)(PC1的x坐標(biāo))和C1組成對(duì)應(yīng)于設(shè)備ID號(hào)是“1”的內(nèi)容接收設(shè)備2001的加密的內(nèi)容密鑰EKC1,可以通過(guò)從加密的內(nèi)容密鑰信息EKC的起始位置處抽取出480(=160+320)個(gè)比特獲得該x(PC1)和C1。
      通常,x(PCi)(PCi的x坐標(biāo))和Ci組成對(duì)應(yīng)于設(shè)備ID號(hào)是“i”的內(nèi)容接收設(shè)備200i的加密的內(nèi)容密鑰EKCi,可以通過(guò)從加密的內(nèi)容密鑰信息EKC的起始位置處的第(1+(i-1)×480)個(gè)比特開(kāi)始抽取出480個(gè)比特獲得該x(PCi)和Ci。
      (7)控制單元107、輸入單元108以及顯示單元109控制單元107控制內(nèi)容傳送設(shè)備100中的結(jié)構(gòu)元件。
      輸入單元108從內(nèi)容傳送設(shè)備100的操作者接收輸入的信息或指令,并向控制單元107輸出接收的信息或指令。
      顯示單元109在控制單元107的控制下,顯示各種信息。
      1.5內(nèi)容接收設(shè)備2001,2002,...,200n的結(jié)構(gòu)內(nèi)容接收設(shè)備2001,2002,...,200n具有相同的結(jié)構(gòu)。下面描述內(nèi)容接收設(shè)備200i的結(jié)構(gòu)作為示例。
      圖4表示內(nèi)容接收設(shè)備200i的結(jié)構(gòu)的模塊圖。如圖所示,內(nèi)容接收設(shè)備200i包括發(fā)送/接收單元201、秘密密鑰存儲(chǔ)單元202、內(nèi)容解密單元203、密鑰解密單元204、再現(xiàn)單元205、控制單元206、輸入單元207、監(jiān)視器208、揚(yáng)聲器209和參數(shù)存儲(chǔ)單元210。
      與內(nèi)容傳送設(shè)備100類似,內(nèi)容接收設(shè)備200i實(shí)際上由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn),該計(jì)算機(jī)系統(tǒng)包括微處理器、ROM以及RAM。計(jì)算機(jī)可讀程序存儲(chǔ)在RAM中。內(nèi)容接收設(shè)備200i的功能由微處理器根據(jù)該計(jì)算機(jī)可讀程序的運(yùn)行來(lái)實(shí)現(xiàn)。
      應(yīng)該注意到,參考標(biāo)記“200i”的下標(biāo)“i”是設(shè)備的ID號(hào),用于唯一識(shí)別內(nèi)容接收設(shè)備200i。
      (1)秘密密鑰存儲(chǔ)單元202和參數(shù)存儲(chǔ)單元210秘密密鑰存儲(chǔ)單元202預(yù)先秘密地存儲(chǔ)160比特的秘密密鑰ks1。只有密鑰解密單元204可以訪問(wèn)秘密密鑰存儲(chǔ)單元202。
      秘密密鑰ksi對(duì)應(yīng)于公共密鑰KPi。如上所述,公共密鑰KPi可以通過(guò)下式計(jì)算KPi=ksi*G參數(shù)存儲(chǔ)單元210預(yù)先存儲(chǔ)基點(diǎn)G、常數(shù)a、常數(shù)b和素?cái)?shù)p。
      (2)發(fā)送/接收單元201發(fā)送/接收單元201經(jīng)由因特網(wǎng)20從內(nèi)容傳送設(shè)備100接收加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC。發(fā)送/接收單元201向內(nèi)容解密單元203輸出加密的內(nèi)容EC,向密鑰解密單元204輸出加密的內(nèi)容密鑰信息EKC。
      (3)密鑰解密單元204密鑰解密單元204包括平方根計(jì)算單元211、標(biāo)量乘法單元212和內(nèi)容密鑰計(jì)算單元213,如圖4所示。
      (平方根計(jì)算單元211)平方根計(jì)算單元211預(yù)先存儲(chǔ)分配給內(nèi)容接收設(shè)備200i的設(shè)備ID號(hào)“i”。
      平方根計(jì)算單元211從發(fā)送/接收單元201接收加密的內(nèi)容密鑰信息EKC,并讀取設(shè)備ID號(hào)“i”。如上所述,平方根計(jì)算單元211利用設(shè)備ID號(hào)“i”,指定加密的內(nèi)容密鑰信息EKC中,對(duì)應(yīng)于內(nèi)容接收設(shè)備200i的x(PCi)(PCi的x坐標(biāo))。平方根計(jì)算單元211從加密的內(nèi)容密鑰信息EKC中抽取出x(PCi)。
      然后,對(duì)于x(PCi),平方根計(jì)算單元211在GF(p)上找到z=x(PCi)3+a×x(PCi)+b的兩個(gè)平方根rt。
      這里,兩個(gè)平方根rt中的一個(gè)小于(p-1)/2,另一個(gè)不小于(p-1)/2。平方根計(jì)算單元211選擇小于(p-1)/2的平方根rt。然后平方根計(jì)算單元211利用抽取的x(PCi)和選擇的rt,設(shè)定PCi’=(x(PCi),rt)平方根計(jì)算單元211向標(biāo)量乘法單元212輸出PCi’。
      Henri Cohen,A Course in Computational Algebraic Number Theory(Graduate Texts in Mathematics,Vol.138),Springer-Verlag,1993,pp.31-33中詳細(xì)描述了平方根計(jì)算。
      下面解釋當(dāng)p=3 mod 4時(shí),如何在GF(p)上找到平方根rt。其他平方根計(jì)算方法的詳細(xì)介紹,參見(jiàn)上述Cohen的文獻(xiàn)。
      這里,“d mod e”表示d除以e的余數(shù)。
      z的平方根rt是z((p+1)/4)或者-z((p+1)/4)。
      通常,z(p-1)=1 mod p成立。這樣,z(p+1)=z2mod p這使得z((p+1)/4)=(z2)1/4=z1/2是z的平方根。
      (標(biāo)量乘法單元212)標(biāo)量乘法單元212從秘密密鑰存儲(chǔ)單元202讀取秘密密鑰ksi,從平方根計(jì)算單元211接收PCi’。標(biāo)量乘法單元212也從參數(shù)存儲(chǔ)單元210讀取常數(shù)a和素?cái)?shù)p,并利用常數(shù)a、素?cái)?shù)p以及秘密密鑰ksi,通過(guò)將PCi’乘以ksi,計(jì)算點(diǎn)ksi*PCi’這里,如上所述執(zhí)行橢圓曲線點(diǎn)乘。
      標(biāo)量乘法單元212向內(nèi)容密鑰計(jì)算單元213輸出點(diǎn)ksi*PCi’。
      (內(nèi)容密鑰計(jì)算單元213)內(nèi)容密鑰計(jì)算單元213從標(biāo)量乘法單元212接收點(diǎn)ksi*PCi’,并利用加密的內(nèi)容密鑰信息EKC中的加密的內(nèi)容密鑰EKCi中包含的Ci,計(jì)算P_KC’=Ci-ksi*PCi’然后,內(nèi)容密鑰計(jì)算單元213將P_KC’轉(zhuǎn)換為整數(shù),以獲得解密的內(nèi)容密鑰KC’=f1(P_KC’)這里,f-1是轉(zhuǎn)換函數(shù)f的逆。通過(guò)這種方式獲得的解密的內(nèi)容密鑰KC’預(yù)期等于內(nèi)容密鑰KC。內(nèi)容密鑰計(jì)算單元213向內(nèi)容解密單元203輸出解密的內(nèi)容密鑰KC’。
      (4)內(nèi)容解密單元203內(nèi)容解密單元203從發(fā)送/接收單元201接收加密的內(nèi)容EC,從密鑰解密單元204接收解密的內(nèi)容密鑰KC’。內(nèi)容解密單元203根據(jù)秘密密鑰密碼的解密算法Dec1,利用解密的內(nèi)容密鑰KC’,對(duì)加密的內(nèi)容EC進(jìn)行解密,以產(chǎn)生解密的文本C’=Dec1(KC’,EC)這里,Dec1(KC’,EC)是利用解密的內(nèi)容密鑰KC’,將秘密密鑰密碼的解密算法Dec1應(yīng)用于加密的內(nèi)容EC得到的解密的文本。
      內(nèi)容解密單元203向再現(xiàn)單元205輸出解密的內(nèi)容C’。
      (5)再現(xiàn)單元205、控制單元206、輸入單元207、監(jiān)視器208以及揚(yáng)聲器209再現(xiàn)單元205從內(nèi)容解密單元203接收解密的內(nèi)容C’,從解密的內(nèi)容C’獲得視頻數(shù)據(jù)和音頻數(shù)據(jù)。再現(xiàn)單元205將視頻數(shù)據(jù)和音頻數(shù)據(jù)轉(zhuǎn)換為模擬視頻信號(hào)和音頻信號(hào),并分別將它們輸出至監(jiān)視器208和揚(yáng)聲器209。
      監(jiān)視器208從再現(xiàn)單元205接收模擬視頻信號(hào),并顯示圖像。
      揚(yáng)聲器209從再現(xiàn)單元205接收模擬音頻信號(hào),并輸出聲音。
      控制單元206控制內(nèi)容接收設(shè)備200i的結(jié)構(gòu)元件。
      輸入單元207從內(nèi)容接收設(shè)備200i的用戶接收指令,并向控制單元206輸出接收到的指令。
      1.6.轉(zhuǎn)換函數(shù)f和逆轉(zhuǎn)換函數(shù)f-1以下解釋轉(zhuǎn)換函數(shù)f和逆轉(zhuǎn)換函數(shù)f-1。
      轉(zhuǎn)換函數(shù)f將整數(shù)轉(zhuǎn)換至橢圓曲線E1上對(duì)應(yīng)的點(diǎn),其中該整數(shù)具有的比特長(zhǎng)度比定義域GF(p)小。而逆轉(zhuǎn)換函數(shù)f-1將橢圓曲線E1上的點(diǎn)轉(zhuǎn)換成對(duì)應(yīng)的整數(shù),其中該整數(shù)具有的比特長(zhǎng)度比定義域GF(p)小。轉(zhuǎn)換函數(shù)f是單射函數(shù)。只要滿足下述兩個(gè)條件,可以使用任何函數(shù)f-1(f(v))=v其中v是整數(shù);以及f-1(-P)=f-1(P)其中P是橢圓曲線E1上的點(diǎn)。轉(zhuǎn)換的詳細(xì)描述參見(jiàn)Neal Koblitz,A Course in Number Theory and Cryptography,Springer-Verlag,1987,pp.162-163。
      下面解釋Koblitz在上述文獻(xiàn)中描述的轉(zhuǎn)換方法。
      (1)定義域GF(p)的比特長(zhǎng)度用lenp表示,v的比特長(zhǎng)度用lenp-10表示。也就是,v比定義域GF(p)小10比特。令c=0以及x_fv=c||v。這樣,判斷(x_fv)3+a×x_fv+b是否是GF(p)上的二次剩余。
      (2)如果判斷是肯定的,則找到(x_fv)3+a×x_fv+b的平方根y_fv,并設(shè)定f(v)=(x_fv,y_fv)。
      (3)如果判斷是否定的,將c增加1,并設(shè)定x_fv=c||v。然后再次判斷(x_fv)3+a×x_fv+b是否是GF(p)上的二次剩余。如果判斷是肯定的,則找到(x_fv)3+a×x_fv+b的平方根y_fv,并設(shè)定f(v)=(x_fv,y_fv)。如果判斷是否定的,則將c增加1,并執(zhí)行相同的判斷。如此重復(fù)直到得到(x_fv)3+a×x_fv+b是GF(p)上的二次剩余。
      接下來(lái)解釋逆轉(zhuǎn)換函數(shù)f-1(P_fv)。
      當(dāng)P_fv=(x_fv,y_fv)時(shí),將f-1(P_fv)設(shè)定為用x_fv的低(lenp-10)個(gè)比特表示的數(shù)。根據(jù)該方法,很明顯f-1(f(v))=v而且,由于f-1(P_fv)是P_fv的x坐標(biāo)的低比特,則很明顯f-1(-P)=f-1(P)如上所述,轉(zhuǎn)換函數(shù)f和逆轉(zhuǎn)換函數(shù)f-1并不限制于Koblitz在上述文獻(xiàn)中描述的那些,只要函數(shù)f是單射函數(shù),f-1(f(v))=v成立,其中v是整數(shù),以及f-1(-P)=f-1(P)成立,其中P是橢圓曲線E1上的點(diǎn)。
      1.7.解密的內(nèi)容密鑰KC’等于內(nèi)容密鑰KC的原因如果f-1(P_KC’)=f-1(P_KC),則解密的內(nèi)容密鑰KC’等于內(nèi)容密鑰KC。f-1(P_KC’)=f-1(P_KC)成立的原因如下。
      定義在GF(p)上的橢圓曲線上,P=(x1,y1)的對(duì)應(yīng)負(fù)點(diǎn)-P通常用-P=(x1,-y1)給出。平方根rt滿足rt2=x(PCi)3+a×x(PCi)+b類似地,點(diǎn)PCi的y坐標(biāo)y(PCi)滿足y(PCi)2=x(PCi)3+a×x(PCi)+b因此,y(PCi)=rt或者y(PCi)=-rt如果y(PCi)=rt,即,y(PCi)<(p-1)/2,那么PCi=PCi’。
      代入PCi=PCi’以及Ci=P_KC+ki*KPi得到P_KC’=Ci-ksi*PCi’=P_KC+ki*KPi-ksi*PCi這里,ki*KPi=ki*ksi*G=ksi*PCi使得P_KC’=P_KC所以f-1(P_KC’)=f-1(P_KC)
      成立。
      另一方面,如果y(PCi)=-rt,即,y(PCi)≥(p-1)/2,那么PCi’=-PCi。代入PCi’=-PCi以及Ci=-(P_KC+ki*KPi)得到P_KC’=Ci-ksi*PCi’=-(P_KC+ki*KPi)-ksi*(-PCi)=-P_KC已知f-1(-P_KC)=f-1(P_KC)那么f-1(P_KC’)=f-1(P_KC)成立。
      如上所述,f-1(P_KC’)=f-1(P_KC)成立,使得解密的內(nèi)容密鑰KC’等于內(nèi)容密鑰KC。
      1.8.內(nèi)容傳送系統(tǒng)10的運(yùn)行下面描述內(nèi)容傳送系統(tǒng)10的運(yùn)行。
      (1)內(nèi)容傳送系統(tǒng)10的整體運(yùn)行圖5表示內(nèi)容傳送系統(tǒng)10整體運(yùn)行的流程圖。
      在內(nèi)容傳送設(shè)備100中,內(nèi)容密鑰產(chǎn)生單元102產(chǎn)生內(nèi)容密鑰KC(S101),內(nèi)容加密單元103利用內(nèi)容密鑰KC對(duì)內(nèi)容C加密,以產(chǎn)生加密的內(nèi)容EC(S102)。而且,密鑰信息產(chǎn)生單元105產(chǎn)生加密的內(nèi)容密鑰信息EKC(S103)。發(fā)送/接收單元101將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n(S104)。
      在作為內(nèi)容接收設(shè)備2001,2002,...,200n示例的內(nèi)容接收設(shè)備200i中,發(fā)送/接收單元201經(jīng)由因特網(wǎng)20從內(nèi)容傳送設(shè)備100接收加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC(S104)。密鑰解密單元204利用存儲(chǔ)在秘密密鑰存儲(chǔ)單元202中的秘密密鑰ksi,對(duì)加密的內(nèi)容密鑰信息EKC中包含的加密的內(nèi)容密鑰EKCi進(jìn)行解密,以產(chǎn)生解密的內(nèi)容密鑰KC’(S105)。內(nèi)容解密單元203利用解密的內(nèi)容密鑰KC’,對(duì)加密的內(nèi)容EC進(jìn)行解密,以產(chǎn)生解密的內(nèi)容C’(S106)。再現(xiàn)單元205再現(xiàn)解密的內(nèi)容C’(S107)。
      (2)產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算圖6表示通過(guò)內(nèi)容傳送設(shè)備100中的密鑰信息產(chǎn)生單元105,產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算的流程圖。該運(yùn)算對(duì)應(yīng)于圖5中的步驟S103。
      計(jì)數(shù)器設(shè)定單元112設(shè)定計(jì)數(shù)器i為1(S121)。
      密鑰加密單元111產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200i的加密的內(nèi)容密鑰EKCi(S122)。計(jì)數(shù)器判斷單元114判斷是否i=n(S123)。如果i≠n,計(jì)數(shù)器增長(zhǎng)單元113將i增加1(S124)。然后運(yùn)算返回至步驟S122。
      如果i=n,輸出單元115將加密的內(nèi)容密鑰EKC1,EKC2,EKC3,...,EKCn作為加密的內(nèi)容密鑰信息EKC,輸出至發(fā)送/接收單元101(S125)。
      (3)產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算圖7表示通過(guò)密鑰信息產(chǎn)生單元105中的密鑰加密單元111,產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算流程圖。該運(yùn)算對(duì)應(yīng)于圖6中的步驟S122。
      密鑰加密單元111產(chǎn)生隨機(jī)數(shù)ki(S141),并計(jì)算PCi=ki*G(S142)。密鑰加密單元111也計(jì)算ki*KPi(S143)。密鑰加密單元111將內(nèi)容密鑰KC轉(zhuǎn)換成橢圓曲線Ei上的點(diǎn)P_KC=f(KC)(S144)。然后密鑰加密單元111計(jì)算P_KC+ki*KPi(S145)。
      這之后,密鑰加密單元111判斷PCi的y坐標(biāo)y(PCi)是否滿足y(PCi)<(p-1)/2(S146)。如果y(PCi)<(p-1)/2,那么密鑰加密單元111設(shè)定Ci=P_KC+ki*KPi(S148)。否則,密鑰加密單元111設(shè)定Ci-(P_KC+ki*KPi)(S147)。
      密鑰加密單元111將PCi的x坐標(biāo)x(PCi)和Ci作為加密的內(nèi)容密鑰EKCi輸出(S149)。
      (4)產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算圖8表示通過(guò)內(nèi)容接收設(shè)備200i中的密鑰解密單元204產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算流程圖。該運(yùn)算對(duì)應(yīng)于圖5中的步驟S105。
      平方根計(jì)算單元211關(guān)于加密的內(nèi)容密鑰EKCi中包含的x(Pci)計(jì)算x(PCi)3+a×x(Pci)+b的兩個(gè)平方根rt(S161)。平方根計(jì)算單元211從兩個(gè)平方根rt中選擇滿足rt<(p-1)/2的平方根rt(S162)。然后平方根計(jì)算單元211產(chǎn)生PCi’=(x(PCi),rt)(S163)。
      然后,標(biāo)量乘法單元212通過(guò)將PCi’乘以ksi,計(jì)算點(diǎn)ksi*PCi’(S164)。
      接下來(lái),內(nèi)容密鑰計(jì)算單元213計(jì)算P_KC’=Ci-ksi*PCi’(S165)。然后內(nèi)容密鑰計(jì)算單元213將P_KC’轉(zhuǎn)換為整數(shù),以產(chǎn)生解密的內(nèi)容密鑰KC’=f-1(P_KC’)(S166)。
      這樣解密的內(nèi)容密鑰KC’預(yù)期等于內(nèi)容密鑰KC。
      1.9.第一實(shí)施例的效果下面分析內(nèi)容傳送系統(tǒng)10中加密的內(nèi)容密鑰EKCi的數(shù)據(jù)長(zhǎng)度。
      為了簡(jiǎn)單起見(jiàn),假定橢圓曲線E1的定義域GF(p)是160個(gè)比特長(zhǎng),該長(zhǎng)度是橢圓曲線密碼術(shù)中通常推薦的。
      對(duì)應(yīng)于內(nèi)容接收設(shè)備200i的加密的內(nèi)容密鑰EKCi由點(diǎn)Ci和點(diǎn)PCi的x坐標(biāo)即x(PCi)組成。Ci由長(zhǎng)度都是160比特的x坐標(biāo)和y坐標(biāo)組成,所以Ci是320比特長(zhǎng)。PCi的x坐標(biāo)是160比特長(zhǎng)。因此,加密的內(nèi)容密鑰EKCi是320+160=480比特(=60字節(jié))。
      傳統(tǒng)技術(shù)中每個(gè)加密的內(nèi)容密鑰的數(shù)據(jù)長(zhǎng)度是80字節(jié)。相應(yīng)地,與傳統(tǒng)技術(shù)相比,第一實(shí)施例的內(nèi)容傳送系統(tǒng)10使得每個(gè)加密的內(nèi)容密鑰的數(shù)據(jù)長(zhǎng)度減小到3/4。
      假設(shè)內(nèi)容接收設(shè)備的數(shù)目n是1000000。根據(jù)第一實(shí)施例,加密的內(nèi)容密鑰信息EKC的數(shù)據(jù)長(zhǎng)度是60×1000000=60000000字節(jié)(=60兆字節(jié))。而根據(jù)傳統(tǒng)技術(shù),加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度是80×1000000=80000000字節(jié)(=80兆字節(jié))。
      這樣,與傳統(tǒng)技術(shù)相比,第一實(shí)施例的內(nèi)容傳送系統(tǒng)10使得加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度減小了20兆字節(jié)。
      2.第二實(shí)施例下面描述本發(fā)明第二實(shí)施例涉及的內(nèi)容傳送系統(tǒng)10b(未示出)。
      內(nèi)容傳送系統(tǒng)10b具有與第一實(shí)施例的內(nèi)容傳送系統(tǒng)10類似的結(jié)構(gòu)。下面重點(diǎn)描述與內(nèi)容傳送系統(tǒng)10的不同之處。
      和內(nèi)容傳送系統(tǒng)10一樣,內(nèi)容傳送系統(tǒng)10b大致由一個(gè)內(nèi)容傳送設(shè)備100b和n個(gè)內(nèi)容接收設(shè)備200b1,200b2,...,200bi,...,200bn組成。內(nèi)容傳送設(shè)備100b經(jīng)由因特網(wǎng)20連接至每個(gè)內(nèi)容接收設(shè)備200b1,200b2,...,200bn。
      2.1.內(nèi)容傳送設(shè)備100b的結(jié)構(gòu)內(nèi)容傳送設(shè)備100b具有與內(nèi)容傳送設(shè)備100類似的結(jié)構(gòu)。具體而言,內(nèi)容傳送設(shè)備100b包括發(fā)送/接收單元101、內(nèi)容密鑰產(chǎn)生單元102、內(nèi)容加密單元103、公共密鑰存儲(chǔ)單元104、密鑰信息產(chǎn)生單元105b、內(nèi)容存儲(chǔ)單元106和控制單元107。控制單元107連接至輸入單元108和顯示單元109(未示出)。
      也就是說(shuō),內(nèi)容傳送設(shè)備100b與內(nèi)容傳送設(shè)備100的不同之處在于密鑰信息產(chǎn)生單元105由密鑰信息產(chǎn)生單元105b代替。
      下面重點(diǎn)描述與內(nèi)容傳送設(shè)備100的不同之處。
      (1)密鑰信息產(chǎn)生單元105b密鑰信息產(chǎn)生單元105b具有與密鑰信息產(chǎn)生單元105類似的結(jié)構(gòu)。詳細(xì)地,密鑰信息產(chǎn)生單元105b包括密鑰加密單元111b、計(jì)數(shù)器設(shè)定單元112、計(jì)數(shù)器增長(zhǎng)單元113、計(jì)數(shù)器判斷單元114、輸出單元115、密鑰控制單元116、參數(shù)存儲(chǔ)單元117以及計(jì)算器118(未示出)。
      也就是說(shuō),密鑰信息產(chǎn)生單元105b與密鑰信息產(chǎn)生單元105的不同之處在于密鑰加密單元111被密鑰加密單元111b代替。下面重點(diǎn)描述與密鑰信息產(chǎn)生單元105的不同之處。
      密鑰加密單元111b以下述方式產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200bi的加密的內(nèi)容密鑰EKCi。
      (a)產(chǎn)生160比特隨機(jī)數(shù)ki。
      (b)從參數(shù)存儲(chǔ)單元117讀取基點(diǎn)G、常數(shù)a以及素?cái)?shù)p,并利用隨機(jī)數(shù)ki、基點(diǎn)Gi、常數(shù)a和素?cái)?shù)p計(jì)算PCi=ki*G(c)從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,并利用隨機(jī)數(shù)ki、公共密鑰KPi、常數(shù)a和素?cái)?shù)p計(jì)算ki*KPi(d)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用內(nèi)容密鑰KC,對(duì)于ki*KPi,計(jì)算si=KC xor x(ki*KPi)這里,x(ki*KPi)是ki*KPi的x坐標(biāo),xor是異或運(yùn)算的運(yùn)算符。而且,si是標(biāo)量。
      (e)將x(PCi)(PCi的x坐標(biāo))和si作為加密的內(nèi)容密鑰EKCi輸出至輸出單元115。
      (2)輸出單元115輸出單元115將加密的內(nèi)容密鑰EKC1,EKC2,EKC3,...,EKCn作為加密的內(nèi)容密鑰信息EKC輸出至發(fā)送/接收單元101。
      (3)發(fā)送/接收單元101發(fā)送/接收單元101從內(nèi)容加密單元103接收加密的內(nèi)容EC,并從密鑰信息產(chǎn)生單元105b接收加密的內(nèi)容密鑰信息EKC。發(fā)送/接收單元101將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備200b1,200b2,...,200bn。
      圖9表示從發(fā)送/接收單元101發(fā)送至每個(gè)內(nèi)容接收設(shè)備200b1,200b2,...,200bn的傳輸信息321的數(shù)據(jù)結(jié)構(gòu)。
      如上所示,傳輸信息321由加密的內(nèi)容EC 322和加密的內(nèi)容密鑰信息EKC 323組成。加密的內(nèi)容密鑰信息EKC 323由n個(gè)加密的內(nèi)容密鑰331,332,...,333組成。第i個(gè)加密的內(nèi)容密鑰,即EKCi,由x(PCi)(PCi的x坐標(biāo))和si組成。
      (4)與第一實(shí)施例的不同之處第二實(shí)施例與第一實(shí)施例的不同之處在于密文由x(PCi)(點(diǎn)PCi的x坐標(biāo))和標(biāo)量si組成,取代了x(PCi)和點(diǎn)Ci。在第二實(shí)施例中,和第一實(shí)施例一樣,加密的內(nèi)容密鑰信息EKC中完全沒(méi)有包括(甚至1比特)PCi的y坐標(biāo)的信息。
      2.2.內(nèi)容接收設(shè)備200b1,200b2,...,200bn的結(jié)構(gòu)內(nèi)容接收設(shè)備200b1,200b2,...,200bn具有和內(nèi)容接收設(shè)備2001,2002,...,200n類似的結(jié)構(gòu)。
      下面解釋內(nèi)容接收設(shè)備200bi的結(jié)構(gòu),作為內(nèi)容接收設(shè)備200b1,200b2,...,200bn的代表示例,重點(diǎn)在于內(nèi)容接收設(shè)備200i的不同之處。
      內(nèi)容接收設(shè)備200bi具有與內(nèi)容接收設(shè)備200i類似的結(jié)構(gòu)。詳細(xì)地,內(nèi)容接收設(shè)備200bi包括發(fā)送/接收單元201、秘密密鑰存儲(chǔ)單元202、內(nèi)容解密單元203、密鑰解密單元204b、再現(xiàn)單元205、控制單元206、輸入單元207、監(jiān)視器208、揚(yáng)聲器209以及參數(shù)存儲(chǔ)單元210。
      也就是說(shuō),內(nèi)容接收設(shè)備200bi與內(nèi)容接收設(shè)備200bi的不同之處在于密鑰解密單元204被密鑰解密單元204b取代。
      (1)密鑰解密單元204b密鑰解密單元204b包括平方根計(jì)算單元211、標(biāo)量乘法單元212和內(nèi)容密鑰計(jì)算單元213b(未示出)。
      也就是說(shuō),密鑰解密單元204b與密鑰解密單元204的不同之處在于內(nèi)容密鑰計(jì)算單元213被內(nèi)容密鑰計(jì)算單元213b代替。
      平方根計(jì)算單元211對(duì)于加密的內(nèi)容密鑰EKCi中包含的x(PCi),計(jì)算GF(p)上的z=x(PCi)3+a×x(PCi)+b的平方根rt,并如前所述,設(shè)定PCi’=(x(PCi),rt)如上所述,標(biāo)量乘法單元212通過(guò)將PCi’乘以秘密密鑰存儲(chǔ)單元202中存儲(chǔ)的秘密密鑰ksi,計(jì)算點(diǎn)ksi*PCi’內(nèi)容密鑰計(jì)算單元213b從標(biāo)量乘法單元212接收點(diǎn)ksi*PCi’,并利用接收的點(diǎn)ksi*PCi’,計(jì)算sixor x(ksi*PCi’)內(nèi)容密鑰計(jì)算單元213b設(shè)定計(jì)算結(jié)果為解密的內(nèi)容密鑰KC’KC’=sixor x(ksi*PCi’)2.3.內(nèi)容傳送系統(tǒng)10b的運(yùn)行下面描述內(nèi)容傳送系統(tǒng)10b的運(yùn)行。
      內(nèi)容傳送系統(tǒng)10b的運(yùn)行與內(nèi)容傳送系統(tǒng)10的運(yùn)行類似,所以下面重點(diǎn)描述與內(nèi)容傳送系統(tǒng)10的不同之處。
      內(nèi)容傳送系統(tǒng)10b的整體運(yùn)行與圖5所示的相同,所以這里省略關(guān)于整體運(yùn)行的解釋。
      通過(guò)內(nèi)容傳送設(shè)備100b中的密鑰信息產(chǎn)生單元105b產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算與圖6所示的相同,所以這里省略它的解釋。
      (1)產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算圖10表示通過(guò)密鑰信息產(chǎn)生單元105b中密鑰加密單元111b產(chǎn)生加密的內(nèi)容密鑰EKCi的運(yùn)算流程圖。該運(yùn)算與圖6中步驟S122對(duì)應(yīng)。
      該密鑰加密單元111b產(chǎn)生160比特隨機(jī)數(shù)ki(S201)。密鑰加密單元111b從參數(shù)存儲(chǔ)單元117讀取基點(diǎn)G、常數(shù)a和素?cái)?shù)p,并利用隨機(jī)數(shù)ki、基點(diǎn)G、常數(shù)a和素?cái)?shù)p計(jì)算PCi=ki*G(S202)。密鑰加密單元111b還從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,并利用隨機(jī)數(shù)ki、公共密鑰KPi、常數(shù)a和素?cái)?shù)p計(jì)算ki*KPi(S203)。密鑰加密單元111b利用從內(nèi)容密鑰產(chǎn)生單元102接收的內(nèi)容密鑰KC,對(duì)于ki*KPi,計(jì)算si=KC xor x(ki*KPi)(S204)。密鑰加密單元111b將x(PCi)(PCi的x坐標(biāo))和si作為加密的內(nèi)容密鑰EKCi輸出至輸出單元115(S205)。
      (2)產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算圖11表示通過(guò)內(nèi)容接收設(shè)備200bi中的密鑰解密單元204b產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算流程圖。該運(yùn)算對(duì)應(yīng)圖5中的步驟S105。
      平方根計(jì)算單元211對(duì)于加密的內(nèi)容密鑰EKCi中包含的x(PCi),計(jì)算x(PCi)3+a×x(PCi)+b的兩個(gè)平方根rt。平方根計(jì)算單元211從兩個(gè)平方根rt中選擇滿足rt<(p-1)/2的平方根rt。然后平方根計(jì)算單元211產(chǎn)生PCi’=(x(PCi),rt)(S221)。
      這之后,標(biāo)量乘法單元212通過(guò)將PCi’乘以ksi,計(jì)算點(diǎn)ksi*PCi’(S222)。
      內(nèi)容密鑰計(jì)算單元213b從標(biāo)量乘法單元212接收點(diǎn)ksi*PCi’,并利用接收的點(diǎn)ksi*PCi’,計(jì)算sixor x(ksi*PCi’)。內(nèi)容密鑰計(jì)算單元213b設(shè)定計(jì)算結(jié)果作為解密的內(nèi)容密鑰KC’(S223)。
      這樣的解密的內(nèi)容密鑰KC’預(yù)期等于內(nèi)容密鑰KC。
      2.4.解密的內(nèi)容密鑰KC’等于內(nèi)容密鑰KC的原因當(dāng)x(ksi*PCi’)=x(ksi*PCi)=x(ksi*ki*G)=x(ki*KPi)成立時(shí),解密的內(nèi)容密鑰KC’=sixor x(ksi*PCi’)等于內(nèi)容密鑰KC。下面給出x(ksi*PCi’)=x(ki*KPi)成立的原因。
      在定義在GF(p)上的橢圓曲線上,點(diǎn)P=(x1,y1)的對(duì)應(yīng)負(fù)點(diǎn)-P通常用-P=(x1,-y1)給出。平方根rt滿足rt2=x(PCi)3+a×x(PCi)+b類似的,點(diǎn)PCi的y坐標(biāo)y(PCi)滿足y(PCi)2=x(PCi)3+a×x(PCi)+b因此,y(PCi)=rt或者y(PCi)=-rt如果y(PCi)=rt,那么PCi=PCi’。因此x(ksi*PCi’)=x(ksi*PCi)成立。
      另一方面,如果y(PCi)=-rt,那么PCi’=-PCi。因此ksi*PCi’=-ksi*PCi由于x(P)=x(-P),x(ksi*PCi’)=x(-ksi*PCi)=x(ksi*PCi)成立。
      相應(yīng)的,x(ksi*PCi’)=x(ksi*KPi)成立。因此,解密的內(nèi)容密鑰KC’等于內(nèi)容密鑰KC。
      2.5.第二實(shí)施例的效果下面分析內(nèi)容傳送系統(tǒng)10b中加密的內(nèi)容密鑰EKCi的數(shù)據(jù)長(zhǎng)度。
      為了簡(jiǎn)單起見(jiàn),假定橢圓曲線E1的定義域GF(p)是160比特長(zhǎng),該長(zhǎng)度是橢圓曲線密碼術(shù)中通常推薦的。
      對(duì)應(yīng)于內(nèi)容接收設(shè)備200bi的加密的內(nèi)容密鑰EKCi由一個(gè)標(biāo)量si和點(diǎn)PCi的x坐標(biāo)即x(PCi)組成。標(biāo)量si是160比特長(zhǎng)。類似的,點(diǎn)PCi的x坐標(biāo)是160比特長(zhǎng)。因此,加密的內(nèi)容密鑰EKCi是160+160=320比特(=40字節(jié))。
      根據(jù)傳統(tǒng)技術(shù),每個(gè)加密的內(nèi)容密鑰的數(shù)據(jù)長(zhǎng)度是80字節(jié)。相應(yīng)地,與傳統(tǒng)技術(shù)相比,第二實(shí)施例的內(nèi)容傳送系統(tǒng)10b使得每個(gè)加密的內(nèi)容密鑰的數(shù)據(jù)長(zhǎng)度減小了1/2。
      假設(shè)內(nèi)容接收設(shè)備的數(shù)目n是1000000。根據(jù)第二實(shí)施例,加密的內(nèi)容密鑰信息EKC的數(shù)據(jù)長(zhǎng)度是40×1000000=40000000字節(jié)(=40兆字節(jié))。而根據(jù)傳統(tǒng)技術(shù),加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度是80×1000000=80000000字節(jié)(=80兆字節(jié))。
      這樣,與傳統(tǒng)技術(shù)相比,第二實(shí)施例的內(nèi)容傳送系統(tǒng)10b使得加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度減小了40兆字節(jié)。
      3.第三實(shí)施例下面描述本發(fā)明第三實(shí)施例涉及的內(nèi)容傳送系統(tǒng)10c(未示出)。
      內(nèi)容傳送系統(tǒng)10c具有與內(nèi)容傳送系統(tǒng)10類似的結(jié)構(gòu)。下面重點(diǎn)描述與內(nèi)容傳送系統(tǒng)10的不同之處。
      和內(nèi)容傳送系統(tǒng)10一樣,內(nèi)容傳送系統(tǒng)10c大致由一個(gè)內(nèi)容傳送設(shè)備100c和n個(gè)內(nèi)容接收設(shè)備200c1,200c2,...,200ci,...,200cn組成。內(nèi)容傳送設(shè)備100c經(jīng)由因特網(wǎng)20連接至每個(gè)內(nèi)容接收設(shè)備200c1,200c2,...,200cn。
      3.1.內(nèi)容傳送設(shè)備100c的結(jié)構(gòu)內(nèi)容傳送設(shè)備100c具有與內(nèi)容傳送設(shè)備100類似的結(jié)構(gòu)。詳細(xì)地,內(nèi)容傳送設(shè)備100c包括發(fā)送/接收單元101、內(nèi)容密鑰產(chǎn)生單元102、內(nèi)容加密單元103、公共密鑰存儲(chǔ)單元104、密鑰信息產(chǎn)生單元105c、內(nèi)容存儲(chǔ)單元106和控制單元107??刂茊卧?07連接至輸入單元108和顯示單元109(未示出)。
      也就是說(shuō),內(nèi)容傳送設(shè)備100c與內(nèi)容傳送設(shè)備100的不同之處在于密鑰信息產(chǎn)生單元105由密鑰信息產(chǎn)生單元105c代替。
      下面重點(diǎn)描述與內(nèi)容傳送設(shè)備100的不同之處。
      (1)密鑰信息產(chǎn)生單元105c密鑰信息產(chǎn)生單元105c具有與密鑰信息產(chǎn)生單元105類似的結(jié)構(gòu)。圖12表示密鑰信息產(chǎn)生單元105c的結(jié)構(gòu)。如圖所示,密鑰信息產(chǎn)生單元105c包括計(jì)數(shù)器設(shè)定單元112、計(jì)數(shù)器增長(zhǎng)單元113、計(jì)數(shù)器判斷單元114、輸出單元115、密鑰控制單元116、參數(shù)存儲(chǔ)單元117、計(jì)數(shù)器118、公共加密單元119c以及獨(dú)立加密單元120c。
      也就是說(shuō),密鑰信息產(chǎn)生單元105c與密鑰信息產(chǎn)生單元105的不同之處在于密鑰加密單元111被公共加密單元119c和獨(dú)立加密單元120c代替。下面重點(diǎn)描述與密鑰信息產(chǎn)生單元105的不同之處。
      (計(jì)數(shù)器設(shè)定單元112)計(jì)數(shù)器設(shè)定單元112設(shè)定計(jì)數(shù)器i為1。
      (公共加密單元119c)公共加密單元119c產(chǎn)生160比特隨機(jī)數(shù)k。公共加密單元119c也從參數(shù)存儲(chǔ)單元117讀取基點(diǎn)G、常數(shù)a以及素?cái)?shù)p,并利用隨機(jī)數(shù)k、基點(diǎn)G、常數(shù)a和素?cái)?shù)p計(jì)算公共密文PC=k*G公共加密單元119c輸出公共密文PC至輸出單元115,輸出隨機(jī)數(shù)k至獨(dú)立加密單元120c。
      (獨(dú)立加密單元120c)獨(dú)立加密單元120c以下述方式產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200ci的獨(dú)立密文si。
      (a)從公共加密單元119c接收隨機(jī)數(shù)k。
      (b)從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,從參數(shù)存儲(chǔ)單元117讀取常數(shù)a和素?cái)?shù)p,并利用隨機(jī)數(shù)k、公共密鑰KPi、常數(shù)a和素?cái)?shù)p計(jì)算k*KPi
      (c)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用接收的內(nèi)容密鑰KC,對(duì)于k*KPi,計(jì)算獨(dú)立密文si=KC xor x(k*KPi)這里,x(k*KPi)是k*KPi的x坐標(biāo)。
      (d)將獨(dú)立密文si輸出至輸出單元115。
      (計(jì)數(shù)器判斷單元114、計(jì)數(shù)器增長(zhǎng)單元113、輸出單元115以及密鑰控制單元116)計(jì)數(shù)器判斷單元114判斷計(jì)數(shù)器i是否是n。
      當(dāng)計(jì)數(shù)器判斷單元114判斷出i≠n時(shí),計(jì)數(shù)器增長(zhǎng)單元113將計(jì)數(shù)器i增長(zhǎng)1。這之后,重復(fù)上述步驟。
      當(dāng)計(jì)數(shù)器判斷單元114判斷出i=n時(shí),輸出單元115將公共密文PC和獨(dú)立密文s1,s2,s3,...,sn作為加密的內(nèi)容密鑰信息EKC輸出至發(fā)送/接收單元101。
      密鑰控制單元116控制密鑰信息產(chǎn)生單元105c中的組成元件。
      (2)發(fā)送/接收單元101發(fā)送/接收單元101從內(nèi)容加密單元103接收加密的內(nèi)容EC,從密鑰信息產(chǎn)生單元105c接收加密的內(nèi)容密鑰信息EKC。發(fā)送/接收單元101將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備200c1,200c2,...,200cn。
      圖13表示從發(fā)送/接收單元101發(fā)送至每個(gè)內(nèi)容接收設(shè)備200c1,200c2,...,200cn的傳輸信息341的數(shù)據(jù)結(jié)構(gòu)。
      如圖所示,傳輸信息341由加密的內(nèi)容EC 342和加密的內(nèi)容密鑰信息EKC 343組成。加密的內(nèi)容密鑰信息EKC 343由公共密文PC344和n個(gè)獨(dú)立密文351,352,...,353組成。第i個(gè)獨(dú)立密文,即si,是KC xor x(k*KPi)。
      3.2.內(nèi)容接收設(shè)備200c1,200c2,...,200cn的結(jié)構(gòu)內(nèi)容接收設(shè)備200c1,200c2,...,200cn具有和內(nèi)容接收設(shè)備2001,2002,...,200n類似的結(jié)構(gòu)。
      下面解釋內(nèi)容接收設(shè)備200ci的結(jié)構(gòu),作為內(nèi)容接收設(shè)備200c1,200c2,...,200cn的代表示例,重點(diǎn)在于與內(nèi)容接收設(shè)備200i的不同之處。
      內(nèi)容接收設(shè)備200ci具有與內(nèi)容接收設(shè)備200i類似的結(jié)構(gòu)。詳細(xì)地,內(nèi)容接收設(shè)備200ci包括發(fā)送/接收單元201、秘密密鑰存儲(chǔ)單元202、內(nèi)容解密單元203、密鑰解密單元204c、再現(xiàn)單元205、控制單元206、輸入單元207、監(jiān)視器208、揚(yáng)聲器209和參數(shù)存儲(chǔ)單元210(未示出)。
      也就是說(shuō),內(nèi)容接收設(shè)備200ci與內(nèi)容接收設(shè)備200i的不同之處在于密鑰解密單元204被密鑰解密單元204c取代。
      (1)發(fā)送/接收單元201發(fā)送/接收單元201經(jīng)由因特網(wǎng)20從內(nèi)容傳送設(shè)備100c接收加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC,并將加密的內(nèi)容EC輸出至內(nèi)容解密單元203,將加密的內(nèi)容密鑰信息EKC輸出至密鑰解密單元204c。
      (2)密鑰解密單元204c圖14表示密鑰解密單元204c的結(jié)構(gòu)。如圖所示,密鑰解密單元204c包括標(biāo)量乘法單元212c和內(nèi)容密鑰計(jì)算單元213c。
      標(biāo)量乘法單元212c從秘密密鑰存儲(chǔ)單元202讀取秘密密鑰ksi。標(biāo)量乘法單元212c從接收自發(fā)送/接收單元201的加密的內(nèi)容密鑰信息EKC中抽取公共密文PC。標(biāo)量乘法單元212c還從參數(shù)存儲(chǔ)單元210讀取常數(shù)a和素?cái)?shù)p,并利用常數(shù)a、素?cái)?shù)p和秘密密鑰ksi,通過(guò)將PC乘以ksi,計(jì)算點(diǎn)ksi*PC標(biāo)量乘法單元212c將點(diǎn)ksi*PC輸出至內(nèi)容密鑰計(jì)算單元213c。
      內(nèi)容密鑰計(jì)算單元213c預(yù)先存儲(chǔ)分配給內(nèi)容接收設(shè)備200ci的設(shè)備ID號(hào)“i”。內(nèi)容密鑰計(jì)算單元213c讀取設(shè)備ID號(hào)“i”,并利用該設(shè)備ID號(hào)“i”,指定在從發(fā)送/接收單元201接收的加密的內(nèi)容密鑰信息EKC中對(duì)應(yīng)于內(nèi)容接收設(shè)備200ci的獨(dú)立密文si。內(nèi)容密鑰計(jì)算單元213c從加密的內(nèi)容密鑰信息EKC中提取si。內(nèi)容密鑰計(jì)算單元213c還從標(biāo)量乘法單元212c中接收點(diǎn)ksi*PC。然后內(nèi)容密鑰計(jì)算單元213c利用接收的點(diǎn)ksi*PC,計(jì)算
      sixor x(ksi*PC)并設(shè)定計(jì)算結(jié)果為解密的內(nèi)容密鑰KC’KC’=sixor x(ksi*PC)內(nèi)容密鑰計(jì)算單元213c將解密的內(nèi)容密鑰KC’輸出至內(nèi)容解密單元203。
      2.3.內(nèi)容傳送系統(tǒng)10c的運(yùn)行下面描述內(nèi)容傳送系統(tǒng)10c的運(yùn)行。
      內(nèi)容傳送系統(tǒng)10c的運(yùn)行與內(nèi)容傳送系統(tǒng)10的運(yùn)行類似,所以下面重點(diǎn)描述與內(nèi)容傳送系統(tǒng)10的不同之處。
      內(nèi)容傳送系統(tǒng)10c的整體運(yùn)行與圖5所示的相同,所以這里省略了它的解釋。
      (1)產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算圖15表示通過(guò)內(nèi)容傳送設(shè)備100c中的密鑰信息產(chǎn)生單元105c,產(chǎn)生加密的內(nèi)容密鑰信息EKC的運(yùn)算流程圖。該運(yùn)算與圖5中步驟S103對(duì)應(yīng)。
      計(jì)數(shù)器設(shè)定單元112設(shè)定計(jì)數(shù)器i為1(S301)。
      公共加密單元119c產(chǎn)生160比特的隨機(jī)數(shù)k,并計(jì)算公共密文PC=k*G。公共加密單元119c將公共密文PC輸出至輸出單元115,并將隨機(jī)數(shù)k輸出至獨(dú)立加密單元120c(S302)。
      獨(dú)立加密單元120c產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200ci的獨(dú)立密文si,并將獨(dú)立密文si輸出至輸出單元115(S303)。
      計(jì)數(shù)器判斷單元114判斷計(jì)數(shù)器i是否是n(S304)。如果i≠n,則計(jì)算器增長(zhǎng)單元113將計(jì)數(shù)器i增加1(S305)。然后運(yùn)算返回步驟S303。
      如果i=n,輸出單元115將公共密文PC和獨(dú)立密文s1,s2,s3,...,sn作為加密的內(nèi)容密鑰信息EKC輸出至發(fā)送/接收單元101(S306)。
      (2)產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算圖16表示通過(guò)內(nèi)容接收設(shè)備200ci中的密鑰解密單元204c,產(chǎn)生解密的內(nèi)容密鑰KC’的運(yùn)算流程圖。該運(yùn)算對(duì)應(yīng)圖5中步驟S105。
      標(biāo)量乘法單元212c利用常數(shù)a、素?cái)?shù)p以及秘密密鑰ksi,通過(guò)將公共密文PC乘以秘密密鑰ksi,計(jì)算點(diǎn)ksi*PC。標(biāo)量乘法單元212c將點(diǎn)ksi*PC輸出至內(nèi)容密鑰計(jì)算單元213c(S321)。
      內(nèi)容密鑰計(jì)算單元213c計(jì)算解密的內(nèi)容密鑰KC’=sixorx(ksi*PC),并將解密的內(nèi)容密鑰KC’輸出至內(nèi)容解密單元203(S322)。
      3.4.第三實(shí)施例的效果下面分析內(nèi)容傳送系統(tǒng)10c中加密的內(nèi)容密鑰信息EKC的數(shù)據(jù)長(zhǎng)度。
      為了簡(jiǎn)單起見(jiàn),假定橢圓曲線E1的定義域GF(p)是160比特長(zhǎng),該長(zhǎng)度是橢圓曲線密碼術(shù)中通常推薦的。
      公共密文PC是橢圓曲線E1上的點(diǎn)。PC由每個(gè)都是160比特長(zhǎng)的x坐標(biāo)和y坐標(biāo)組成,因此是320比特(=40字節(jié))。獨(dú)立密文si是160比特(=20字節(jié))。
      假設(shè)n=1000000。根據(jù)第三實(shí)施例,加密的內(nèi)容密鑰信息EKC的數(shù)據(jù)長(zhǎng)度是40+20×1000000=20000040字節(jié)(≠20兆字節(jié))。
      而根據(jù)傳統(tǒng)技術(shù),加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度是80兆字節(jié)。這樣,與傳統(tǒng)技術(shù)相比,第三實(shí)施例的內(nèi)容傳送系統(tǒng)10c使得加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度減小到1/4。
      3.5.第三實(shí)施例的結(jié)論根據(jù)該實(shí)施例,本發(fā)明可以通過(guò)這樣一種信息傳輸系統(tǒng)實(shí)現(xiàn),該信息傳輸系統(tǒng)包括一個(gè)加密設(shè)備和多個(gè)解密設(shè)備,并保密地傳輸信息。
      加密設(shè)備包括存儲(chǔ)單元、公共計(jì)算單元、獨(dú)立計(jì)算單元以及輸出單元。存儲(chǔ)單元存儲(chǔ)明文。公共計(jì)算單元產(chǎn)生公共密文,該密文對(duì)于多個(gè)解密設(shè)備來(lái)說(shuō)是公共的。獨(dú)立計(jì)算單元基于明文,分別產(chǎn)生對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)獨(dú)立密文。輸出單元輸出公共密文和多個(gè)獨(dú)立密文。
      多個(gè)解密設(shè)備中的每一個(gè)都包括獲取單元、抽取單元和解密單元。獲取單元獲取公共密文和多個(gè)獨(dú)立密文。抽取單元從多個(gè)獨(dú)立密文中抽取對(duì)應(yīng)于解密設(shè)備的獨(dú)立密文。解密單元利用公共密文和抽取的獨(dú)立密文,產(chǎn)生解密的文本。
      本發(fā)明也可以通過(guò)這樣一種信息傳輸系統(tǒng)實(shí)現(xiàn),該信息傳輸系統(tǒng)包括加密設(shè)備和多個(gè)解密設(shè)備,并利用作為安全性基礎(chǔ)的群上的離散對(duì)數(shù)問(wèn)題,秘密傳輸信息。
      令g是群的基本元素。通過(guò)對(duì)基本元素g應(yīng)用(ks-1)次群運(yùn)算,計(jì)算出多個(gè)解密設(shè)備中每個(gè)的公共密鑰,其中ks是解密設(shè)備的秘密密鑰。
      加密設(shè)備包括存儲(chǔ)單元、隨機(jī)數(shù)產(chǎn)生單元、公共計(jì)算單元、獨(dú)立計(jì)算單元和輸出單元,其中獨(dú)立計(jì)算單元包括公共密鑰計(jì)算單元和異或單元。存儲(chǔ)單元存儲(chǔ)明文。隨機(jī)數(shù)產(chǎn)生單元產(chǎn)生隨機(jī)數(shù)k,其中該隨機(jī)數(shù)是標(biāo)量。公共計(jì)算單元對(duì)基本元素g應(yīng)用(k-1)次群運(yùn)算,產(chǎn)生公共密文元素。公共密鑰計(jì)算單元對(duì)多個(gè)解密設(shè)備中每個(gè)的公共密鑰應(yīng)用(k-1)次群運(yùn)算,產(chǎn)生對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)群運(yùn)算后的公共密鑰元素。異或單元對(duì)明文和多個(gè)群運(yùn)算后的公共密鑰元素中的每一個(gè)執(zhí)行異或運(yùn)算,以產(chǎn)生對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)獨(dú)立密文。輸出單元輸出公共密文元素和多個(gè)獨(dú)立密文。
      多個(gè)解密設(shè)備中的每個(gè)都包括獲取單元、抽取單元、秘密密鑰計(jì)算單元以及異或單元。獲取單元獲取公共密文元素和多個(gè)獨(dú)立密文。抽取單元從多個(gè)獨(dú)立密文中抽取對(duì)應(yīng)于解密設(shè)備的獨(dú)立密文。秘密密鑰計(jì)算單元對(duì)公共密文元素應(yīng)用(ks-1)次群運(yùn)算,其中ks是解密設(shè)備的秘密密鑰。異或單元對(duì)抽取的獨(dú)立密文和群運(yùn)算后的公共密文元素執(zhí)行異或運(yùn)算,以產(chǎn)生解密的文本。
      本發(fā)明也可以由這樣一種信息傳輸系統(tǒng)實(shí)現(xiàn),該信息傳輸系統(tǒng)包括加密設(shè)備和多個(gè)解密設(shè)備,并利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題,保密地傳輸信息。
      通過(guò)下式定義有限域GF(p)上的橢圓曲線y2=x3+a×x+b其中p是素?cái)?shù),G是橢圓曲線上的基點(diǎn)。這樣,通過(guò)在橢圓曲線上,將基點(diǎn)G乘以解密設(shè)備的秘密密鑰,計(jì)算出多個(gè)解密設(shè)備中每個(gè)的公共密鑰點(diǎn)。
      加密設(shè)備包括存儲(chǔ)單元、隨機(jī)數(shù)產(chǎn)生單元、公共計(jì)算單元、獨(dú)立計(jì)算單元和輸出單元,其中獨(dú)立計(jì)算單元包括公共密鑰計(jì)算單元和異或單元。存儲(chǔ)單元存儲(chǔ)明文。隨機(jī)數(shù)產(chǎn)生單元產(chǎn)生隨機(jī)數(shù),其中該隨機(jī)數(shù)是標(biāo)量。公共計(jì)算單元將基點(diǎn)G乘以隨機(jī)數(shù),以產(chǎn)生公共密文點(diǎn)。公共密鑰計(jì)算單元將多個(gè)解密設(shè)備中每個(gè)的公共密鑰點(diǎn)乘以隨機(jī)數(shù),以產(chǎn)生對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)相乘后的公共密鑰點(diǎn)。異或單元對(duì)于明文和多個(gè)相乘后的公共密鑰點(diǎn)中每一個(gè)的x坐標(biāo)執(zhí)行異或運(yùn)算,以產(chǎn)生對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)獨(dú)立密文。輸出單元輸出公共密文點(diǎn)和多個(gè)獨(dú)立密文。
      多個(gè)解密設(shè)備中的每個(gè)都包括獲取單元、抽取單元、秘密密鑰計(jì)算單元和異或單元。獲取單元獲取公共密文點(diǎn)和多個(gè)獨(dú)立密文。抽取單元從多個(gè)獨(dú)立密文中抽取對(duì)應(yīng)于解密設(shè)備的獨(dú)立密文。秘密密鑰計(jì)算單元將公共密文點(diǎn)乘以解密設(shè)備的秘密密鑰。異或單元對(duì)抽取的獨(dú)立密文和相乘后的公共密文點(diǎn)的x坐標(biāo)執(zhí)行異或運(yùn)算,以產(chǎn)生解密的文本。
      根據(jù)這些結(jié)構(gòu),通過(guò)使部分密文成為所有解密設(shè)備公共的,減小了傳輸密文的數(shù)據(jù)長(zhǎng)度。這有益于高實(shí)用性。
      4.第一至第三實(shí)施例的結(jié)論如上所述,本發(fā)明可以由這樣一種內(nèi)容傳送系統(tǒng)實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并將內(nèi)容經(jīng)由通信路徑從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容傳送設(shè)備包括發(fā)送單元,用于將數(shù)據(jù)發(fā)送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè);內(nèi)容密鑰產(chǎn)生單元,用于產(chǎn)生內(nèi)容密鑰;加密的內(nèi)容產(chǎn)生單元,用于利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;公共密鑰存儲(chǔ)單元,用于存儲(chǔ)多個(gè)內(nèi)容接收設(shè)備中每一個(gè)的公共密鑰;以及加密的內(nèi)容密鑰信息產(chǎn)生單元,用于利用公共密鑰,對(duì)內(nèi)容密鑰進(jìn)行加密,以產(chǎn)生加密的內(nèi)容密鑰信息。
      多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)都包括接收單元,用于從內(nèi)容傳送設(shè)備接收數(shù)據(jù);秘密密鑰存儲(chǔ)單元,用于存儲(chǔ)內(nèi)容接收設(shè)備的秘密密鑰;加密的內(nèi)容密鑰解密單元,用于對(duì)加密的內(nèi)容密鑰信息進(jìn)行解密,以獲得內(nèi)容密鑰;以及加密的內(nèi)容解密單元,用于對(duì)加密的內(nèi)容進(jìn)行解密,以獲得內(nèi)容。
      加密的內(nèi)容密鑰信息產(chǎn)生單元執(zhí)行橢圓曲線加密,并產(chǎn)生加密的內(nèi)容密鑰信息,該信息包括在通過(guò)橢圓曲線加密獲得的密文中包含的橢圓曲線點(diǎn)PC的x坐標(biāo);以及不同于橢圓曲線點(diǎn)PC的密文的剩余部分。加密的內(nèi)容密鑰解密單元計(jì)算橢圓曲線點(diǎn)PC的y坐標(biāo),其中該橢圓曲線點(diǎn)的x坐標(biāo)包含在加密的內(nèi)容密鑰信息中。
      這里,可以利用由y2=x3+a×x+b定義的橢圓曲線,執(zhí)行橢圓曲線加密其中a和b是整數(shù)。在這種情況下,加密的內(nèi)容密鑰解密單元通過(guò)尋找(PCx)3+a×PCx+b的平方根,計(jì)算橢圓曲線點(diǎn)PC的y坐標(biāo),其中PCx表示橢圓曲線點(diǎn)PC的x坐標(biāo)。
      本發(fā)明還可以通過(guò)這樣一種內(nèi)容傳送系統(tǒng)實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并經(jīng)由通信路徑將內(nèi)容從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容傳送設(shè)備包括發(fā)送單元,用于將數(shù)據(jù)傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè);內(nèi)容密鑰產(chǎn)生單元,用于產(chǎn)生內(nèi)容密鑰;加密的內(nèi)容產(chǎn)生單元,用于利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;公共密鑰存儲(chǔ)單元,用于存儲(chǔ)多個(gè)內(nèi)容接收設(shè)備中每個(gè)的公共密鑰;以及加密的內(nèi)容密鑰信息產(chǎn)生單元,用于利用公共密鑰對(duì)內(nèi)容密鑰進(jìn)行加密,以產(chǎn)生加密的內(nèi)容密鑰信息。
      多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)包括接收單元,用于從內(nèi)容傳送設(shè)備接收數(shù)據(jù);秘密密鑰存儲(chǔ)單元,用于存儲(chǔ)內(nèi)容接收設(shè)備的秘密密鑰;加密的內(nèi)容密鑰解密單元,用于對(duì)加密的內(nèi)容密鑰信息進(jìn)行解密,以獲得內(nèi)容密鑰;以及加密的內(nèi)容解密單元,用于對(duì)加密的內(nèi)容進(jìn)行解密,以獲得內(nèi)容。
      加密的內(nèi)容密鑰信息產(chǎn)生單元產(chǎn)生公共密文和多個(gè)獨(dú)立密文作為加密的內(nèi)容密鑰信息,其中該公共密文對(duì)于多個(gè)內(nèi)容接收設(shè)備是公共的,該多個(gè)獨(dú)立密文分別對(duì)應(yīng)于多個(gè)內(nèi)容接收設(shè)備。
      這里,加密的內(nèi)容密鑰信息產(chǎn)生單元和加密的內(nèi)容密鑰解密單元可以使用橢圓曲線密碼術(shù)。
      這里,公共密文和多個(gè)獨(dú)立密文,每個(gè)都可以是橢圓曲線上的點(diǎn)?;蛘?,公共密文可以是橢圓曲線上的點(diǎn),多個(gè)獨(dú)立密文中的每一個(gè)可以是橢圓曲線的定義域中的元素。
      這里,加密的內(nèi)容密鑰信息產(chǎn)生單元以及加密的內(nèi)容密鑰解密單元可以使用ElGamal密碼。
      本發(fā)明也可以通過(guò)這樣一種內(nèi)容傳送系統(tǒng)中的內(nèi)容傳送設(shè)備實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并將內(nèi)容經(jīng)由通信路徑從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容傳送設(shè)備包括發(fā)送單元,用于將數(shù)據(jù)發(fā)送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè);內(nèi)容密鑰產(chǎn)生單元,用于產(chǎn)生內(nèi)容密鑰;加密的內(nèi)容產(chǎn)生單元,用于利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;公共密鑰存儲(chǔ)單元,用于存儲(chǔ)多個(gè)內(nèi)容接收設(shè)備中每個(gè)的公共密鑰;以及加密的內(nèi)容密鑰信息產(chǎn)生單元,用于利用公共密鑰,對(duì)內(nèi)容密鑰進(jìn)行加密,以產(chǎn)生加密的內(nèi)容密鑰信息。
      加密的內(nèi)容密鑰信息產(chǎn)生單元執(zhí)行橢圓曲線加密,并產(chǎn)生加密的內(nèi)容密鑰信息,該信息包括通過(guò)橢圓曲線加密獲得的密文中包含的橢圓曲線點(diǎn)的x坐標(biāo),以及不同于該橢圓曲線點(diǎn)的密文的剩余部分。
      本發(fā)明還可以通過(guò)這樣一種內(nèi)容傳送系統(tǒng)中的內(nèi)容接收設(shè)備實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并將內(nèi)容經(jīng)由通信路徑從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容接收設(shè)備包括接收單元,用于從內(nèi)容傳送設(shè)備接收數(shù)據(jù);秘密密鑰存儲(chǔ)單元,用于存儲(chǔ)內(nèi)容接收設(shè)備的秘密密鑰;加密的內(nèi)容密鑰解密單元,用于對(duì)加密的內(nèi)容密鑰信息進(jìn)行解密,以獲得內(nèi)容密鑰;加密的內(nèi)容解密單元,用于對(duì)加密的內(nèi)容進(jìn)行解密,以獲得內(nèi)容。
      加密的內(nèi)容密鑰解密單元計(jì)算橢圓曲線點(diǎn)的y坐標(biāo),該橢圓曲線點(diǎn)的x坐標(biāo)包含在加密的內(nèi)容密鑰信息中。
      本發(fā)明還可以通過(guò)這樣一種內(nèi)容傳送系統(tǒng)中的內(nèi)容傳送設(shè)備實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并將內(nèi)容經(jīng)由通信路徑從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容傳送設(shè)備包括發(fā)送單元,用于將數(shù)據(jù)傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè);內(nèi)容密鑰產(chǎn)生單元,用于產(chǎn)生內(nèi)容密鑰;加密的內(nèi)容產(chǎn)生單元,用于利用內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;公共密鑰存儲(chǔ)單元,用于存儲(chǔ)多個(gè)內(nèi)容接收設(shè)備中每個(gè)的公共密鑰;以及加密的內(nèi)容密鑰信息產(chǎn)生單元,用于利用公共密鑰對(duì)內(nèi)容密鑰進(jìn)行加密,以產(chǎn)生加密的內(nèi)容密鑰信息。
      加密的內(nèi)容密鑰信息產(chǎn)生單元產(chǎn)生公共密文和多個(gè)獨(dú)立密文作為加密的內(nèi)容密鑰信息,其中該公共密文對(duì)于多個(gè)內(nèi)容接收設(shè)備是公共的,該多個(gè)獨(dú)立密文分別對(duì)應(yīng)于多個(gè)內(nèi)容接收設(shè)備。
      本發(fā)明還可以通過(guò)這樣一種內(nèi)容傳送系統(tǒng)中的內(nèi)容接收設(shè)備實(shí)現(xiàn),該內(nèi)容傳送系統(tǒng)包括內(nèi)容傳送設(shè)備、通信路徑和多個(gè)內(nèi)容接收設(shè)備,并將內(nèi)容經(jīng)由通信路徑從內(nèi)容傳送設(shè)備傳送至多個(gè)內(nèi)容接收設(shè)備中的每一個(gè)。
      內(nèi)容接收設(shè)備包括接收單元,用于從內(nèi)容傳送設(shè)備接收數(shù)據(jù);秘密密鑰存儲(chǔ)單元,用于存儲(chǔ)內(nèi)容接收設(shè)備的秘密密鑰;加密的內(nèi)容密鑰解密單元,用于對(duì)加密的內(nèi)容密鑰信息進(jìn)行解密,以獲得內(nèi)容密鑰;加密的內(nèi)容解密單元,用于對(duì)加密的內(nèi)容進(jìn)行解密,以獲得內(nèi)容。
      加密的內(nèi)容密鑰解密單元從包含在加密的內(nèi)容密鑰信息中的公共密文和獨(dú)立密文中獲得內(nèi)容密鑰。這里,公共密文對(duì)于多個(gè)內(nèi)容接收設(shè)備是公共的,且獨(dú)立密文對(duì)應(yīng)于內(nèi)容接收設(shè)備。
      根據(jù)這些結(jié)構(gòu),通過(guò)省略密文中包含的橢圓曲線點(diǎn)的y坐標(biāo),或者使部分密文對(duì)于多個(gè)內(nèi)容接收設(shè)備是公共的,使得加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度減小。這對(duì)高實(shí)用性作出了貢獻(xiàn)。
      5.變形本發(fā)明已經(jīng)通過(guò)上述第一至第三實(shí)施例進(jìn)行了描述,但是很明顯,本發(fā)明并不限制于此。下面給出示例變形。
      (1)第一實(shí)施例描述的情況是通過(guò)內(nèi)容傳送設(shè)備100中的密鑰信息產(chǎn)生單元105中的密鑰加密單元111產(chǎn)生的加密的內(nèi)容密鑰EKCi由x(PCi)(點(diǎn)PCi的x坐標(biāo))和點(diǎn)Ci組成?;蛘撸用艿膬?nèi)容密鑰EKCi由點(diǎn)PCi和x(Ci)(點(diǎn)Ci的x坐標(biāo))組成。
      在這種情況下,密鑰加密單元111以下述方式產(chǎn)生加密的內(nèi)容密鑰EKCi。
      (a)產(chǎn)生160比特的隨機(jī)數(shù)ki。
      (b)從參數(shù)存儲(chǔ)單元117讀取基點(diǎn)G、常數(shù)a和素?cái)?shù)p,并利用隨機(jī)數(shù)ki、基點(diǎn)G、常數(shù)a和素?cái)?shù)p,計(jì)算ki*G橢圓曲線點(diǎn)乘如前所述。
      (c)從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,并利用隨機(jī)數(shù)ki、公共密鑰KPi、常數(shù)a和素?cái)?shù)p,計(jì)算ki*KPi(d)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用前述的轉(zhuǎn)換函數(shù)f,將內(nèi)容密鑰KC轉(zhuǎn)換為橢圓曲線E1上的點(diǎn)P_KC=f(KC)。
      (e)計(jì)算Ci=P_KC+ki*KPi(f)判斷y(Ci)(點(diǎn)Ci的y坐標(biāo))是否滿足y(Ci)<(p-1)/2如果y(Ci)<(p-1)/2,設(shè)定PCi=ki*G。如果y(Ci)≥(p-1)/2,設(shè)定PCi=-ki*G。
      (g)將x(Ci)(點(diǎn)Ci的x坐標(biāo))和點(diǎn)PCi作為加密的內(nèi)容密鑰EKCi輸出至輸出單元115。
      在內(nèi)容接收設(shè)備200i中,密鑰解密單元204中的平方根計(jì)算單元211對(duì)于包含在加密的內(nèi)容密鑰EKCi中的x(Ci),計(jì)算x(Ci)3+a×x(Ci)+b的兩個(gè)平方根rt。平方根計(jì)算單元211從兩個(gè)平方根rt中選擇滿足rt<(p-1)/2的平方根rt。然后平方根計(jì)算單元211產(chǎn)生Ci’=x(x(Ci),rt)。
      這之后,標(biāo)量乘法單元212通過(guò)將PCi乘以ksi,計(jì)算點(diǎn)ksi*PCi然后,內(nèi)容密鑰計(jì)算單元213計(jì)算P_KC’=Ci’-ksi*PCi然后內(nèi)容密鑰計(jì)算單元213將P_KC’轉(zhuǎn)換為整數(shù),以產(chǎn)生解密的內(nèi)容密鑰KC’=f-1(P_KC’)。
      這樣的解密的內(nèi)容密鑰KC’預(yù)期等于內(nèi)容密鑰KC。
      (2)第三實(shí)施例描述的情況是獨(dú)立加密單元120c產(chǎn)生獨(dú)立密文si=KC xor x(k*KPi),其中該獨(dú)立密文是標(biāo)量?;蛘?,獨(dú)立加密單元120c可以產(chǎn)生獨(dú)立密文Ci,其中該密文是橢圓曲線E1上的點(diǎn),和第一實(shí)施例中一樣。
      (3)第一至第三實(shí)施例描述的情況是使用定義在GF(p)上的橢圓曲線E1,或者可以使用定義在GF(pm),例如GF(2m),上的橢圓曲線E2。
      令橢圓曲線E2由下式定義y2+xy=x3+a×x2+b而且,橢圓曲線E2上的點(diǎn)P(x,y)的對(duì)應(yīng)負(fù)點(diǎn)用-P(x,x+y)表示,GF(2m)的生成多項(xiàng)式用根為α的f(x)表示。
      這種情況是,內(nèi)容傳送設(shè)備100中的密鑰信息產(chǎn)生單元105以下述方式作為示例,產(chǎn)生加密的內(nèi)容密鑰信息EKC。
      密鑰加密單元111如下所述產(chǎn)生加密的內(nèi)容密鑰EKCi。
      (a)產(chǎn)生160比特的隨機(jī)數(shù)ki。
      (b)從參數(shù)存儲(chǔ)單元117讀取基點(diǎn)G、常數(shù)a和素?cái)?shù)p,并利用隨機(jī)數(shù)ki、基點(diǎn)G、常數(shù)a和素?cái)?shù)p,計(jì)算PCi=ki*G(c)從公共密鑰存儲(chǔ)單元104讀取公共密鑰KPi,并利用隨機(jī)數(shù)ki、公共密鑰KPi、常數(shù)a和素?cái)?shù)p,計(jì)算ki*KPi
      (d)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用轉(zhuǎn)換函數(shù)f,將內(nèi)容密鑰KC轉(zhuǎn)換為橢圓曲線E2上的點(diǎn)P_KC=f(KC)。
      (e)計(jì)算P_KC+ki*KPi(f)尋找s,其中該s是x(PCi)(PCi的x坐標(biāo))的α多項(xiàng)式中,系數(shù)不是0而是1的項(xiàng)中α的最低次數(shù)。
      例如,當(dāng)x(PCi)=α6+α5=α3,則s=3,這是因?yàn)轫?xiàng)α3具有非零系數(shù)和最低次數(shù)。
      (g)如果y(PCi)(PCi的y坐標(biāo))的α多項(xiàng)式中項(xiàng)αs的系數(shù)等于x(PCi)的α多項(xiàng)式中項(xiàng)αs的系數(shù),那么設(shè)定Ci=P_KC+ki*KPi另一方面,如果y(PCi)的α多項(xiàng)式中項(xiàng)αs的系數(shù)不等于x(PCi)的α多項(xiàng)式中項(xiàng)αs的系數(shù),那么設(shè)定Ci=-(P_KC+ki*KPi)(h)將x(PCi)(點(diǎn)PCi的x坐標(biāo))和點(diǎn)Ci作為加密的內(nèi)容密鑰EKCi輸出至輸出單元115。
      輸出單元115將加密的內(nèi)容密鑰EKC1,EKC2,EKC3,...,EKCn作為加密的內(nèi)容密鑰信息EKC輸出至發(fā)送/接收單元101。
      發(fā)送/接收單元101將加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC經(jīng)由因特網(wǎng)20發(fā)送至每個(gè)內(nèi)容接收設(shè)備2001,2002,...,200n。
      內(nèi)容接收設(shè)備200i經(jīng)由因特網(wǎng)20從內(nèi)容傳送設(shè)備100接收加密的內(nèi)容EC和加密的內(nèi)容密鑰信息EKC。
      在內(nèi)容接收設(shè)備200i中,密鑰解密單元204預(yù)先存儲(chǔ)分配給內(nèi)容接收設(shè)備200i的設(shè)備ID號(hào)“i”。
      密鑰解密單元204從發(fā)送/接收單元201接收加密的內(nèi)容密鑰信息EKC,并讀取設(shè)備ID號(hào)“i”。如前所述,密鑰解密單元204利用設(shè)備ID號(hào)“i”,指定在加密的內(nèi)容密鑰信息EKC中對(duì)應(yīng)于內(nèi)容接收設(shè)備200i的加密的內(nèi)容密鑰EKCi。密鑰解密單元204從加密的內(nèi)容密鑰信息EKC中抽取加密的內(nèi)容密鑰EKCi,還從加密的內(nèi)容密鑰EKCi中抽取x(PCi)(點(diǎn)PCi的x坐標(biāo))和點(diǎn)Ci。
      密鑰解密單元204尋找x(PCi)的α多項(xiàng)式中系數(shù)不是0而是1的項(xiàng)中α的最低次數(shù)s。然后密鑰解密單元204計(jì)算y2+x(PCi)y=x(PCi)3+a×x(PCi)2+b以獲得兩個(gè)解y’i-1和y’i-2。密鑰解密單元204從兩個(gè)解y’i-1和y’i-2中選擇一個(gè)解,該解的α多項(xiàng)式包含的項(xiàng)αs的系數(shù)與x(PCi)的α多項(xiàng)式中項(xiàng)αs的系數(shù)相等。因此,選擇解y(PCi)’。
      接下來(lái),密鑰解密單元204利用選擇的y(PCi)’和抽取的x(PCi),設(shè)定PCi’=(x(PCi),y(PCi)’)然后密鑰解密單元204計(jì)算P_KC’=Ci-ksi*PCi’并將P_KC’轉(zhuǎn)換成整數(shù),以產(chǎn)生解密的內(nèi)容密鑰KC’=f-1(P_KC’)。
      內(nèi)容解密單元203利用這樣的解密的內(nèi)容密鑰KC’,對(duì)加密的內(nèi)容EC進(jìn)行解密,以產(chǎn)生解密的內(nèi)容C’。
      上述改進(jìn)還可以再如下改進(jìn)。
      上述改進(jìn)描述的情況是s是系數(shù)不是0而是1的項(xiàng)中α的最低次數(shù)。或者,s可以是系數(shù)不是0而是1的項(xiàng)中α的最高次數(shù)。
      并且,上述改進(jìn)描述的示例是從兩個(gè)解y’i-1和y’i-2中選擇一個(gè)解,該解的α多項(xiàng)式包含的項(xiàng)αs的系數(shù)與x(PCi)的α多項(xiàng)式中的項(xiàng)αs的系數(shù)相等?;蛘?,可以從兩個(gè)解y’i-1和y’i-2中選擇一個(gè)解,該解的α多項(xiàng)式包含的項(xiàng)αs的系數(shù)與x(PCi)的α多項(xiàng)式中的項(xiàng)αs的系數(shù)不相等。
      (4)第三實(shí)施例描述的情況是使用橢圓曲線上的ElGamal,或者可以使用有限域上的ElGamal。
      下面給出使用有限域ElGamal的示例。
      令p是素?cái)?shù),g是有限域GF(p)上的基本元素(g∈GP(p)),且q是基本元素g的階數(shù)(其中g(shù)q=l mod p)。
      并且,ksi表示內(nèi)容接收設(shè)備200ci的秘密密鑰,kpi表示內(nèi)容接收設(shè)備200ci的公共密鑰(kpi=gksimod p)。
      這里,ab表示將a增加至指數(shù)b的求冪運(yùn)算。
      內(nèi)容接收設(shè)備200ci存儲(chǔ)秘密密鑰ksi、素?cái)?shù)p、基本元素g以及基本元素g的階數(shù)q。內(nèi)容傳送設(shè)備100c存儲(chǔ)公共密鑰kp1,kp2,...,kpn、素?cái)?shù)p、基本元素g、以及基本元素g的階數(shù)q。
      在內(nèi)容傳送設(shè)備100c中,公共加密單元119c產(chǎn)生160比特的隨機(jī)數(shù)k。公共加密單元119c也讀取基本元素g和素?cái)?shù)p,并利用隨機(jī)數(shù)k、基本元素g和素?cái)?shù)p,計(jì)算公共密文pc=gkmod p公共加密單元119c輸出公共密文pc至輸出單元115,并輸出隨機(jī)數(shù)k至獨(dú)立加密單元120c。
      如下所述,獨(dú)立加密單元120c產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200ci的獨(dú)立密文ci。
      (a)從公共加密單元119c接收隨機(jī)數(shù)k。
      (b)讀取公共密鑰kpi和素?cái)?shù)p,并利用隨機(jī)數(shù)k、公共密鑰kpi和素?cái)?shù)p計(jì)算kpikmod p(c)從內(nèi)容密鑰產(chǎn)生單元102接收內(nèi)容密鑰KC,并利用接收的內(nèi)容密鑰KC計(jì)算獨(dú)立密文ci=KC xor(kpikmod p)這樣,產(chǎn)生對(duì)應(yīng)于內(nèi)容接收設(shè)備200c1,200c2,...,200cn的獨(dú)立密文c1,c2,...,cn。
      發(fā)送單元101經(jīng)由因特網(wǎng)20發(fā)送加密的內(nèi)容密鑰信息EKC至每個(gè)內(nèi)容接收設(shè)備200c1,200c2,...,200cn,其中該內(nèi)容密鑰信息EKC由公共密文pc和獨(dú)立密文c1,c2,...,cn組成。
      內(nèi)容接收設(shè)備200ci從內(nèi)容傳送設(shè)備100c接收加密的內(nèi)容密鑰信息EKC,其中該內(nèi)容密鑰信息EKC由公共密文pc和獨(dú)立密文ci,c2,...,cn組成。
      在內(nèi)容接收設(shè)備200ci中,密鑰解密單元204c包括標(biāo)量乘法單元212c和內(nèi)容密鑰計(jì)算單元213c,如圖14所示。
      標(biāo)量乘法單元212c讀取秘密密鑰ksi和素?cái)?shù)p。標(biāo)量乘法單元212c也從發(fā)送/接收單元201接收的加密的內(nèi)容密鑰信息EKC中抽取公共密文pc。標(biāo)量乘法單元212c利用素?cái)?shù)p和秘密密鑰ksi計(jì)算pcksimod p標(biāo)量乘法單元212c將pcksimod p輸出至內(nèi)容密鑰計(jì)算單元213c。
      內(nèi)容密鑰計(jì)算單元213c預(yù)先存儲(chǔ)分配給內(nèi)容接收設(shè)備200ci的設(shè)備ID號(hào)“i”。內(nèi)容密鑰計(jì)算單元213c讀取設(shè)備ID號(hào)“i”。內(nèi)容密鑰計(jì)算單元213c利用設(shè)備ID號(hào)“i”指定在從發(fā)送/接收單元201接收的加密的內(nèi)容密鑰信息EKC中對(duì)應(yīng)于內(nèi)容接收設(shè)備200ci的獨(dú)立密文ci。內(nèi)容密鑰計(jì)算單元213c從加密的內(nèi)容密鑰信息EKC中抽取ci。內(nèi)容密鑰計(jì)算單元213c也從標(biāo)量乘法單元212c接收pcksimod p,并利用接收的pcksimod p計(jì)算cixor(pcksimod p)內(nèi)容密鑰計(jì)算單元213c將計(jì)算結(jié)果設(shè)定為解密的內(nèi)容密鑰KC’KC’=cixor(pcksimod p)內(nèi)容密鑰計(jì)算單元213c將解密的內(nèi)容密鑰KC’輸出至內(nèi)容解密單元203。
      根據(jù)該改進(jìn),本發(fā)明可以由這樣一種信息傳輸系統(tǒng)實(shí)現(xiàn),該系統(tǒng)包括加密設(shè)備和多個(gè)解密設(shè)備,并利用作為安全性基礎(chǔ)的有限域離散對(duì)數(shù)問(wèn)題,秘密傳輸信息。
      令p是素?cái)?shù),g是有限域GF(p)上的基本元素(g∈GP(p)),且q是基本元素g的階數(shù)(其中g(shù)q=1 mod p)。
      這樣,多個(gè)解密設(shè)備中每一個(gè)的公共密鑰kp都可以利用解密設(shè)備的秘密密鑰ks,通過(guò)kp=gksmod p計(jì)算出來(lái)。
      加密設(shè)備包括存儲(chǔ)單元、隨機(jī)數(shù)產(chǎn)生單元、公共計(jì)算單元、獨(dú)立計(jì)算單元以及輸出單元,其中獨(dú)立計(jì)算單元包括公共密鑰計(jì)算單元和異或單元。存儲(chǔ)單元存儲(chǔ)明文。隨機(jī)數(shù)產(chǎn)生單元產(chǎn)生隨機(jī)數(shù)k。公共計(jì)算單元利用基本元素g和隨機(jī)數(shù)k,產(chǎn)生公共密文元素pcpc=gkmod p公共密鑰計(jì)算單元利用多個(gè)解密設(shè)備中每個(gè)的公共密鑰kp和隨機(jī)數(shù)k,計(jì)算取冪的公共密鑰元素kpkmod p異或單元對(duì)明文和為多個(gè)解密設(shè)備中每個(gè)計(jì)算出的取冪的公共密鑰元素,執(zhí)行異或運(yùn)算,以獲得對(duì)應(yīng)于多個(gè)解密設(shè)備的多個(gè)獨(dú)立密文。輸出單元輸出公共密文元素pc和多個(gè)獨(dú)立密文。
      多個(gè)解密設(shè)備中的每個(gè)包括獲取單元、抽取單元、秘密密鑰計(jì)算單元以及異或單元。獲取單元獲取公共密文元素pc和多個(gè)獨(dú)立密文。抽取單元從多個(gè)獨(dú)立密文中抽取對(duì)應(yīng)于解密設(shè)備的獨(dú)立密文。秘密密鑰計(jì)算單元利用公共密文元素pc和解密設(shè)備的秘密密鑰ks,計(jì)算取冪的公共密文元素pcksmod p異或單元對(duì)抽取的獨(dú)立密文和取冪的公共密文元素執(zhí)行異或運(yùn)算,以產(chǎn)生解密的文本。
      (5)第一至第三實(shí)施例可以自由組合。
      (6)第一至第三實(shí)施例描述的情況是分配給每個(gè)內(nèi)容接收設(shè)備一對(duì)秘密密鑰和公共密鑰,但是本發(fā)明并不限于此。
      例如,可以根據(jù)類型,諸如作者、制片人或者體裁,對(duì)內(nèi)容進(jìn)行分組,使得每組被分配有一對(duì)秘密密鑰和公共密鑰。
      并且,可以為每個(gè)獨(dú)立的用戶分配一對(duì)秘密密鑰和公共密鑰。
      另外,可以為每組用戶分配一對(duì)秘密密鑰和公共密鑰。
      (7)第一至第三實(shí)施例描述的情況是內(nèi)容傳送設(shè)備經(jīng)由因特網(wǎng)分發(fā)加密的內(nèi)容和加密的內(nèi)容密鑰信息,但是內(nèi)容傳送設(shè)備可以分發(fā)存儲(chǔ)介質(zhì),諸如DVD或者存儲(chǔ)器卡,其中加密的內(nèi)容和加密的內(nèi)容密鑰信息存儲(chǔ)在該存儲(chǔ)介質(zhì)上。在這種情況下,每個(gè)內(nèi)容接收設(shè)備從存儲(chǔ)介質(zhì)讀取加密的內(nèi)容和加密的內(nèi)容密鑰信息,并對(duì)加密的內(nèi)容進(jìn)行解密。
      或者,內(nèi)容傳送設(shè)備可以通過(guò)數(shù)字廣播,來(lái)廣播加密的內(nèi)容和加密的內(nèi)容密鑰信息。在這種情況下,每個(gè)內(nèi)容接收設(shè)備接收承載著加密的內(nèi)容和加密的內(nèi)容密鑰信息的廣播波,并從廣播波中抽取加密的內(nèi)容和加密的內(nèi)容密鑰信息,以及對(duì)加密的內(nèi)容進(jìn)行解密。
      (8)第一至第三實(shí)施例和改進(jìn)描述的情況是使用橢圓曲線ElGamal或者有限域ElGamal,對(duì)內(nèi)容密鑰進(jìn)行加密,但是本發(fā)明并不限于此。橢圓曲線ElGamal或有限域ElGamal可以同等地用于對(duì)內(nèi)容進(jìn)行加密。
      (9)第一至第三實(shí)施例描述了對(duì)內(nèi)容進(jìn)行加密的示例,但這并不限制本發(fā)明。
      本發(fā)明可以應(yīng)用于任意類型的秘密通信,在不向第三方暴露通信內(nèi)容的情況下安全地進(jìn)行信息通信。例如,本發(fā)明適用于e-mail發(fā)送/接收系統(tǒng)、用于商業(yè)交易的秘密通信系統(tǒng)、專利應(yīng)用申請(qǐng)系統(tǒng)、以及金融機(jī)構(gòu)的支付系統(tǒng)。
      (10)本發(fā)明也適用于上述方法。該方法可以通過(guò)由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可讀程序?qū)崿F(xiàn)。這樣的計(jì)算機(jī)可讀程序可以作為數(shù)字信號(hào)分發(fā)。
      本發(fā)明可以通過(guò)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),諸如軟盤(pán)、硬盤(pán)、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(藍(lán)光盤(pán))或者半導(dǎo)體存儲(chǔ)器實(shí)現(xiàn),上述的計(jì)算機(jī)可讀程序或數(shù)字信號(hào)記錄在該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。相反,本發(fā)明也可以通過(guò)記錄在這樣的存儲(chǔ)介質(zhì)上的計(jì)算機(jī)可讀程序或數(shù)字信號(hào)實(shí)現(xiàn)。
      用于實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)可讀程序或數(shù)字信號(hào)經(jīng)由諸如電子通信網(wǎng)、有線或無(wú)線通信網(wǎng)或因特網(wǎng)這樣的網(wǎng)絡(luò)發(fā)送,或經(jīng)由數(shù)據(jù)廣播發(fā)送。
      本發(fā)明也可以通過(guò)包括微處理器和存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)。在這種情況下,計(jì)算可讀程序存儲(chǔ)在存儲(chǔ)器中,且微處理器根據(jù)該計(jì)算機(jī)可讀程序運(yùn)行。
      可以通過(guò)分發(fā)記錄有計(jì)算機(jī)可讀程序或數(shù)字信號(hào)的存儲(chǔ)介質(zhì),或者通過(guò)經(jīng)由網(wǎng)絡(luò)發(fā)送計(jì)算機(jī)可讀程序或數(shù)字信號(hào),將計(jì)算機(jī)可讀程序或數(shù)字信號(hào)提供給獨(dú)立的計(jì)算機(jī)系統(tǒng)。然后該獨(dú)立的計(jì)算機(jī)系統(tǒng)可以執(zhí)行計(jì)算機(jī)可讀程序或數(shù)字信號(hào),以實(shí)現(xiàn)本發(fā)明。
      (11)第一至第三實(shí)施例和改進(jìn)可以自由組合。
      如上所述,本發(fā)明可以通過(guò)省略每個(gè)加密的內(nèi)容密鑰中密文的橢圓曲線點(diǎn)的y坐標(biāo),或者通過(guò)使部分密文對(duì)于所有內(nèi)容接收設(shè)備來(lái)說(shuō)是公共的,來(lái)減小加密的內(nèi)容密鑰信息的數(shù)據(jù)長(zhǎng)度。
      工業(yè)實(shí)用性本發(fā)明的設(shè)備可以重復(fù)以及連續(xù)地用于任何工業(yè),該工業(yè)在不向第三方暴露信息的情況下安全可靠地處理信息。同時(shí),本發(fā)明的設(shè)備可以在電氣產(chǎn)品的制造工業(yè)中重復(fù)和連續(xù)地制造和銷售。
      權(quán)利要求
      1.一種信息傳輸系統(tǒng),利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題來(lái)保密地傳輸信息,所述信息傳輸系統(tǒng)包括加密設(shè)備和解密設(shè)備,所述加密設(shè)備包括存儲(chǔ)單元,用于存儲(chǔ)明文;加密單元,用于對(duì)所述明文執(zhí)行橢圓曲線加密,并產(chǎn)生密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)所述橢圓曲線加密產(chǎn)生的;以及輸出單元,用于輸出所述密文,以及所述解密設(shè)備包括獲取單元,用于獲取所述密文;以及解密單元,用于利用所述獲取的密文中包含的x坐標(biāo),計(jì)算所述橢圓曲線上所述加密點(diǎn)的y坐標(biāo),以及利用所述加密點(diǎn)和所述獲取的密文中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的文本。
      2.一種加密設(shè)備,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)明文進(jìn)行加密,所述加密設(shè)備包括存儲(chǔ)單元,用于存儲(chǔ)所述明文;加密單元,用于對(duì)所述明文執(zhí)行橢圓曲線加密,并產(chǎn)生密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)所述橢圓曲線加密產(chǎn)生的;以及輸出單元,用于輸出所述密文。
      3.如權(quán)利要求2所述的加密設(shè)備,其中存儲(chǔ)在所述存儲(chǔ)單元中的所述明文是標(biāo)量;以及所述加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第一計(jì)算單元,用于將所述橢圓曲線上的基點(diǎn)乘以所述隨機(jī)數(shù);第二計(jì)算單元,用于將所述橢圓曲線上的公共密鑰點(diǎn)乘以所述隨機(jī)數(shù);轉(zhuǎn)換單元,用于對(duì)所述明文應(yīng)用轉(zhuǎn)換函數(shù),以產(chǎn)生所述橢圓曲線上的明文點(diǎn),其中所述轉(zhuǎn)換函數(shù)用于將標(biāo)量轉(zhuǎn)換為所述橢圓曲線上的對(duì)應(yīng)點(diǎn);第三計(jì)算單元,用于通過(guò)所述明文點(diǎn)和所述相乘后的公共密鑰點(diǎn)相加,計(jì)算求和點(diǎn);以及產(chǎn)生單元,用于產(chǎn)生所述密文,該密文包括所述求和點(diǎn)和所述相乘后的基點(diǎn)的x坐標(biāo),其中該相乘后的基點(diǎn)是所述加密點(diǎn)。
      4.如權(quán)利要求3所述的加密設(shè)備,其中所述第三計(jì)算單元判斷是否滿足預(yù)定的條件,來(lái)設(shè)定所述求和點(diǎn),如果所述判斷是肯定的,則將所述明文點(diǎn)和所述相乘后的公共密鑰點(diǎn)的和設(shè)定為所述求和點(diǎn),以及如果所述判斷是否定的,則將與所述明文點(diǎn)和所述相乘后的公共密鑰點(diǎn)的和的對(duì)應(yīng)負(fù)點(diǎn)設(shè)定所述求和點(diǎn)。
      5.如權(quán)利要求4所述的加密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);以及所述第三計(jì)算單元判斷所述相乘后的基點(diǎn)的y坐標(biāo)是否小于(p-1)/2,作為所述預(yù)定的條件。
      6.如權(quán)利要求4所述的加密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(2m)上y2+xy=x3+ax2+b其中m是自然數(shù),且由根為α的f(x)表示GF(2m)上的生成多項(xiàng)式;以及作為所述預(yù)定條件的是所述第三計(jì)算單元判斷所述相乘后的基點(diǎn)的y坐標(biāo)的α生成多項(xiàng)式中項(xiàng)αs的系數(shù)是否等于所述相乘后的基點(diǎn)的x坐標(biāo)的α生成多項(xiàng)式中項(xiàng)αs的系數(shù),其中s表示所述相乘后的基點(diǎn)的x坐標(biāo)的α生成多項(xiàng)式中的非零系數(shù)項(xiàng)中的最低次數(shù)。
      7.如權(quán)利要求2所述的加密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);存儲(chǔ)在所述存儲(chǔ)單元中的所述明文是標(biāo)量;以及所述加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第二計(jì)算單元,用于將所述橢圓曲線上的公共密鑰點(diǎn)乘以所述隨機(jī)數(shù);轉(zhuǎn)換單元,用于對(duì)所述明文應(yīng)用轉(zhuǎn)換函數(shù),以產(chǎn)生所述橢圓曲線上的明文點(diǎn),其中所述轉(zhuǎn)換函數(shù)用于將標(biāo)量轉(zhuǎn)換為所述橢圓曲線上的對(duì)應(yīng)點(diǎn);第三計(jì)算單元,用于將所述明文點(diǎn)和所述相乘后的公共密鑰點(diǎn)相加,以獲得求和點(diǎn);第一計(jì)算單元,用于判斷所述求和點(diǎn)的y坐標(biāo)是否小于(p-1)/2,以及如果所述判斷是肯定的,則將所述橢圓曲線上的基點(diǎn)乘以所述隨機(jī)數(shù),以及如果所述判斷是否定的,則將所述橢圓曲線上的基點(diǎn)乘以所述隨機(jī)數(shù)的對(duì)應(yīng)負(fù)數(shù);以及產(chǎn)生單元,用于產(chǎn)生所述密文,該密文包括相乘后的基點(diǎn)以及所述求和點(diǎn)的x坐標(biāo),所述求和點(diǎn)是所述加密點(diǎn)。
      8.如權(quán)利要求2所述的加密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);存儲(chǔ)在所述存儲(chǔ)單元中的所述明文是標(biāo)量;以及所述加密單元包括隨機(jī)數(shù)產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),該隨機(jī)數(shù)是標(biāo)量;第一計(jì)算單元,用于將所述橢圓曲線上的基點(diǎn)乘以所述隨機(jī)數(shù);第二計(jì)算單元,用于將所述橢圓曲線上的公共密鑰點(diǎn)乘以所述隨機(jī)數(shù);第三計(jì)算單元,用于對(duì)所述明文和所述相乘后的公共密鑰點(diǎn)的x坐標(biāo)執(zhí)行異或運(yùn)算;以及產(chǎn)生單元,用于產(chǎn)生所述密文,該密文包括作為所述異或運(yùn)算結(jié)果所獲得的異或值以及所述相乘后的基點(diǎn)的x坐標(biāo),該相乘后的基點(diǎn)是所述加密點(diǎn)。
      9.如權(quán)利要求2所述的加密設(shè)備,其中存儲(chǔ)在所述存儲(chǔ)單元中的所述明文是內(nèi)容密鑰;所述加密單元通過(guò)對(duì)所述內(nèi)容密鑰進(jìn)行加密,產(chǎn)生所述密文;以及所述加密設(shè)備還包括內(nèi)容加密單元,用于利用所述內(nèi)容密鑰對(duì)內(nèi)容進(jìn)行加密;以及內(nèi)容輸出單元,用于輸出所述加密的內(nèi)容。
      10.一種解密設(shè)備,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)密文進(jìn)行解密,所述解密設(shè)備包括獲取單元,用于獲取所述密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)對(duì)明文執(zhí)行橢圓曲線加密產(chǎn)生的;以及解密單元,用于利用所述獲取的密文中包含的x坐標(biāo),計(jì)算所述橢圓曲線上所述加密點(diǎn)的y坐標(biāo),以及利用所述加密點(diǎn)和所述獲取的密文中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的文本。
      11.如權(quán)利要求10所述的解密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);所述獲取單元從如權(quán)利要求5所述的加密設(shè)備中獲取所述密文;以及所述解密單元包括平方根計(jì)算單元,用于將所述獲取的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,從所述兩個(gè)解y中選擇小于(p-1)/2的一個(gè)解,并產(chǎn)生第一解密點(diǎn),所述第一解密點(diǎn)由所述獲取的密文中包含的x坐標(biāo)以及所述選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將所述第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),其中所述秘密密鑰是標(biāo)量,所述公共密鑰點(diǎn)是通過(guò)將所述橢圓曲線上的基點(diǎn)乘以所述秘密密鑰產(chǎn)生的;以及解密的文本計(jì)算單元,用于從所述獲取的密文中包含的所述求和點(diǎn)中減去所述第二解密點(diǎn),并對(duì)作為所述減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生所述解密的文本,其中所述逆轉(zhuǎn)換函數(shù)用于將所述橢圓曲線上的點(diǎn)轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)量。
      12.如權(quán)利要求10所述的解密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(2m)上y2+xy=x3+ax2+b其中m是自然數(shù),且GF(2m)中的生成多項(xiàng)式用根為α的f(x)表示;所述獲取單元從如權(quán)利要求6所述的加密設(shè)備中獲取所述密文;以及所述解密單元包括檢測(cè)單元,用于檢測(cè)所述獲取的密文中包含的x坐標(biāo)的α生成多項(xiàng)式中的非零系數(shù)項(xiàng)中的最低次數(shù)s;求解單元,用于將所述獲取的密文中包含的x坐標(biāo)代入所述式y(tǒng)2+xy=x3+ax2+b中,以得到兩個(gè)解y,從所述兩個(gè)解y中選擇一個(gè)解y,該解的α生成多項(xiàng)式包括的項(xiàng)αs的系數(shù)與所述獲取的密文中包含的x坐標(biāo)的α生成多項(xiàng)式中的項(xiàng)αs的系數(shù)相等,并產(chǎn)生第一解密點(diǎn),所述第一解密點(diǎn)由所述獲取的密文中包含的x坐標(biāo)和所述選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將所述第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,所述公共密鑰點(diǎn)是通過(guò)將所述橢圓曲線上的基點(diǎn)乘以所述秘密密鑰產(chǎn)生的;以及解密的文本計(jì)算單元,用于從所述獲取的密文中包含的所述求和點(diǎn)減去所述第二解密點(diǎn),并對(duì)作為所述減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生所述解密的文本,其中所述逆轉(zhuǎn)換函數(shù)用于將所述橢圓曲線上的點(diǎn)轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)量。
      13.如權(quán)利要求10所述的解密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);所述獲取單元從如權(quán)利要求7所述的加密設(shè)備中獲取所述密文;以及所述解密單元包括平方根計(jì)算單元,用于將所述獲取的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,從所述兩個(gè)解y中選擇小于(p-1)/2的一個(gè)解,并產(chǎn)生第一解密點(diǎn),所述第一解密點(diǎn)由所述獲取的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將所述獲取的密文中包含的相乘后的基點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,所述公共密鑰點(diǎn)是通過(guò)將所述橢圓曲線上的所述基點(diǎn)乘以所述秘密密鑰產(chǎn)生的;以及解密的文本計(jì)算單元,用于從所述第一解密點(diǎn)中減去所述第二解密點(diǎn),并對(duì)作為所述減法結(jié)果所獲得的點(diǎn)應(yīng)用逆轉(zhuǎn)換函數(shù),以產(chǎn)生所述解密的文本,其中所述逆轉(zhuǎn)換函數(shù)用于將所述橢圓曲線上的點(diǎn)轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)量。
      14.如權(quán)利要求10所述的解密設(shè)備,其中所述橢圓曲線通過(guò)下式定義在有限域GF(p)上y2=x3+a×x+b其中p是素?cái)?shù);所述獲取單元從如權(quán)利要求8所述的加密設(shè)備中獲取所述密文;以及所述解密單元包括平方根計(jì)算單元,用于將所述獲取的密文中包含的x坐標(biāo)代入式y(tǒng)2=x3+a×x+b中,以得到兩個(gè)解y,從所述兩個(gè)解y中選擇小于(p-1)/2的一個(gè)解,并產(chǎn)生第一解密點(diǎn),所述第一解密點(diǎn)由所述獲取的密文中包含的x坐標(biāo)和選擇作為y坐標(biāo)的解y組成;標(biāo)量乘法單元,用于將所述第一解密點(diǎn)乘以秘密密鑰,以產(chǎn)生第二解密點(diǎn),該秘密密鑰是標(biāo)量,所述公共密鑰點(diǎn)是通過(guò)將所述橢圓曲線上的基點(diǎn)乘以所述秘密密鑰產(chǎn)生的;以及解密的文本計(jì)算單元,用于對(duì)所述獲取的密文中包含的異或值和所述第二解密點(diǎn)的x坐標(biāo)執(zhí)行異或運(yùn)算,以產(chǎn)生所述解密的文本。
      15.如權(quán)利要求10所述的解密設(shè)備,其中所述獲取單元從如權(quán)利要求9所述的加密設(shè)備中獲取所述密文和所述加密的內(nèi)容;所述解密單元對(duì)所述密文進(jìn)行解密,以產(chǎn)生所述解密的文本,該解密的文本是解密的內(nèi)容密鑰;以及所述解密設(shè)備還包括內(nèi)容解密單元,用于利用所述解密的內(nèi)容密鑰,對(duì)所述加密的內(nèi)容進(jìn)行解密,以產(chǎn)生解密的內(nèi)容;以及內(nèi)容再現(xiàn)單元,用于再現(xiàn)所述解密的內(nèi)容。
      16.一種在加密設(shè)備中使用的加密方法,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)明文進(jìn)行加密,包括加密步驟,對(duì)所述明文執(zhí)行橢圓曲線加密,并產(chǎn)生密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)所述橢圓曲線加密產(chǎn)生的;以及輸出步驟,輸出所述密文。
      17.一種在加密設(shè)備中使用的計(jì)算機(jī)可讀程序,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)明文進(jìn)行加密,所述程序包括用于執(zhí)行以下步驟的代碼加密步驟,對(duì)所述明文執(zhí)行橢圓曲線加密,并產(chǎn)生密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)所述橢圓曲線加密產(chǎn)生的;以及輸出步驟,輸出所述密文。
      18.如權(quán)利要求17所述的程序,記錄在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
      19.一種解密設(shè)備中使用的解密方法,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)密文進(jìn)行解密,所述方法包括獲取步驟,獲取所述密文,該密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)對(duì)明文執(zhí)行橢圓曲線加密產(chǎn)生的;以及解密步驟,利用所述獲取的密文中包含的x坐標(biāo),計(jì)算所述橢圓曲線上的所述加密點(diǎn)的y坐標(biāo),以及利用所述加密點(diǎn)和所述獲取的密文中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的文本。
      20.一種在解密設(shè)備中使用的計(jì)算機(jī)可讀程序,利用作為安全性基礎(chǔ)的橢圓曲線離散對(duì)數(shù)問(wèn)題對(duì)密文進(jìn)行解密,所述程序包括用于執(zhí)行以下步驟的代碼獲取步驟,獲取所述密文,所述密文包括橢圓曲線上加密點(diǎn)的x坐標(biāo),所述加密點(diǎn)是通過(guò)對(duì)明文執(zhí)行橢圓曲線加密產(chǎn)生的;以及解密步驟,利用所述獲取的密文中包含的x坐標(biāo),計(jì)算所述橢圓曲線上的所述加密點(diǎn)的y坐標(biāo),并利用所述加密點(diǎn)和所述獲取的密文中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的文本。
      21.如權(quán)利要求20所述的程序,記錄在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
      全文摘要
      提供一種內(nèi)容傳送系統(tǒng),使得利用ElGamal密碼時(shí),能夠減小密文的長(zhǎng)度。內(nèi)容傳送設(shè)備對(duì)內(nèi)容密鑰執(zhí)行橢圓曲線加密,產(chǎn)生加密的內(nèi)容密鑰,該加密的內(nèi)容密鑰包括通過(guò)橢圓曲線加密獲得的橢圓曲線點(diǎn)的x坐標(biāo),并輸出該加密的內(nèi)容密鑰。內(nèi)容接收設(shè)備接收該加密的內(nèi)容密鑰,并利用該加密的內(nèi)容密鑰中包含的x坐標(biāo),計(jì)算該橢圓曲線點(diǎn)的y坐標(biāo)。然后該內(nèi)容接收設(shè)備利用該橢圓曲線點(diǎn)和該加密的內(nèi)容密鑰中包含的其他信息,執(zhí)行橢圓曲線解密,以產(chǎn)生解密的內(nèi)容密鑰。
      文檔編號(hào)H04L9/28GK1890916SQ200480035869
      公開(kāi)日2007年1月3日 申請(qǐng)日期2004年10月1日 優(yōu)先權(quán)日2003年10月3日
      發(fā)明者布田裕一, 大森基司 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1