專利名稱:用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)和方法,更具體地講,涉及這樣的一種用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)和方法:該分布式處理系統(tǒng)和方法能夠通過允許多個(gè)操作代理使用預(yù)計(jì)算表來分布式地處理離散對(duì)數(shù)計(jì)算操作,提高離散對(duì)數(shù)計(jì)算的速度和資源效率。
背景技術(shù):
離散對(duì)數(shù)問題是在與在具有N作為群階(group order)的有限環(huán)中形成的乘法有關(guān)的循環(huán)群中定義的,是用于當(dāng)循環(huán)群的生成元(generator)是g時(shí)針對(duì)循環(huán)群的各元素當(dāng)中的給定數(shù)(目標(biāo)元素)y搜索滿足y=g~k mod N的k的問題,并且,離散對(duì)數(shù)問題可以被廣泛地用于公鑰加密系統(tǒng)等中。在求解離散對(duì)數(shù)問題的方法當(dāng)中,使用預(yù)計(jì)算表的離散對(duì)數(shù)計(jì)算方法也被稱為陷門離散對(duì)數(shù)(TDL),并且,生成預(yù)計(jì)算表的操作被稱為鏈生成。在TDL中,生成預(yù)計(jì)算表和計(jì)算離散對(duì)數(shù)的操作如下所述。最初,關(guān)于離散對(duì)數(shù)問題,環(huán)的群階N可以被設(shè)置為如等式I所示。[等式I]N=pq(p-1和q_l是具有B-平滑數(shù)的大小的一定數(shù)量的素因子和具有等于或小于B/2-平滑數(shù)的大小的一定數(shù)量的素因子的乘積(multiply))這里,在考慮密碼穩(wěn)定的情況下,B通常被設(shè)置為等于或大于80的數(shù)。如果素因子如上所述地被設(shè)置,那么可以定義使用素因子作為群階的子群。在這種情況下,每一個(gè)子群的生成元被稱為子生成元。針對(duì)與每一個(gè)素因子相對(duì)應(yīng)的子群的子生成元,可以生產(chǎn)預(yù)計(jì)算表。預(yù)計(jì)算表是用于存儲(chǔ)通過下述方式獲得的指數(shù)和函數(shù)值的表:對(duì)具有子生成元作為基數(shù)并具有不同的任意指數(shù)的一定數(shù)量的初始值應(yīng)用諸如r-添加行走(r-adding walk)的迭代函數(shù),并且,預(yù)計(jì)算表可以針對(duì)每一個(gè)素因子而生成。針對(duì)循環(huán)群的各元素當(dāng)中的給定數(shù)(目標(biāo)元素)y的離散對(duì)數(shù)問題可以被分成多個(gè)小離散對(duì)數(shù)問題。如果被劃分的小離散對(duì)數(shù)問題中的給定數(shù)是y’,那么,為了求解小離散對(duì)數(shù)問題,需要對(duì)具有I,作為基數(shù)并具有任意指數(shù)的值應(yīng)用諸如r-添加行走的迭代函數(shù)的操作。在應(yīng)用迭代函數(shù)的操作中,小離散對(duì)數(shù)問題可以使用針對(duì)對(duì)應(yīng)的素因子生成的預(yù)計(jì)算表。如果當(dāng)在求解離散對(duì)數(shù)問題的操作中應(yīng)用迭代函數(shù)時(shí)獲得的值等于預(yù)計(jì)算表中的函數(shù)值,那么可以通過使用預(yù)計(jì)算表中的先前計(jì)算的信息來提高整個(gè)操作的效率。此外,在針對(duì)給定數(shù)生成預(yù)計(jì)算表并計(jì)算離散對(duì)數(shù)的操作中,必須連續(xù)地使用基于模乘法的迭代函數(shù),并且,為了促進(jìn)模乘法,使用對(duì)應(yīng)于每一個(gè)素因子的子群的子生成元的模乘法的結(jié)果值可被預(yù)先計(jì)算,并被存儲(chǔ)在被稱為模乘法輔助表的表中。與基于使用模乘法輔助表的模乘法促進(jìn)迭代函數(shù)有關(guān)的代表算法是標(biāo)簽跟蹤(tag tracing),但不限于標(biāo)簽跟蹤。如上所述,傳統(tǒng)上,當(dāng)計(jì)算發(fā)布加密密鑰所需的離散對(duì)數(shù)問題時(shí),已經(jīng)嘗試通過使用標(biāo)簽跟蹤或預(yù)計(jì)算表來提高計(jì)算的效率。但是,即使應(yīng)用使用標(biāo)簽跟蹤或預(yù)計(jì)算表的方法時(shí),也仍需要非常大的操作時(shí)間和存儲(chǔ)空間,從而無法容易地同時(shí)處理大量的加密密鑰發(fā)布請(qǐng)求。因此,需要一種不是在算法方面而是在系統(tǒng)方面提高計(jì)算(例如分布式處理)的效率的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明提供這樣的一種用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)和方法:該分布式處理系統(tǒng)和方法能夠通過允許多個(gè)操作代理使用預(yù)計(jì)算表來分布式地處理離散對(duì)數(shù)計(jì)算操作,提高離散對(duì)數(shù)計(jì)算的速度和資源效率。根據(jù)本發(fā)明的一個(gè)方面,提供一種用于離散對(duì)數(shù)計(jì)算的分布式處理方法,該方法包括:將具有N=pq (p、q為素?cái)?shù))作為模數(shù)的循環(huán)群的p_l和q_l設(shè)置為具有B-平滑數(shù)的大小的預(yù)定數(shù)量的素因子和具有等于或小于B/2-平滑數(shù)的大小的預(yù)定數(shù)量的素因子的乘積,從而生成循環(huán)群;第一分配操作,用于與多個(gè)操作代理的操作處理速度成比例地將循環(huán)群的P-1和q_l的多個(gè)素因子分配給所述多個(gè)操作代理;請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的模乘法輔助表;第二分配操作,用于基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理;請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表;第三分配操作,為了計(jì)算屬于循環(huán)群的目標(biāo)元素的離散對(duì)數(shù),用于基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理;以及請(qǐng)求操作代理通過相應(yīng)于分配給每一個(gè)操作代理的每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案。第二分配操作可以包括:與操作代理的操作處理速度成比例地將具有等于或小于B/2-平滑數(shù)的大小的素因子分配給操作代理。第二分配操作可以包括:與操作代理的操作處理速度成比例地將與具有B-平滑數(shù)的大小的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表的初始值分配給操作代理。該方法還可以包括:通過被請(qǐng)求針對(duì)每一個(gè)素因子生成預(yù)計(jì)算表或者被請(qǐng)求通過針對(duì)每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案的操作代理,將與每一個(gè)被分配的素因子相對(duì)應(yīng)的模乘法輔助表加載到存儲(chǔ)器中。第三分配操作可以包括:與操作代理的操作處理速度成比例地將具有等于或小于B/2-平滑數(shù)的大小的素因子分配給操作代理。第三分配操作可以包括:按如下方式將要輸入到與具有B-平滑數(shù)的大小的每一個(gè)素因子相對(duì)應(yīng)的迭代函數(shù)的函數(shù)輸入值分配給操作代理:使得應(yīng)用迭代函數(shù)的子集的大小與每一個(gè)操作代理的操作處理速度成比例。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種記錄有計(jì)算機(jī)程序的計(jì)算機(jī)可讀記錄介質(zhì),該計(jì)算機(jī)程序包括:將具有N=pq (p、q為素?cái)?shù))作為模數(shù)的循環(huán)群的p_l和q_l設(shè)置為具有B-平滑數(shù)的大小的預(yù)定數(shù)量的素因子和具有等于或小于B/2-平滑數(shù)的大小的預(yù)定數(shù)量的素因子的乘積,從而生成循環(huán)群的功能;與多個(gè)操作代理的操作處理速度成比例地將循環(huán)群的P-1和q_l的多個(gè)素因子分配給所述多個(gè)操作代理的功能;請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的模乘法輔助表的功能;基于循環(huán)群的p-ι和q-Ι的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理的功能;請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表的功能;為了計(jì)算屬于循環(huán)群的目標(biāo)元素的離散對(duì)數(shù),基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理的功能;以及請(qǐng)求操作代理通過相應(yīng)于分配給每一個(gè)操作代理的每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案的功能。
通過參照附圖詳細(xì)地描述本發(fā)明的示例性實(shí)施例,本發(fā)明的上述和其它特征和優(yōu)點(diǎn)將變得更加清楚,在附圖中:圖1是根據(jù)本發(fā)明實(shí)施例的用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明實(shí)施例的由用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的操作控制單元執(zhí)行的分布式處理方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中生成用于標(biāo)簽跟蹤的輔助表的操作的分布式處理的處理圖;圖4是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中生成預(yù)計(jì)算表的操作的分布式處理的處理圖;圖5是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中計(jì)算離散對(duì)數(shù)的操作的分布式處理的處理圖;以及圖6是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)中的分布式處理的框圖。
具體實(shí)施例方式前面僅僅說明了本發(fā)明的原理。因此,將會(huì)認(rèn)識(shí)到,本領(lǐng)域的普通技術(shù)人員將能夠設(shè)計(jì)各種布置,盡管在本文中沒有明確地描述或示出這些布置,但是,這些布置體現(xiàn)了本發(fā)明的原理,并且被包括在本發(fā)明的精神和范圍內(nèi)。此外,本文中記載的所有例子和條件語(yǔ)言原則上確切地意欲僅僅出于教導(dǎo)的目的,并且?guī)椭喿x者理解本發(fā)明的原理以及發(fā)明人對(duì)本領(lǐng)域進(jìn)一步貢獻(xiàn)的構(gòu)思,這些例子和條件語(yǔ)言將被解釋為不限于這些具體地記載的例子和條件。此外,本文中記載本發(fā)明的原理、方面和實(shí)施例及其具體例子的所有陳述意欲涵蓋其結(jié)構(gòu)和功能等同物。另外,這種等同物意欲包括當(dāng)前已知的等同物和將來開發(fā)的等同物,即,不管結(jié)構(gòu)如何都執(zhí)行相同功能的開發(fā)的任何組件。在包括被表示為處理器或與處理器類似的概念的功能塊的附圖中示出的各種裝置的功能不僅可以利用特定硬件提供,而且可以利用可執(zhí)行相關(guān)軟件的通用硬件提供。當(dāng)這些功能由處理器提供時(shí),這些功能可以由單個(gè)特定處理器、單個(gè)可共享處理器或者可以進(jìn)行多個(gè)處理器之間的共享的多個(gè)處理器提供。此外,諸如處理器、控制等的術(shù)語(yǔ)的使用不應(yīng)該被解釋為限制于能夠執(zhí)行軟件的硬件,而應(yīng)該被解釋為間接地包括用于存儲(chǔ)軟件的數(shù)字信號(hào)處理器(DSP)硬件、只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)和非易失性存儲(chǔ)器。其它公知的傳統(tǒng)的硬件裝置可以被包括在內(nèi)。通過在本發(fā)明的詳細(xì)描述中公開的實(shí)施例,本發(fā)明的目的和優(yōu)點(diǎn)可以被理解并變得更清楚。在本發(fā)明的以下描述中,當(dāng)并入本文中的已知功能和配置的詳細(xì)描述可能會(huì)使本發(fā)明的主題不清楚時(shí),將省略對(duì)它們的詳細(xì)描述。將會(huì)進(jìn)一步理解,在本說明書中使用的術(shù)語(yǔ)“包括”和/或“包含”說明存在所述的特征、整數(shù)、步驟、操作、元素和/或部件,但是不排除存在或添加一個(gè)或多個(gè)其它的特征、整數(shù)、步驟、操作、元素、部件和/或其群組。在下文中,將會(huì)通過參照附圖解釋本發(fā)明的實(shí)施例來詳細(xì)地描述本發(fā)明。圖1是根據(jù)本發(fā)明實(shí)施例的用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)100的框圖。參照?qǐng)D1,分布式處理系統(tǒng)100可以包括操作控制單元110和多個(gè)操作代理121至126。分布式處理系統(tǒng)100根據(jù)其使用可以包括數(shù)十至數(shù)萬個(gè)計(jì)算裝置,并且,所述計(jì)算裝置可以按物理機(jī)器或虛擬機(jī)的形式被驅(qū)動(dòng)。每一個(gè)計(jì)算裝置可以通過使用分配給計(jì)算裝置的計(jì)算資源來執(zhí)行用于求解離散對(duì)數(shù)問題的一系列操作。在本發(fā)明中,通過使用計(jì)算資源執(zhí)行操作的模塊被定義為操作代理121至126,并且,用于控制操作代理121至126的操作的模塊被定義為操作控制單元110。操作控制單元110可以與操作代理121至126通信,可以在考慮要由操作代理121至126分布式處理的操作的特性、根據(jù)分配給包括操作代理121至126的計(jì)算裝置的計(jì)算資源的操作處理速度等的情況下將操作分布到操作代理121至126中的每一個(gè),并且可以收集操作代理121至126的操作結(jié)果。執(zhí)行給定操作所需的時(shí)間可以根據(jù)分配給包括操作代理121至126的計(jì)算裝置的計(jì)算資源改變。主要地,該時(shí)間可以取決于中央處理單元(CPU)的速度和存儲(chǔ)器的大小。操作控制單元Iio可以通過根據(jù)操作代理121至126的操作處理速度分布操作來提高整個(gè)分布式處理的效率,其中,操作代理121至126的操作處理速度根據(jù)上述因素被確定。根據(jù)當(dāng)前實(shí)施例的離散對(duì)數(shù)計(jì)算可以主要包括三個(gè)操作,例如,(I)生成模乘法輔助表的操作、(2)生成預(yù)計(jì)算表(鏈生成)的操作、(3)最終計(jì)算離散對(duì)數(shù)(陷門離散對(duì)數(shù)(TDL))的操作。最初,模乘法輔助表是用于存儲(chǔ)通過使用具有循環(huán)群的p-Ι和q-Ι的素因子作為群階的子群中的每一個(gè)的子生成元作為基數(shù)來預(yù)先計(jì)算模乘法的結(jié)果值而獲得的值的表,并且可以針對(duì)每一個(gè)素因子而生成。針對(duì)每一個(gè)素因子生成模乘法輔助表的操作幾乎相同,而不管素因子的大小如何。因此,當(dāng)通過操作代理121至126分布式處理操作時(shí),操作代理121至126中的每一個(gè)的操作量與被分配的素因子的數(shù)量成比例。因此,操作控制單元110可以劃分針對(duì)每一個(gè)素因子生成模乘法輔助表的操作,并且,可以按以下方式將該操作分配給操作代理121至126中的每一個(gè):使得分配給操作代理121至126中的每一個(gè)的素因子的數(shù)量與其操作處理速度成比例。
預(yù)計(jì)算表包括通過對(duì)預(yù)定數(shù)量的初始值應(yīng)用迭代函數(shù)而獲得的循環(huán)函數(shù)值鏈,其中,所述預(yù)定數(shù)量的初始值具有每一個(gè)子群的子生成元作為基數(shù)并具有不同的任意指數(shù),所述子群具有循環(huán)群的P-1和q_l的素因子作為群階。與生成模乘法輔助表的操作一樣,可以針對(duì)每一個(gè)素因子來執(zhí)行用于生成預(yù)計(jì)算表的鏈生成操作。但是,與針對(duì)每一個(gè)素因子生成模乘法輔助表的操作不同,針對(duì)每一個(gè)素因子生成預(yù)計(jì)算表的操作的量根據(jù)素因子的大小而明顯地改變,這是因?yàn)樗匾蜃拥拇笮∨c應(yīng)用了迭代函數(shù)的初始值的數(shù)量成比例地增加。因此,操作控制單元110可以在考慮被分配的素因子的大小以及操作代理121至126的操作處理速度的情況下,劃分針對(duì)每一個(gè)素因子的鏈生成操作,并將其分配給操作代理121 至 126。在最終計(jì)算離散對(duì)數(shù)的操作中,如果通過使用模乘法輔助表對(duì)具有屬于循環(huán)群的目標(biāo)元素作為基數(shù)并具有任意指數(shù)的值應(yīng)用迭代函數(shù)而獲得的函數(shù)值等于存儲(chǔ)在預(yù)計(jì)算表中的函數(shù)值,那么通過使用這兩個(gè)函數(shù)值的指數(shù)信息來計(jì)算目標(biāo)元素的離散對(duì)數(shù)。由于離散對(duì)數(shù)計(jì)算的大部分對(duì)應(yīng)于通過應(yīng)用迭代函數(shù)來搜索答案的操作,所以操作的量可以與應(yīng)用迭代函數(shù)的次數(shù)成比例。此外,由于必須針對(duì)每一個(gè)素因子應(yīng)用迭代函數(shù),所以可以針對(duì)每一個(gè)素因子來劃分和執(zhí)行應(yīng)用迭代函數(shù)的操作。此外,素因子的大小與應(yīng)用了迭代函數(shù)的初始值的數(shù)量成比例,從而,應(yīng)用迭代函數(shù)的次數(shù)與素因子的大小成比例地增加。因此,操作控制單元Iio可以在考慮被分配的素因子的大小以及操作代理121至126的操作處理速度的情況下,針對(duì)每一個(gè)素因子劃分和分配應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作。圖2是根據(jù)本發(fā)明實(shí)施例的由用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的操作控制單元執(zhí)行的分布式處理方法的流程圖。參照?qǐng)D2,最初,操作控制單元將具有N=pq (p、q為素?cái)?shù))作為模數(shù)的循環(huán)群的p_l和q_l設(shè)置為具有B-平滑數(shù)的大小的預(yù)定數(shù)量的素因子和具有等于或小于B/2-平滑數(shù)的大小的預(yù)定數(shù)量的素因子的乘積,從而生成循環(huán)群的功能(S201)。這里,操作控制單元可能不會(huì)直接生成循環(huán)群,并且,可以請(qǐng)求一個(gè)操作代理執(zhí)行生成循環(huán)群的操作,并且可以接收該操作的結(jié)果。但是,本發(fā)明不限于此。為了通過使用每一個(gè)子群的子生成元作為基數(shù)來預(yù)先計(jì)算模乘法的結(jié)果值來分布式地處理生成模乘法輔助表的操作(其中,所述子群具有在操作S201中生成的循環(huán)群的P-1和q_l的素因子作為群階),與操作代理的操作處理速度成比例地將循環(huán)群的P-1和q_l的多個(gè)素因子分配給每一個(gè)操作代理(S202)。操作代理被請(qǐng)求生成與在操作S02中分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的模乘法輔助表(S203 )。如果在操作S203中針對(duì)每一個(gè)素因子的模乘法輔助表被完全生成,那么,為了生成包括通過對(duì)具有每一個(gè)子群的子生成元作為基數(shù)并具有不同的任意指數(shù)的預(yù)定數(shù)量的初始值應(yīng)用迭代函數(shù)而獲得的循環(huán)函數(shù)值鏈的預(yù)計(jì)算表(其中,所述子群具有循環(huán)群的p-ι和q_l的素因子作為群階),基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理(S204)。在這種情況下,當(dāng)考慮素因子的大小時(shí),對(duì)于具有等于或小于B/2-平滑數(shù)的大小的小素因子,由于素因子的大小相對(duì)較小并因此通過應(yīng)用迭代函數(shù)生成預(yù)計(jì)算表的操作的量不會(huì)根據(jù)素因子的大小而明顯地改變,所以與生成模乘法輔助表的操作一樣,可以與每一個(gè)操作代理的操作處理速度成比例地分配多個(gè)素因子。但是,對(duì)于具有B-平滑數(shù)的大小的大素因子,與小素因子不同,由于通過應(yīng)用迭代函數(shù)生成預(yù)計(jì)算表的操作的量相對(duì)較大,所以可以將該操作分配給多個(gè)操作代理。更具體地,在相應(yīng)于具有B-平滑數(shù)的大小的大素因子應(yīng)用迭代函數(shù)的操作中,即,在使用具有大素因子作為群階的子群的子生成元來針對(duì)預(yù)定數(shù)量的初始值應(yīng)用迭代函數(shù)的操作中,生成對(duì)應(yīng)于大素因子的預(yù)計(jì)算表的操作可以針對(duì)初始值的數(shù)量被劃分并可以同時(shí)由多個(gè)操作代理執(zhí)行,其中,所述大素因子具有B-平滑數(shù)的大小。操作代理被請(qǐng)求生成與在操作S204中分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表(S205)。如果通過使用模乘法輔助表對(duì)具有屬于在操作S201中生成的循環(huán)群的目標(biāo)元素作為基數(shù)并具有任意指數(shù)的值應(yīng)用迭代函數(shù)而獲得的函數(shù)值等于存儲(chǔ)在預(yù)計(jì)算表中的函數(shù)值,那么為了通過使用這兩個(gè)函數(shù)值的指數(shù)信息來計(jì)算目標(biāo)元素的離散對(duì)數(shù),基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理(S206 )。操作代理被請(qǐng)求通過相應(yīng)于在操作S206中分配給每一個(gè)操作代理的每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案(S207 )。在這種情況下,當(dāng)考慮素因子的大小時(shí),針對(duì)具有等于或小于B/2-平滑數(shù)的大小的小素因子,由于素因子的大小相對(duì)較小并因此應(yīng)用迭代函數(shù)的操作的量沒有根據(jù)素因子的大小而明顯地改變,所以與生成模乘法輔助表的操作一樣,可以與每一個(gè)操作代理的操作處理速度成比例地分配多個(gè)素因子。但是,對(duì)于具有B-平滑數(shù)的大小的大素因子,與小素因子不同,由于應(yīng)用迭代函數(shù)的操作的量相對(duì)較大,所以可以將該操作分配給多個(gè)操作代理。更具體地,在相應(yīng)于具有B-平滑數(shù)的大小的大素因子應(yīng)用迭代函數(shù)的操作中,通過相應(yīng)于素因子和函數(shù)輸入值應(yīng)用迭代函數(shù)來搜索答案的操作可以被劃分并同時(shí)由多個(gè)操作代理執(zhí)行。當(dāng)通過應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案的操作針對(duì)一個(gè)素因子而被劃分時(shí),如果操作代理之一找到答案,那么針對(duì)每一個(gè)素因子應(yīng)用迭代函數(shù)的整個(gè)操作完成,從而可以停止由其它操作代理應(yīng)用迭代函數(shù)的操作。這樣,雖然在圖2中未示出,但是,如果從操作代理接收到指示通過針對(duì)具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)而成功地找到答案的搜索成功消息,那么可以將用于請(qǐng)求停止針對(duì)具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)的搜索停止消息發(fā)送給被請(qǐng)求針對(duì)具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)的其它操作代理。圖3是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中生成用于標(biāo)簽跟蹤的模乘法輔助表(下文中被稱為輔助表)的操作的分布式處理的處理圖。圖3中示出的分布式處理系統(tǒng)的操作代理321至326和操作控制單元310分別對(duì)應(yīng)于圖1中示出的分布式處理系統(tǒng)100的操作代理121至126和操作控制單元110。因此,這里不提供與處理系統(tǒng)100相關(guān)地提供的描述。由于根據(jù)當(dāng)前實(shí)施例的輔助表可以針對(duì)循環(huán)群的P-1和q_l的素因子中的每一個(gè)來計(jì)算,以用于離散對(duì)數(shù)計(jì)算,所以操作控制單元310將素因子分配給操作代理321至326中的每一個(gè)(S301),并且,操作代理321至326中的每一個(gè)生成對(duì)應(yīng)于被分配的素因子的輔助表(S302 至 S304)。為了優(yōu)化上述分布式處理的處理時(shí)間,按如下方式分配操作,使得操作代理321至326同時(shí)完成操作,并且,操作控制單元310可以與操作代理321至326的操作處理速度成比例地分配素因子。如果生成了輔助表,那么操作代理321至326中的每一個(gè)存儲(chǔ)生成的輔助表(S305至S307),并且,操作控制單元310確認(rèn)操作S305至S307的完成(S308)。在這種情況下,輔助表可以被存儲(chǔ)在用于驅(qū)動(dòng)由其生成輔助表的操作代理的計(jì)算裝置的本地存儲(chǔ)器中,或者被存儲(chǔ)在分布式處理系統(tǒng)的分布式數(shù)據(jù)庫(kù)中。但是,本發(fā)明不限于此。圖4是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中生成預(yù)計(jì)算表(下文中被稱為鏈生成)的操作的分布式處理的處理圖。圖4中示出的分布式處理系統(tǒng)的操作代理321至326和操作控制單元310分別對(duì)應(yīng)于圖1中示出的分布式處理系統(tǒng)100的操作代理121至126和操作控制單元110。因此,這里不提供與處理系統(tǒng)100相關(guān)地提供的描述。根據(jù)當(dāng)前實(shí)施例的鏈生成操作可以針對(duì)循環(huán)群的p-1和q_l的每一個(gè)素因子被執(zhí)行,以用于離散對(duì)數(shù)計(jì)算。為了優(yōu)化上述分布式處理的處理時(shí)間,可以按以下方式分配操作,使得操作代理321至326同時(shí)完成操作。鏈生成操作的量明顯地受素因子的大小的影響,這是因?yàn)樵趯?duì)應(yīng)于大素因子的鏈生成操作中,應(yīng)用用于鏈生成操作的迭代函數(shù)的初始值的數(shù)量與素因子的大小成比例地增加。因此,在當(dāng)前實(shí)施例中,鏈生成操作被分成兩個(gè)步驟。對(duì)應(yīng)于小素因子(例如,具有等于或小于B/2-平滑數(shù)的大小的素因子)的鏈生成操作最初被分布給操作代理321至326,并由操作代理321至326以素因子為單位來處理(S410至S430),然后,對(duì)應(yīng)于每一個(gè)大素因子(例如,具有B-平滑數(shù)的大小的素因子)的鏈生成操作被分布給操作代理321至326,并由操作代理321至326以素因子和初始值為單位來處理(S440至S470)。最初,針對(duì)具有等于或小于B/2-平滑數(shù)的大小的小素因子,操作控制單元310與操作代理321至326的操作處理速度成比例地分配小素因子(S410),并且,操作代理321至326中的每一個(gè)執(zhí)行對(duì)應(yīng)于被分配的素因子的鏈生成操作(S411至S413)并存儲(chǔ)生成的預(yù)計(jì)算表(S421至S423)。在與具有等于或小于B/2-平滑數(shù)的大小的小素因子相對(duì)應(yīng)的鏈生成操作完成(S430)之后,操作控制單元310允許由操作代理321至326分布式地處理與具有B-平滑數(shù)的大小的大素因子當(dāng)中的第一大素因子相對(duì)應(yīng)的鏈生成操作。為此,除了第一大素因子以外,操作控制單元310還將在與具有B-平滑數(shù)的大小的大素因子當(dāng)中的第一大素因子相對(duì)應(yīng)的預(yù)計(jì)算表中使用的初始值分配給操作代理321至326(S440),并且,操作代理321至326中的每一個(gè)執(zhí)行與被分配的素因子和初始值相對(duì)應(yīng)的鏈生成操作(S441至S443),并存儲(chǔ)生成的預(yù)計(jì)算表(S451至S453)。在對(duì)應(yīng)于第一大素因子的鏈生成操作完成(S460)之后,操作控制單元310可以按與對(duì)應(yīng)于第一大素因子的鏈生成操作(S440至S460)類似的方式重復(fù)地執(zhí)行與其它大素因子中的每一個(gè)相對(duì)應(yīng)的鏈生成操作(S470)。雖然在圖4中對(duì)應(yīng)于第一大素因子的鏈生成操作被分布給所有的操作代理并由它們處理,但是,根據(jù)初始值的數(shù)量,鏈生成操作可以只被分布給一些操作代理并由它們處理,并且,對(duì)應(yīng)于第二大素因子或其它大素因子的鏈生成操作可以被分布給其它操作代理并由它們處理。但是,本發(fā)明不限于此。此外,當(dāng)針對(duì)每一個(gè)素因子重復(fù)地執(zhí)行鏈生成操作時(shí),可以使用圖3中的針對(duì)每一個(gè)素因子生成的輔助表。如果輔助表被存儲(chǔ)在用于驅(qū)動(dòng)由其生成輔助表的操作代理的計(jì)算裝置的本地存儲(chǔ)器中,那么,為了允許在鏈生成操作中容易地訪問該輔助表,素因子可以被分配給操作代理321至326,如在生成輔助表時(shí)分配這些素因子一樣。根據(jù)當(dāng)前實(shí)施例的由于鏈生成操作而生成的預(yù)計(jì)算表可以被存儲(chǔ)在圖4中所示的分布式處理系統(tǒng)的分布式數(shù)據(jù)庫(kù)中。為了通過使用迭代函數(shù)的結(jié)果值容易地搜索分布式數(shù)據(jù)庫(kù),可以通過使用迭代函數(shù)的結(jié)果值中除了標(biāo)簽部分(其中,所述標(biāo)簽部分根據(jù)標(biāo)簽跟蹤的特性針對(duì)所有密鑰值相同)以外的一部分的預(yù)定位(被用作搜索密鑰)來確定存儲(chǔ)位置。但是,本發(fā)明不限于此。圖5是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)的離散對(duì)數(shù)計(jì)算操作中計(jì)算離散對(duì)數(shù)的操作的分布式處理的處理圖。圖5中示出的分布式處理系統(tǒng)的操作代理321至326和操作控制單元310分別對(duì)應(yīng)于圖1中示出的分布式處理系統(tǒng)100的操作代理121至126和操作控制單元110。因此,這里不提供與處理系統(tǒng)100相關(guān)地提供的描述。根據(jù)當(dāng)前實(shí)施例的應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作可以針對(duì)循環(huán)群的P-1和q_l的每一個(gè)素因子被執(zhí)行,以用于離散對(duì)數(shù)計(jì)算。由于離散對(duì)數(shù)計(jì)算的大部分對(duì)應(yīng)于通過執(zhí)行應(yīng)用迭代函數(shù)的操作來搜索答案的操作,所以應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作可以針對(duì)每一個(gè)素因子被分布式地處理。執(zhí)行應(yīng)用迭代函數(shù)的操作的次數(shù)受素因子的大小的影響,這是因?yàn)樵趹?yīng)用對(duì)應(yīng)于大素因子的迭代函數(shù)的操作中,要與素因子一起被輸入到迭代函數(shù)的函數(shù)輸入值的數(shù)量與素因子的大小成比例地增加。因此,在當(dāng)前實(shí)施例中,應(yīng)用迭代函數(shù)的操作被分成兩個(gè)步驟。相應(yīng)于小素因子(例如,具有等于或小于B/2-平滑數(shù)的大小的素因子)應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作最初被分布給操作代理321至326,并由操作代理321至326以素因子為單位來處理(S510至S530),然后,針對(duì)每一個(gè)大素因子(例如,具有B-平滑數(shù)的大小的素因子)應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作被分布給操作代理321至326,并由操作代理321至326以素因子和初始值為單位來處理(S540至S570)。最初,針對(duì)具有等于或小于B/2-平滑數(shù)的大小的小素因子,操作控制單元310與操作代理321至326的操作處理速度成比例地分配小素因子(S510),并且,操作代理321至326中的每一個(gè)執(zhí)行相應(yīng)于被分配的素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作(S511至S513),并存儲(chǔ)應(yīng)用迭代函數(shù)的操作的結(jié)果,其中,所述結(jié)果包括通過執(zhí)行應(yīng)用迭代函數(shù)的操作而找到的答案(S521至S523)。在相應(yīng)于具有等于或小于B/2-平滑數(shù)的大小的小素因子應(yīng)用迭代函數(shù)的操作完成(S530)之后,操作控制單元310允許由操作代理321至326分布式地處理相應(yīng)于具有B-平滑數(shù)的大小的大素因子當(dāng)中的第一大素因子應(yīng)用迭代函數(shù)的操作。為此,除了第一大素因子以外,操作控制單元310還將要輸入到與具有B-平滑數(shù)的大小的大素因子當(dāng)中的第一大素因子相對(duì)應(yīng)的迭代函數(shù)的函數(shù)輸入值分配給操作代理321至326 (S540),并且,操作代理321至326中的每一個(gè)執(zhí)行相應(yīng)于被分配的素因子和初始值應(yīng)用迭代函數(shù)的操作(S541至S543),并存儲(chǔ)應(yīng)用迭代函數(shù)的操作的結(jié)果,其中,所述結(jié)果包括通過執(zhí)行應(yīng)用迭代函數(shù)的操作而找到的答案(S551)。也就是說,操作控制單元310允許由操作代理321至326通過下述處理來分布式地處理應(yīng)用迭代函數(shù)的操作:針對(duì)一個(gè)大素因子,將不同的函數(shù)輸入值分配給操作代理321至326,從而允許操作代理321至326對(duì)循環(huán)群的不同部分應(yīng)用迭代函數(shù)。例如,如果由具有相同操作處理速度的η個(gè)操作代理分布式地處理針對(duì)一個(gè)素因子應(yīng)用迭代函數(shù)的操作,那么,當(dāng)在應(yīng)用r添加行走作為迭代函數(shù)的同時(shí)通過使用子生成元的指數(shù)乘子來執(zhí)行乘法時(shí),可以通過將第i個(gè)操作代理的冪設(shè)置為以η為模等于i的數(shù)來應(yīng)用迭代函數(shù)。在這種情況下,由于相應(yīng)于素因子在循環(huán)群中應(yīng)用迭代函數(shù)的子集的大小是期望的操作量,所以,操作控制單元310可以按以下方式將函數(shù)輸入值分配給操作代理321至326:使得應(yīng)用迭代函數(shù)的子集的大小與操作代理321至326中的每一個(gè)的操作處理速度成比例。在被分配應(yīng)用對(duì)應(yīng)于一個(gè)素因子的迭代函數(shù)的操作的操作代理321至326中,如果一個(gè)操作代理完成其操作并獲得答案,那么,由于相應(yīng)于素因子應(yīng)用迭代函數(shù)的操作完成,所以,正在執(zhí)行應(yīng)用對(duì)應(yīng)于素因子的迭代函數(shù)的操作的其它操作代理可以停止應(yīng)用迭代函數(shù)的操作。例如,如果操作代理322完成其操作并將操作完成消息發(fā)送給操作控制單元310,那么操作控制單元310可以接收操作完成消息并可以將操作停止請(qǐng)求消息發(fā)送給正在執(zhí)行應(yīng)用對(duì)應(yīng)于素因子的迭代函數(shù)的操作的其它操作代理310、321和323至326 (S560)。雖然在圖5中應(yīng)用對(duì)應(yīng)于第一大素因子的迭代函數(shù)的操作被分布給所有的操作代理并由它們處理,但是,根據(jù)函數(shù)輸入值的數(shù)量,應(yīng)用迭代函數(shù)的操作可以只被分布給一些操作代理并由它們處理,并且,應(yīng)用對(duì)應(yīng)于第二大素因子或其它大素因子的迭代函數(shù)的操作可以被分布給其它操作代理并由它們處理。但是,本發(fā)明不限于此。此外,當(dāng)針對(duì)每一個(gè)素因子重復(fù)地執(zhí)行鏈生成操作時(shí),可以使用圖3中的針對(duì)每一個(gè)素因子生成的輔助表。如果輔助表被存儲(chǔ)在用于驅(qū)動(dòng)由其生成輔助表的操作代理的計(jì)算裝置的本地存儲(chǔ)器中,那么,為了允許在鏈生成操作中容易地訪問該輔助表,素因子可以被分配給操作代理321至326,如在生成輔助表時(shí)分配這些素因子一樣。用于標(biāo)簽跟蹤的輔助表用于鏈生成和針對(duì)每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作中,并且,可以被加載到操作代理的存儲(chǔ)器中,以便提高操作處理速度。因此,在開始針對(duì)每一個(gè)素因子的離散對(duì)數(shù)計(jì)算操作或鏈生成操作之前,要在該操作中使用的輔助表可以被加載到存儲(chǔ)器中。圖6是根據(jù)本發(fā)明實(shí)施例的用于描述在用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)中的分布式處理的框圖。參照?qǐng)D6,三個(gè)計(jì)算機(jī)器610、620和630包括操作控制單元611以及第一至第三操作代理612、622和632。在圖6中,假設(shè)在循環(huán)群的p_l和q_l的素因子當(dāng)中,4是大的,并且,20是小的。在以下描述中,大素因子被指示為L(zhǎng)Pl至LP4,并且,小素因子被指示為SPl至 SP20。為了便于解釋,假設(shè)只有計(jì)算機(jī)器610、620和630的CPU速度影響操作處理速度,并且,它們是1:1:2。基于以上假設(shè),第一至第三操作代理612、622和632的相對(duì)操作處理速度是1:1:2。最初,在針對(duì)每一個(gè)素因子生成輔助表的操作中,操作控制單元611與第一至第三操作代理612、622和632的相對(duì)操作處理速度成比例地分配素因子,而不管素因子的大小如何。也就是說,6個(gè)素因子被分配給第一和第二操作代理612和622中的每一個(gè),12個(gè)素因子被分配給第三操作代理632。然后,在針對(duì)小素因子SPl至SP20中的每一個(gè)的鏈生成操作中,操作控制單元611與第一至第三操作代理612、622和632的相對(duì)操作處理速度成比例地分配小素因子SPl至SP20,而不管小素因子SPl至SP20的大小如何。也就是說,5個(gè)素因子被分配給與第一和第二操作代理612和622中的每一個(gè),10個(gè)素因子被分配給第三操作代理632。在針對(duì)大素因子LPl至LP4中的每一個(gè)的鏈生成操作中,操作控制單元611將在針對(duì)大素因子LPl至LP4中的一個(gè)的預(yù)計(jì)算表中使用的初始值分配給第一至第三操作代理612、622和632。例如,如果大素因子LPl具有1000個(gè)初始值,那么250個(gè)初始值可以被分布給第一和第二操作代理612和622中的每一個(gè)并由其處理,500個(gè)初始值可以被分配給第三操作代理632并由其處理。上述操作可以針對(duì)其它的大素因子LP2至LP4中的每一個(gè)被重復(fù)地執(zhí)行。然后,在針對(duì)小素因子SPl至SP20中的每一個(gè)應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)的操作中,操作控制單元611與第一至第三操作代理612、622和632的相對(duì)操作處理速度成比例地分配小素因子SPl至SP20,而不管小素因子SPl至SP20的大小如何。也就是說,5個(gè)素因子被分配給與第一和第二操作代理612和622中的每一個(gè),10個(gè)素因子被分配給第三操作代理632。在針對(duì)大素因子LPI至LP4中的每一個(gè)應(yīng)用迭代函數(shù)的操作中,操作控制單元611將要輸入到針對(duì)大素因子LPl至LP4中的一個(gè)的迭代函數(shù)的函數(shù)輸入值分配給第一至第三操作代理612、622和632。例如,當(dāng)在應(yīng)用r添加行走作為迭代函數(shù)的同時(shí)通過使用子生成元的指數(shù)乘子來執(zhí)行乘法時(shí),第一操作代理612可以將指數(shù)乘子設(shè)置為以4為模等于I的數(shù),第二操作代理622可以將指數(shù)乘子設(shè)置為以4為模等于3的數(shù),并且,第三操作代理632可以將指數(shù)乘子設(shè)置為以2為模等于O的數(shù)。如果在第一至第三操作代理612、622和632中的每一個(gè)執(zhí)行針對(duì)大素因子LPl應(yīng)用迭代函數(shù)的操作的期間第二操作代理622找到答案,那么第二操作代理622將應(yīng)用迭代函數(shù)的操作的結(jié)果存儲(chǔ)在分布式數(shù)據(jù)庫(kù)中,并且通知操作控制單元611找到了答案。操作控制單元611請(qǐng)求第一和第三操作代理612和632停止執(zhí)行針對(duì)大素因子LPl應(yīng)用迭代函數(shù)的操作。上述操作可以針對(duì)其它的大素因子LP2至LP4中的每一個(gè)被重復(fù)地執(zhí)行。根據(jù)本發(fā)明,使用預(yù)計(jì)算表的離散對(duì)數(shù)計(jì)算的分布式處理可以提高離散對(duì)數(shù)計(jì)算的速度和資源效率,可以用于使用離散對(duì)數(shù)計(jì)算的操作,例如,在公鑰加密系統(tǒng)中發(fā)布私鑰的操作,并且,在存在多個(gè)機(jī)器并頻繁地發(fā)生私鑰發(fā)布請(qǐng)求的環(huán)境(例如,機(jī)器對(duì)機(jī)器(M2M)環(huán)境)中可以適當(dāng)?shù)仳?qū)動(dòng)加密系統(tǒng)。本發(fā)明還可以被實(shí)現(xiàn)為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀記錄介質(zhì)是可以存儲(chǔ)數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)裝置,其中,所述數(shù)據(jù)其后可以由計(jì)算機(jī)系統(tǒng)讀取。計(jì)算機(jī)可讀記錄介質(zhì)的例子包括只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、⑶-ROM、磁帶、軟盤、光學(xué)數(shù)據(jù)存儲(chǔ)裝置等。計(jì)算機(jī)可讀記錄介質(zhì)還被分布在網(wǎng)絡(luò)耦合計(jì)算機(jī)系統(tǒng)上,使得計(jì)算機(jī)可讀代碼以分布的方式被存儲(chǔ)和執(zhí)行。此外,用于實(shí)現(xiàn)本發(fā)明的功能程序、代碼和代碼段可以容易地被本領(lǐng)域的普通技術(shù)人員的程序員解釋。雖然參考本發(fā)明的示例性實(shí)施例已經(jīng)具體地示出和描述了本發(fā)明,但是,本領(lǐng)域的普通技術(shù)人員將會(huì)理解,在不脫離由權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對(duì)本發(fā)明進(jìn)行各種形式和細(xì)節(jié)的改變。
權(quán)利要求
1.一種用于離散對(duì)數(shù)計(jì)算的分布式處理方法,該方法包括: 將具有N = pq作為模數(shù)的循環(huán)群的P-1和q-Ι設(shè)置為具有B-平滑數(shù)的大小的預(yù)定數(shù)量的素因子和具有等于或小于B/2-平滑數(shù)的大小的預(yù)定數(shù)量的素因子的乘積,從而生成循環(huán)群,其中,P、Q為素?cái)?shù); 第一分配操作,用于與多個(gè)操作代理的操作處理速度成比例地將循環(huán)群的P-1和q_l的多個(gè)素因子分配給所述多個(gè)操作代理; 請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的模乘法輔助表; 第二分配操作,用于基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理; 請(qǐng)求操作代理生成與分配給每一個(gè)操作代理的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表; 第三分配操作,為了計(jì)算屬于循環(huán)群的目標(biāo)元素的離散對(duì)數(shù),用于基于循環(huán)群的P-1和q_l的素因子的大小和操作代理的操作處理速度來將循環(huán)群的P-1和q_l的素因子分配給操作代理;以及 請(qǐng)求操作代理通過相應(yīng)于分配給每一個(gè)操作代理的每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案。
2.根據(jù)權(quán)利要求1所述的方法,其中,模乘法輔助表包括使用每一個(gè)子群的子生成元作為基數(shù)的模乘法的先前計(jì)算的結(jié)果值,其中,所述子群具有循環(huán)群的P-1和q_l的素因子作為群階。
3.根據(jù)權(quán)利要求1所述的方法,其中,預(yù)計(jì)算表包括通過對(duì)預(yù)定數(shù)量的初始值應(yīng)用迭代函數(shù)而獲得的循環(huán)函數(shù)值鏈,其中,所述預(yù)定數(shù)量的初始值具有每一個(gè)子群的子生成元作為基數(shù)并具有不同的任意指數(shù),其中,所述子群具有循環(huán)群的P-1和q_l的素因子作為群階。
4.根據(jù)權(quán)利要求1所述的方法,其中,離散對(duì)數(shù)計(jì)算包括:如果通過使用模乘法輔助表對(duì)具有屬于循環(huán)群的目標(biāo)元素作為基數(shù)并具有任意指數(shù)的值應(yīng)用迭代函數(shù)而獲得的函數(shù)值等于存儲(chǔ)在預(yù)計(jì)算表中的函數(shù)值,那么通過使用這兩個(gè)函數(shù)值的指數(shù)信息來計(jì)算目標(biāo)元素的離散對(duì)數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其中,第二分配操作包括:與操作代理的操作處理速度成比例地將具有等于或小于B/2-平滑數(shù)的大小的素因子分配給操作代理。
6.根據(jù)權(quán)利要求1所述的方法,其中,第二分配操作包括:與操作代理的操作處理速度成比例地將與具有B-平滑數(shù)的大小的每一個(gè)素因子相對(duì)應(yīng)的預(yù)計(jì)算表的初始值分配給操作代理。
7.根據(jù)權(quán)利要求 1所述的方法,還包括:通過被請(qǐng)求針對(duì)每一個(gè)素因子生成預(yù)計(jì)算表或者被請(qǐng)求通過針對(duì)每一個(gè)素因子應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案的操作代理,將與每一個(gè)被分配的素因子相對(duì)應(yīng)的模乘法輔助表加載到存儲(chǔ)器中。
8.根據(jù)權(quán)利要求1所述的方法,其中,第三分配操作包括:與操作代理的操作處理速度成比例地將具有等于或小于B/2-平滑數(shù)的大小的素因子分配給操作代理。
9.根據(jù)權(quán)利要求1所述的方法,其中,第三分配操作包括:按如下方式將要輸入到與具有B-平滑數(shù)的大小的每一個(gè)素因子相對(duì)應(yīng)的迭代函數(shù)的函數(shù)輸入值分配給操作代理:使得應(yīng)用迭代函數(shù)的子集的大小與每一個(gè)操作代理的操作處理速度成比例。
10.根據(jù)權(quán)利要求9所述的方法,還包括:如果從操作代理接收到指示通過針對(duì)具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)而成功地找到答案的搜索成功消息,那么將用于請(qǐng)求停止針對(duì)具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)的搜索停止消息發(fā)送給被請(qǐng)求針對(duì) 具有B-平滑數(shù)的大小的每一個(gè)素因子應(yīng)用迭代函數(shù)的其它操作代理。
全文摘要
用于離散對(duì)數(shù)計(jì)算的分布式處理系統(tǒng)和方法。可以通過允許多個(gè)操作代理分布式地處理下述操作來提高離散對(duì)數(shù)計(jì)算的速度和資源效率生成模乘法輔助表的操作、生成預(yù)計(jì)算表的操作、以及通過使用預(yù)計(jì)算表在離散對(duì)數(shù)計(jì)算操作中應(yīng)用用于離散對(duì)數(shù)計(jì)算的迭代函數(shù)來搜索答案的操作。
文檔編號(hào)G06F17/10GK103150289SQ20121042791
公開日2013年6月12日 申請(qǐng)日期2012年10月31日 優(yōu)先權(quán)日2011年10月31日
發(fā)明者權(quán)純睦, 李仙榮, 孫正勛, 尹爻珍 申請(qǐng)人:三星Sds株式會(huì)社