欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于fpga的大素數(shù)暨大素數(shù)族的快速生成方法

文檔序號:9352669閱讀:815來源:國知局
一種基于fpga的大素數(shù)暨大素數(shù)族的快速生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于電子電路技術(shù)領(lǐng)域,特別涉及一種基于FPGA的大素數(shù)暨大素數(shù)族的 快速生成的實現(xiàn)方法,可適用于各種加密技術(shù)和科學研究。
【背景技術(shù)】
[0002] 素數(shù)由于其唯一性和無窮性,在數(shù)學和加密領(lǐng)域有著無法替代的地位。但也因此, 使得尋找素數(shù)并沒有規(guī)律可言。由于素數(shù)生成算法復(fù)雜的計算過程,其使用一般局限于計 算機平臺上。同時,由于計算機的串行運行模式和計算位寬的限制,在尋找較大素數(shù)的時候 其速度將會急速下降。
[0003] FPGA (Field-Programmable Gate Array)技術(shù)既有 ASIC (Application Specific Integrated Circuit)集成電路技術(shù)的高性能、高可靠性、高集成度的優(yōu)點,同時由于其可 編程能力,克服了普通ASIC設(shè)計靈活性差、周期長、投資費用大的缺點。FPGA芯片不僅性 能高、保密性強,同時芯片采用一種并行的運行方式。在進行FPGA開發(fā)時,常常設(shè)計多個模 塊,并行計算,提高處理速度。FPGA芯片對計算位寬沒有很強的限制,不同模塊的計算位寬 可根據(jù)不用功能的需要自行設(shè)定,這一特點在處理大數(shù)據(jù)計算時有很大優(yōu)勢。由于FPGA出 色的性能,使其廣泛應(yīng)用在通訊領(lǐng)域、醫(yī)療領(lǐng)域和軍事領(lǐng)域。但FPGA的開發(fā)難度較大,實際 應(yīng)用時需要對不同算法進行不同程度的修改,才能在FPGA上實現(xiàn)。
[0004] 發(fā)明專利1(發(fā)明人:劉詩章、陳豫生,"一種適用于信息加密技術(shù)應(yīng)用的素數(shù)族快 速生成方法":專利申請?zhí)?201110253413. 7)通過選擇模M = 30的縮剩余系,建立可能的 素數(shù)族。同時,根據(jù)可能素數(shù)族中合數(shù)的分布規(guī)律和特點,刪除可能素數(shù)族中的全部合數(shù), 從而可以快速準確的生成任意位置的全部素數(shù)。這一發(fā)明使用一種并行思想生成素數(shù),在 生成過程中并沒有復(fù)雜計算,非常適合通過具有并行計算特點的FPGA來實現(xiàn)。同時,F(xiàn)PGA 在計算位寬上比較靈活,并沒有固定計算位寬的限制。
[0005]目前,國內(nèi)外在素數(shù)生成方面取得了一定的成果,但并不多見,而其中將素數(shù)生成 算法在FPGA芯片上實現(xiàn)的則更少。如文獻1 (姚霽.RSA算法中大素數(shù)硬件生成方法研究 與設(shè)計.科學技術(shù)與工程,2013. (1).P13)中所述的大素數(shù)硬件生成方法,是一種篩選法。 這種方法在篩選過程中需要反復(fù)進行多次加法,并沒有利用合數(shù)的分布規(guī)律進行篩選。文 獻1中的方法,僅在電腦上進行了軟件仿真,而本發(fā)明方法已經(jīng)在FPGA芯片上實現(xiàn),可在 短時間內(nèi)獲得大素數(shù)暨大素數(shù)族。發(fā)明專利2 (發(fā)明人:B ?菲克斯、C ?克拉維耶、P ?派里 爾、L ?蒂埃里,"生成被驗證適用于芯片卡的素數(shù)的方法":專利【申請?zhí)枴?01280062261. 5) 提出了一種適用于芯片卡的素數(shù)生成方法,其計算過程較為復(fù)雜,在實現(xiàn)過程中具有一定 的困難。而本發(fā)明在篩選過程中不進行任何計算,通過比較便可實現(xiàn)篩選過程。發(fā)明專利 3(發(fā)明人:Marc Joye, Saint Zacharie,Paillier,Paris (FR),"Method for generating a random prime number within a predetermined interval',:專利【申請?zhí)枴縐S7149763B2) 提出了一種素數(shù)生成方法。這種方法通過一定的運算生成一個可能是素數(shù)的數(shù),然后對其 進行素性檢測。若不是素數(shù),則重新生成一個可能是素數(shù)的數(shù),再次進行素性檢測。該方法 需要花費大量的時間來尋找素數(shù),反復(fù)進行素性檢測。每一次的素性檢測花費大量的時間, 進行大量復(fù)雜的運算。而本發(fā)明在素數(shù)生成過程中,相當于只進行了一次素性檢測,便可生 成多個素數(shù)或素數(shù)族。同時,本發(fā)明針對于FPGA芯片的特點,對發(fā)明專利1中所述大素數(shù) 生成方法進行修改,并在FPGA芯片上實現(xiàn),較大的提高了素數(shù)生成速度。
[0006] 本發(fā)明即是在專利1提出的素數(shù)快速生成方法的基礎(chǔ)上,結(jié)合FPGA技術(shù)特點,延 伸創(chuàng)新出來的一種基于FPGA的大素數(shù)生成方法。本發(fā)明方法通過FPGA芯片,可快速生成 任意位置、任意大小的素數(shù)族。從而實現(xiàn)了在小型平臺上快速生成大素數(shù)族的功能,為小型 移動設(shè)備的信息加密技術(shù)提供了最完備的素數(shù)資源。
[0007]本發(fā)明就是公開一種基于FPGA的大素數(shù)暨大素數(shù)族的快速生成方法,具有較高 的靈活性和拓展性,使用模塊化的設(shè)計方式??筛鶕?jù)實際應(yīng)用調(diào)整計算速度和硬件消耗資 源。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明的目的在于提供一種基于FPGA的大素數(shù)暨大素數(shù)族的快速生成方法,快 速生成任意位置、任意大小的一定數(shù)量的素數(shù)。使其在隨機性、計算速度、生成素數(shù)的大小 等性能方面可滿足信息實時加密的需求。
[0009]在確定一個初始位置x后,本方法將建立從30 (x-1)到30 (x-1+n)之間的8個可 能素數(shù)族M (如表2所示),從這個范圍中篩選出所有合數(shù),獲得范圍內(nèi)所有素數(shù)。
[0010] 為實現(xiàn)上述目的,本發(fā)明中的大素數(shù)生成方法使用了兩大模塊來完成主要功能, 即計算模塊和存儲模塊,如圖1所示。
[0011] 計算模塊由8個取余模塊和8個比較模塊組成,如圖2所示。
[0012] 存儲模塊由一個FIFO模塊和一個或運算模塊組成,如圖3所示。
[0013] 本發(fā)明的大素數(shù)生成系統(tǒng)的技術(shù)方案包括如下三個設(shè)計:
[0014] 設(shè)計1 :整體系統(tǒng)使用定點整數(shù),不同模塊使用不同的定點整數(shù)位寬。每一個模塊 的定點整數(shù)位寬都可以依據(jù)模塊功能和輸入輸出數(shù)據(jù)的特點進行單獨配置。針對不同大小 的素數(shù)需求,可調(diào)整定點整數(shù)位寬,以達到計算量和硬件資源消耗間較理想的平衡。
[0015] 設(shè)計2 :在使用專利1方法進行篩選時,先進行初始位置x和8個可能素數(shù)族中某 一元素y的取余運算,即x mod y。每一次的篩選過程分為兩步,一步為取余過程,另一步為 比較過程,通過取余模塊和比較模塊完成。兩個模塊工作同時進行,互不干擾。比較模塊在 取余模塊計算過程中,盡可能多的對可能素數(shù)族區(qū)域進行篩選。
[0016] 設(shè)計3 :采用專利1中的素數(shù)快速生成方法,篩選出M中的所有合數(shù),獲得M中所 有素數(shù)。通過8個比較模塊,在不進行任何加減乘除運算的前提下,完成對范圍內(nèi)所有合數(shù) 的篩選。
[0017] 上述設(shè)計1中,位寬參數(shù)配置的特點是:針對素數(shù)大小的需求,配置整體位寬基準 n。例如需要最大生成2的32次方大小的素數(shù),則整體位寬基準定為32位定點整數(shù);而需 要最大生成2的64次方大小的素數(shù),則整體位寬基準定為64位定點整數(shù)。需要生成的素 數(shù)越大,則消耗資源越多。同時,在64位定點整數(shù)的整體位寬基準下,取余模塊中少量變量 為64位定點整數(shù),其余多為32位定點整數(shù),是整體位寬基準的一半;比較模塊中一部分變 量為32位定點整數(shù),是整體位寬基準的一半,其余多為8位定點整數(shù)。存儲模塊中總是使 用8位定點整數(shù)位寬。
[0018] 上述設(shè)計2中的特點是:針對素數(shù)大小的需求,在取余模塊進行計算的過程中,讓 比較模塊盡可能的進行篩選操作。當整體位寬基準為n時,取余模塊每進行一次取余操作, 理論上需要n個時鐘周期,本發(fā)明中該模塊需要n+3個時鐘周期。比較模塊每隔n+3個時 鐘周期接收一次取余模塊的結(jié)果,后每個時鐘周期進行一次比較操作,篩選出M范圍內(nèi)的 合數(shù)。
[0019] 上述設(shè)計3中的特點是:一個比較模塊對應(yīng)于8個可能素數(shù)族中的一個可能素數(shù) 族% (1彡i彡8),從M中篩選出以%中元素為因子的合數(shù)。比較模塊以可能素數(shù)族a 的一個元素力作為標準,生成8個位置信息b= [bl b2 b3 b4 b5 b6 b7 b8]。比較模塊可 在任意時鐘周期內(nèi),以可能素數(shù)族&1中的另一個元素y 2作為標準,更新8個位置信息。通 過將初始位置x取余運算后的結(jié)果與8個位置信息的比較,便可完成篩選過程。
[0020] 本發(fā)明優(yōu)點在于:
[0021] 本發(fā)明使用定點整數(shù),并且位寬靈活可調(diào)。使得系統(tǒng)可以針對不同的用戶需求進 行調(diào)節(jié),硬件資源消耗降到最低。不同模塊之間使用不同的定點整數(shù)位寬,進一步節(jié)省了資 源消耗。同時,整體系統(tǒng)采用模塊化的設(shè)計結(jié)構(gòu),在不改變整體結(jié)構(gòu)的前提下,僅通過增加 計算單元便可提升系統(tǒng)速度。
[0022] 本發(fā)明將各個模塊合理的結(jié)合在一起,協(xié)同工作,每組模塊都獨立運行,而勿須一 直等到獲得其它模塊的結(jié)果后再運行,較高的提升了系統(tǒng)的工作效率。同時,取余模塊和比 較模塊的數(shù)量可根據(jù)用戶需求進行增減,增加取余模塊的數(shù)量可增加系統(tǒng)計算速度;增加 比較模塊可擴大系統(tǒng)獲得素數(shù)的數(shù)量。
[0023] 本發(fā)明結(jié)合專利1中的大素數(shù)快速生成方法,快速的篩選出指定范圍內(nèi)的所有合 數(shù),獲得范圍內(nèi)所有素數(shù)。在用戶給出任意初始位置x后,系統(tǒng)將快速的完成篩選過程。篩 選過程不需要任何的計算,僅通過簡單的比較即可,在計算速度上得到的較大的提升。
[0024] 本發(fā)明在Altera公司的CyclonelV系列芯片上通過了硬件測試驗證,可在FPGA 芯片上運行并獲得正確結(jié)果,在短時間內(nèi)獲得大素數(shù)。
【附圖說明】
[0025]圖1是素數(shù)生成系統(tǒng)的整體結(jié)構(gòu)圖。
[0026]圖2是計算模塊的結(jié)構(gòu)圖。
[0027]圖3是存儲模塊的結(jié)構(gòu)圖。
[0028] 表1是8個可能素數(shù)族生成表。
[0029] 表2是本發(fā)明中位置結(jié)果對應(yīng)的8個可能素數(shù)族表。
[0030] 表3是本發(fā)明中生成的素數(shù)位置表。
【具體實施方式】
[0031] 系統(tǒng)的整體工作過程如下:
[0032] 先輸入一個初始位置X,系統(tǒng)將篩選出M中的所有合數(shù)。x要小于2的n次方,n為 整體位寬基準。
[0033]計算模塊將篩選出在M中,以小于v/30(X + ?-2)的8個可能素數(shù)族中的元素為因 子的所有合數(shù)。每n+3個時鐘周期完成對M中,以8個可能素數(shù)族中一列元素為因子的合 數(shù)的篩選。
[0034] 每個取余模塊以x作為被除數(shù),以8個可能素數(shù)族中的一個&1中的元素作為
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
彭泽县| 仪陇县| 平顶山市| 濮阳县| 静海县| 龙泉市| 五常市| 潼南县| 宁德市| 罗源县| 乡宁县| 钟山县| 玛纳斯县| 托里县| 桦川县| 新余市| 宁安市| 稷山县| 磴口县| 海盐县| 黎川县| 江口县| 始兴县| 大足县| 乌海市| 墨玉县| 渝中区| 莱阳市| 从江县| 米林县| 收藏| 奉化市| 洛阳市| 彰化县| 贡嘎县| 达孜县| 武夷山市| 高陵县| 永吉县| 惠州市| 嘉兴市|