本文作者:kaifamei

環形振蕩器、隨機數生成器以及隨機數生成器的操作方法與流程

更新時間:2025-12-25 07:51:58 0條評論

環形振蕩器、隨機數生成器以及隨機數生成器的操作方法與流程


環形振蕩器、隨機數生成器以及隨機數生成器的操作方法
1.相關申請的交叉引用
2.該美國專利申請要求于2021年7月13日在韓國知識產權局提交的韓國專利申請第10-2021-0091690號的優先權,其公開內容通過引用全部并入本文。
技術領域
3.本發明構思涉及一種用于生成隨機數的環形振蕩器、包括該環形振蕩器的隨機數生成器以及該隨機數生成器的操作方法。


背景技術:



4.隨機數生成器(rng)廣泛應用于諸如物聯網(iot)、人工智能、數據庫和信息保護的各種領域。隨機數生成器應穩定,并能快速生成隨機數。可以使用隨機數生成器對數據進行加密。然而,當隨機數生成器中出現缺陷時,數據的安全性可能會受到影響。真隨機數生成器(trng)是一種通過使用物理現象生成隨機數的設備。真隨機數生成技術的示例包括鎖相環(pll)方法、自定時環方法、亞穩態方法和環形振蕩器方法。
5.環形振蕩器方法可以包括使用過渡效應生成隨機數的過渡效應環形振蕩器(tero)型trng。然而,由于隨機比特生成率(比特率)的特性隨著其溫度或功率在隨機比特生成期間的變化而顯著地取決于環形振蕩器的振蕩器核心的頻率和過程/電壓/溫度(pvt)來變化,因此隨機比特生成率的離散度增加。


技術實現要素:



6.本發明構思的至少一個實施例提供了一種用于監測和校準環形振蕩器以優化隨機數生成器的隨機性能和隨機數生成率的隨機數生成器,以及隨機數生成器的操作方法。
7.本發明構思的至少一個實施例提供了一種通過使用較少資源來監測環形振蕩器的頻率的方法。
8.根據本發明構思的一個實施例,提供了一種隨機數生成器,包括環形振蕩器、反相選擇電路和控制器。環形振蕩器包括具有至少一個反相器并生成輸出信號的反相器鏈。反相選擇電路用于控制相位反相器以反相反相器鏈的信號。控制器被配置為在用于測量環形振蕩器的頻率的第一操作模式期間操作反相選擇電路以向反相器鏈提供第一相位反相器的輸出,并且在用于生成隨機數的第二操作模式期間操作反相選擇電路以不提供第一相位反相器的輸出。
9.根據本發明構思的一個實施例,提供了一種由隨機數生成器執行的隨機數生成方法。隨機數生成方法包括確定當前模式被設置為第一操作模式還是第二操作模式,當確定當前模式被設置為第一操作模式時,反相環形振蕩器的第一信號的相位以測量和校準環形振蕩器的頻率,以及當確定當前模式被設置為第二操作模式時,在不反相相位的情況下使用環形振蕩器生成隨機數。環形振蕩器包括至少一個反相器,并生成輸出信號作為隨機數的基礎。
10.根據本發明構思的一個實施例,提供了一種環形振蕩器,包括反相器鏈、反相選擇電路和控制器。反相器鏈包括多個反相器。反相選擇電路用于控制相位反相器,以反相反相器鏈的信號。控制器模塊在用于測量環形振蕩器的頻率的第一操作模式期間操作反相選擇電路,以向反相器鏈提供第一相位反相器的輸出,并在用于生成隨機數的第二操作模式期間操作反相選擇電路,以不提供相位反相器的輸出。
附圖說明
11.結合附圖進行的以下詳細描述將更清楚地理解本發明構思的實施例,其中:
12.圖1是示意性地示出根據本發明構思的實施例的隨機數生成系統的框圖;
13.圖2a是示意性地示出根據本發明構思的實施例的裝置的框圖;
14.圖2b是示出根據本發明構思的實施例的隨機數生成器的框圖;
15.圖3a是示出根據本發明構思的實施例的環形振蕩器的結構的圖,圖3b是描繪由環形振蕩器生成的信號的圖;
16.圖4是用于描繪根據本發明構思的實施例的隨機數生成器的圖;
17.圖5是用于描繪根據本發明構思的實施例的隨機數生成器的圖;
18.圖6是用于描繪根據本發明構思的實施例的由隨機數生成器生成的折疊計數的圖;
19.圖7是用于描繪根據本發明構思的實施例的由隨機數生成器生成的折疊計數的合適范圍的圖;
20.圖8是用于描繪根據本發明構思的實施例的隨機數生成器的操作的流程圖;
21.圖9是用于描繪根據本發明構思的實施例的隨機數生成器的操作的流程圖;
22.圖10是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖;
23.圖11是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖;
24.圖12是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖;
25.圖13是示出根據本發明構思的實施例的電子簽名服務系統的圖;以及
26.圖14示出了通過根據本發明構思的實施例生成的電子簽名執行安全驗證的通信設備的示例。
具體實施方式
27.以下,將參考附圖詳細描述本發明構思的實施例。
28.圖1是示意性地示出根據本發明構思的實施例的隨機數生成器的框圖。
29.隨機數生成器可以包括環形振蕩器2和折疊計數器3(例如,計數器電路)。環形振蕩器2可以包括相位反相電路1。
30.環形振蕩器2可以包括多個反相器或緩沖器。環形振蕩器2可以包括以鏈式形式連接的多個反相器,并且可以生成延遲等于連接的反相器的數量的脈沖,輸出時輸入通過多個反相器反相,并且具有特定時段。環形振蕩器2可以包括相位反相電路1。相位反相電路1可以包括復用器和反相器。環形振蕩器2可以在通過包括在相位反相電路1中的復用器生成脈沖時確定是否使用相位反相器。例如,相位反相電路1可以選擇性地將其內部反相器(即,相位反相器)的輸出提供給多個反相器或緩沖器。在實施例中,環形振蕩器2通過在第一模
式期間使用以鏈式形式連接的多個反相器來生成脈沖,并且在第二模式期間通過使用將反相器添加到鏈中的配置來生成脈沖。在實施例中,相位反相電路1可以包括至少一個反相器。
31.折疊計數器3可對環形振蕩器2生成的脈沖數進行計數。例如,折疊計數器3可以計算在特定時段內發生的脈沖數。折疊計數器3可以包括多個觸發器,折疊計數器3中的觸發器數量可以根據折疊計數器3要計數的脈沖數的范圍而變化。折疊計數可以是由環形振蕩器2生成的脈沖數。折疊計數器3可以在接收到重置信號時將折疊計數重置為0或某個其他預定義值。
32.圖2a是示意性地示出根據本發明構思的實施例的裝置10的框圖。
33.參考圖2a,裝置10可以包括處理器11、存儲設備12、輸入/輸出設備13、存儲器14、通信子系統15、總線16和隨機數生成器17。裝置10可以包括硬件元件,其可通過總線16電耦合(或相互通信)。也就是說,處理器11可以包括硬件元件,并且硬件元件可以包括一個或多個通用處理器和/或一個或多個專用處理器(例如,數字信號處理芯片或圖形加速處理器)。輸入/輸出設備13可以輸入/輸出要被處理器11處理的數據。
34.存儲設備12可以包括但不限于本地和/或網絡可訪問存儲器。例如,存儲設備12可以包括磁盤驅動器、驅動器陣列、光存儲設備和/或固態存儲設備。存儲設備12可以是可編程的或可閃存更新的,并且可以被實現為適用于各種文件系統、數據庫結構等。
35.通信子系統15可以包括但不限于調制解調器、網卡(無線或有線)、紅外通信設備和/或無線通信設備和/或芯片組(例如,藍牙設備、802.11設備、wifi設備、wimax設備和/或蜂窩通信設備)。通信子系統15可以允許與網絡、其他計算機系統/設備和/或任何其他設備交換(或傳輸)根據本發明構思的實施例生成的數字簽名相關的數據。
36.存儲器14可以包括操作系統14a(例如,操作系統),并可以包括包含設備驅動器、可執行庫和/或程序代碼的應用程序14b。操作系統14a和應用程序14b可以通過計算機(或計算機中的處理器)執行代碼和/或指令來實現為軟件元素。
37.根據本發明構思的實施例的隨機數生成器17可以是執行各種算術運算以在電子數據(或簽名目標數據(即,待簽名的數據))上生成電子簽名以確保安全的設備,并且可以基于特定電子簽名算法方法在電子數據上生成電子簽名。隨機數生成器17可以包括環形振蕩器18以生成隨機數。
38.環形振蕩器18可以包括以鏈式形式連接的多個反相器。例如,在該鏈中,第一反相器的輸出被提供給第二反相器的輸入,第二反相器的輸出被提供給第三反相器的輸入,等等。以鏈式形式連接的多個反相器可以被稱為反相器鏈。在實施例中,環形振蕩器18生成脈沖,該脈沖的延遲等于所連接的反相器的數量,輸出時通過多個反相器反相輸入,并且具有特定時段。包括在環形振蕩器18中的反相器可以是在p溝道金屬氧化物半導體(pmos)和n溝道金屬氧化物半導體(nmos)的尺寸比上不同配置的傾斜反相器。在實施例中,反相器可以包括pmos晶體管和nmos晶體管。在實施例中,pmos和nmos晶體管的尺寸可以在反相器之間,以實現傾斜反相器。基于環形振蕩器18的真隨機數生成可以通過使用環形振蕩器18作為隨機源,通過輸入環形振蕩器18的輸出作為d觸發器的時鐘信號或輸入的方法進行采樣來生成隨機數。然而,環形振蕩器18的輸出可能受到噪聲的影響,因此時鐘信號的時鐘值的變化快于或慢于時段。因此,輸出可能變得不規則,并且隨機數的質量可能根據抖動發生率和頻
率而變化。
39.在實施例中,隨機數生成器17通過使用折疊計數生成隨機數。當脈沖信號的上升沿和下降沿的定時由于包括在環形振蕩器18中的傾斜反相器的失配而逐漸變化時,由環形振蕩器18生成的脈沖信號的振蕩可能停止。折疊計數可以是直到環形振蕩器18的振蕩停止為止的脈沖數。隨機數生成器17可以根據折疊計數是奇數還是偶數來生成隨機比特。
40.在實施例中,隨機數生成器17可以通過硬件邏輯實現,或者可以包括通過邏輯合成設計的邏輯塊。此外,隨機數生成器17可以包括當存儲在諸如存儲設備12的非暫時性計算機可讀存儲介質上的一組代碼和/或命令被隨機數生成器17執行時實現的軟件塊。在其他實施例中,存儲介質可以作為安裝包或與計算機設備分離的設備(例如,可移動介質,諸如光盤或通用串行總線(usb)設備)提供,以便使用存儲在其中的一組代碼和/或命令來編程或適配通用計算機。該組代碼和/或命令可以是可由隨機數生成器17執行的可執行代碼的形式,并且可以是可安裝代碼的形式和/或在編譯和/或安裝隨機數生成器17期間以可執行代碼的形式的源。
41.圖2b是示出根據本發明構思的實施例的隨機數生成器的框圖。
42.隨機數生成器100可以包括環形振蕩器110、計數器120、比較器130、隨機數據生成器140、校準器150(例如,校準電路)和控制器160(例如,控制電路)。
43.環形振蕩器110可以包括多個反相器。環形振蕩器110可以包括以鏈式形式連接的多個反相器,并且可以生成脈沖pls,該脈沖pls的延遲等于連接的反相器的數量的,輸出時通過多個反相器反相輸入,并且具有特定時段。環形振蕩器110可以包括反相電路112。反相電路112可以包括復用器(未示出)和相位反相器(未示出)。環形振蕩器110可以在通過包括在反相電路112中的復用器生成脈沖pls時確定是否使用相位反相器。例如,環形振蕩器110可以確定是否向多個反相器提供相位反相器的輸出。在實施例中,環形振蕩器110通過在第一模式期間使用以鏈式形式連接的多個反相器來生成脈沖pls,并且可以在第二模式期間通過使用將反相器添加到鏈中的配置來生成脈沖pls。在實施例中,相位反相器可以包括至少一個反相器。
44.計數器120可以計算由環形振蕩器110生成的脈沖pls的數量cnt。計數器120可以包括多個觸發器,并且計數器120中的觸發器的數量可以根據計數器120要計數的脈沖pls的數量cnt的范圍而變化。折疊計數可以是由環形振蕩器110生成的脈沖pls的數量cnt。
45.比較器130可確定計數器120生成的折疊計數是否在適當范圍內。比較器130可以基于上限值和下限值確定輸入值是否在有效范圍內,并且可以輸出有效標志vfg。例如,當折疊計數在預設上限值和預設下限值之間時,比較器130可以輸出有效標志vfg邏輯高,否則可以輸出有效標志vfg作為邏輯低。
46.隨機數據生成器140可以基于計數器120生成的折疊計數生成隨機比特。隨機數據生成器140可以生成并輸出多個隨機比特。由隨機數據生成器140提供的隨機數據輸出rout可以包括折疊計數或隨機比特。
47.校準器150可通過將生成的脈沖pls的頻率與參考頻率rfq進行比較,重新調整由環形振蕩器110生成的脈沖pls的頻率。例如,校準器150可以將在預設時段期間由環形振蕩器110生成的脈沖pls的數量cnt與具有參考頻率rfq的參考時鐘信號的脈沖數進行比較。校準器150可以生成用于重新調整由環形振蕩器110生成的脈沖pls的頻率的校準信號cal。校
準信號cal可通過將在時段內計數的脈沖數cnt與在同一時段內發生的參考時鐘信號的脈沖數進行比較來生成。
48.控制器160可以生成控制信號ctrl和時鐘信號來控制隨機數生成器100。控制器160可以向環形振蕩器110提供控制信號ctrl和時鐘信號。環形振蕩器110可以基于接收到的控制信號ctrl和時鐘信號生成具有特定時段的脈沖pls。控制器160可以接收由校準器150生成的校準信號cal,以生成要提供給環形振蕩器110的控制信號ctrl。控制器160可以設置上限值或下限值,用于確定折疊計數是否在比較器130中的適當范圍內。
49.圖3a是示出根據本發明構思的實施例的環形振蕩器的結構的圖,圖3b是描述由環形振蕩器生成的信號的圖。
50.參考圖3a,環形振蕩器200可以包括第一nand門210、第二nand門211、第一反相器220、第二反相器221、第三反相器222、第四反相器223、第五反相器224和第六反相器225。環形振蕩器200還可以包括第一反相器220和第三反相器222之間的多個反相器,還可以包括第二反相器221和第四反相器223之間的多個反相器。從環形振蕩器200的第一反相器220到第三反相器222配置的反相器鏈可以包括偶數個反相器,并且第一反相器220的輸入信號可以在通過多個反相器延遲后由第三反相器222反相和輸出。包括在環形振蕩器200中的反相器可以是傾斜反相器,并且輸入到第一反相器220的時鐘信號可以在第三反相器222的上升沿和下降沿被順序且不同地延遲之后被反相并由第三反相器222輸出。可以將從第三反相器222輸出的信號s3作為輸入信號提供給第二nand門211。
51.從環形振蕩器200的第二反相器221到第四反相器223配置的反相器鏈可以包括偶數個反相器,并且第二反相器221的輸入信號可以在通過多個反相器延遲后由第四反相器223反相和輸出。包括在環形振蕩器200中的反相器可以是傾斜反相器,并且在第四反相器223的上升沿和下降沿被順序且不同地延遲之后,輸入到第二反相器221的信號可以被反相并由第四反相器223輸出。可以將從第四反相器223輸出的信號s4作為輸入信號提供給第一nand門210。
52.例如,從環形振蕩器200的第三反相器222輸出的信號s3可由第五反相器224反相,然后作為脈沖信號s5提供給外部。從環形振蕩器200的第六反相器225輸出的信號可以連接到另一計數器或另一設備。
53.由環形振蕩器200生成的脈沖信號s5可被提供給計數器250。計數器250可以對環形振蕩器200生成的脈沖數進行計數。例如,計數器250可以計算在特定時段期間發生的脈沖數。計數器250可以包括多個觸發器252,并且計數器250中的觸發器252的數量可以根據計數器250使用的單元脈沖數的范圍而變化。折疊計數可以是計數器250生成的脈沖數。
54.例如,參考圖3a和3b,環形振蕩器200可以接收時鐘信號clk作為輸入信號start。在環形振蕩器200中,輸入時鐘信號clk的第一時段d2可用作輸入信號。例如,時鐘信號clk可以在第一時間a01從邏輯高下降到邏輯低,并在第二時間a02從邏輯低上升到邏輯高,并且環形振蕩器200可以在第二時間a02開始操作。
55.當環形振蕩器200的操作開始時,第一nand門210的第一輸入s1可以在環形振蕩器200的操作開始之前從邏輯低變為邏輯高。第一nand門210的第二輸入s4可以在環形振蕩器200的操作開始之前保持在邏輯高,并且可以在環形振蕩器200的操作開始之后振蕩到邏輯低和邏輯高。例如,在環形振蕩器200的操作開始之后,第一nand門210的第一輸入s1可以保
持在邏輯高,當環形振蕩器200的操作開始時,第一nand門210的第二輸入s4可以在第二時間a02從邏輯高變為邏輯低,并且當從第二nand門211輸出的信號通過第四反相器223時,可以在第三時間a03從邏輯低變為邏輯高。
56.當環形振蕩器200的操作開始時,第二nand門211的第一輸入s2可以在環形振蕩器200的操作開始之前從邏輯低變為邏輯高,并且第二nand門211的第二輸入s3可以在環形振蕩器200的操作開始之前保持在邏輯高,并且可以在環形振蕩器200的操作開始之后振蕩到邏輯低和邏輯高。例如,在環形振蕩器200的操作開始之后,第二nand門211的第一輸入s2可以保持在邏輯高,當環形振蕩器200的操作開始時,第二nand門211的第二輸入s3可以在第二時間a02從邏輯高變為邏輯低,并且當從第二nand門211輸出的信號通過第四反相器223時,可以在第三時間a03從邏輯低變為邏輯高。
57.第一nand門210的第二輸入s4和第二nand門211的第二輸入s3可以在環形振蕩器200的初始操作中以類似的時段振蕩,但是其占空比可能由于環形振蕩器200中包括的傾斜反相器的失配而變化。例如,對于第二nand門211的第二輸入s3,邏輯高和邏輯低可以在初始階段保持在1:1的比率,但是與邏輯低比率相比,振蕩期間的邏輯高比率可以逐漸降低。至于第二nand門211的第二輸入s3,從第23時間a23到第24時間a24的邏輯高時段可以短于從第21時間a21到第22時間a22的邏輯高時段。當環形振蕩器200繼續振蕩時,第二nand門211的第二輸入s3可最終固定在邏輯低,且振蕩可結束。
58.例如,對于第一nand門210的第二輸入s4,在初始階段,邏輯高和邏輯低可以保持在1:1的比率,但是與邏輯高比率相比,振蕩期間的邏輯低比率可以逐漸降低。至于第一nand門210的第二輸入s4,從第13時間a13到第14時間a14的邏輯低時段可以短于從第11時間a11到第12時間a12的邏輯低時段。當環形振蕩器200繼續振蕩時,第一nand門210的第二輸入s4可最終固定在邏輯高,且振蕩可結束。
59.例如,計數器250可在第二nand門211的第二輸入s3振蕩時測量脈沖數。計數器250測量的脈沖可以是通過反相第二nand門211的第二輸入s3獲得的輸出信號s5。隨機數生成器可以根據計數器250測量的脈沖數是奇數還是偶數來生成隨機比特。
60.圖4是用于描繪根據本發明構思的實施例的隨機數生成器的圖。
61.環形振蕩器300可以包括包含多個反相器的反相器鏈,還可以包括反相選擇電路310。
62.反相選擇電路310可以包括相位反相器312、緩沖器314和第一復用器316。相位反相器312可以是反相器或傾斜反相器。反相選擇電路310可以在用于測量環形振蕩器300的頻率的第一操作模式下通過第一復用器316選擇相位反相器312,并且可以在用于生成隨機數的第二操作模式下通過第一復用器316選擇緩沖器314。在第一操作模式中,反相選擇電路310可以反相第一信號p1,并將其結果提供為第二信號p2。反相選擇電路310可以在第二操作模式中提供第一信號p1作為第二信號p2。例如,第二信號p2可以與第二操作模式中的第一信號p1相同,但被延遲了。在第一操作模式的實施例中,輸出信號pls繼續振蕩,并且使用振蕩輸出信號pls測量環形振蕩器300的頻率。
63.環形振蕩器300可以包括反相器或反相器選擇模塊320。反相器選擇模塊320可以包括多個傾斜反相器和第二復用器326。例如,第一傾斜反相器322和第二傾斜反相器324可以是傾斜反相器,其在p溝道金屬氧化物半導體(pmos)和n溝道金屬氧化物半導體(nmos)的
尺寸比上配置不同,并且在上升沿的延遲時間和下降沿的延遲時間上配置不同。第二復用器326可以選擇多個傾斜反相器中的一個來調整折疊計數或折疊計數的離散。環形振蕩器300可以包括反相器選擇模塊320形式的所有反相器,以調整折疊計數或折疊計數的離散。例如,當折疊計數或折疊計數的離散度在預設范圍之外時,環形振蕩器300可以通過使用第二復用器326選擇第二傾斜反相器324而不是第一傾斜反相器322。
64.環形振蕩器300可以包括第三復用器330,以調整輸出信號pls的頻率。第三復用器330可以選擇包括在環形振蕩器300中的第一反相器選擇模塊輸出p3、第二反相器選擇模塊輸出p4和第n反相器選擇模塊輸出pn中的一個,并將所選擇的一個輸出為輸出信號pls。環形振蕩器300可以將輸出信號pls與單獨的參考時鐘信號進行比較,以調整輸出信號pls的頻率。環形振蕩器300可由包括在隨機數生成器中的控制器或控制模塊控制。
65.圖5是用于描繪根據本發明構思的實施例的隨機數生成器的圖。
66.隨機數生成器可以包括計數器410、比較器420、隨機數據生成器430和校準器440,以處理環形振蕩器的輸出信號。
67.計數器410可以計算由環形振蕩器生成的脈沖pls的數量cnt。計數器410可以包括多個觸發器,并且計數器410中的觸發器的數量可以根據計數器410要計數的單元脈沖pls的數量cnt的范圍而變化。折疊計數可以是振蕩器410生成的脈沖pls的數量cnt。
68.比較器420可確定計數器410生成的折疊計數是否在適當范圍內。比較器420可以基于上限值ul和下限值ll來確定輸入值是否在有效范圍內,并且可以輸出有效標志vfg。例如,當折疊計數在預設上限值ul和預設下限值ll之間時,比較器420可以輸出有效標志vfg邏輯高,否則可以輸出有效標志vfg邏輯低。
69.隨機數據生成器430可以基于計數器410生成的折疊計數生成隨機比特。隨機數據生成器430可以生成并輸出多個隨機比特。由隨機數據生成器430提供的隨機數據輸出rout可以包括折疊計數或隨機比特。
70.校準器440可通過與環形振蕩器生成的脈沖pls的頻率進行比較,以參考頻率參考clk作為輸入,重新調整環形振蕩器生成的脈沖pls的頻率。校準器440可以生成用于重新調整由環形振蕩器生成的脈沖pls的頻率的校準信號cal。可通過比較脈沖pls的頻率與參考clk的頻率來生成校準信號cal。
71.圖6是用于描繪根據本發明構思的一個實施例的由隨機數生成器生成的折疊計數的圖。
72.隨著隨機數生成器生成的折疊計數的增加,隨機性能可能會增加。參考圖6,奇數和偶數中的哪一個將出現的熵可能會增加,因為折疊計數的離散度隨著折疊計數的增加而增加。在圖6的圖表中,x軸代表折疊計數,y軸代表出現頻率。例如,對于由隨機數生成器生成的第一折疊計數離散xa,平均折疊計數可以是100,并且折疊計數離散可以是小的。至于由隨機數生成器生成的第二折疊計數離散xb,平均折疊計數可以是200,并且折疊計數離散可以大于第一折疊計數離散xa。至于由隨機數生成器生成的第三折疊計數離散xc,平均折疊計數可以是400,并且折疊計數離散可以大于第二折疊計數離散xb。
73.然而,當折疊計數增加時,由于隨機數生成器生成一個隨機比特所需的時間增加,隨機性能可能會增加,但比特率性能(即生成隨機比特的速率)可能會降低。因此,可能需要適當地校準環形振蕩器的折疊計數和輸出信號頻率,以優化隨機數生成器的隨機性能和比
特率性能。
74.圖7是用于描繪根據本發明構思的實施例的由隨機數生成器生成的折疊計數的合適范圍的圖。
75.對于用于優化隨機數生成器的隨機性能和比特率性能的折疊計數范圍,與初始操作相對應的第一折疊計數范圍mode1 range和與環形振蕩器的隨機數生成操作相對應的第二折疊計數范圍mode2 range可以被分別管理。例如,當隨機數生成器在初始階段微調(trim)環形振蕩器時,可以基于嚴格范圍的第一折疊計數范圍mode1 range來執行微調。只要在隨機數生成期間確保了隨機性能和比特率性能,就可以基于寬范圍的第二折疊計數范圍mode2 range來執行微調,從而減少操作期間不必要的重試次數。第一折疊計數范圍mode1 range的上限值ul1可以小于第二折疊計數范圍mode2 range的上限值ul2,并且第一折疊計數范圍mode1 range的下限值ll1可以大于第二折疊計數范圍mode2 range的下限值ll2。
76.圖8是用于描繪根據本發明構思的實施例的隨機數生成器的操作的流程圖。
77.隨機數生成器在第一操作模式(即環形振蕩器的頻率測量模式)下操作,以在適當的頻率下操作以生成隨機數(s110)。隨機數生成器可以通過包括相位反相器的反相選擇電路反相并輸出信號,以在第一操作模式下操作。隨機數生成器可通過復用器選擇相位反相器以反相信號。當隨機數生成器選擇相位反相器時,包括在環形振蕩器的反相器鏈中的反相器的數量可以從偶數變為奇數,并且可能發生連續振蕩。可在第一操作模式期間測量環形振蕩器的頻率。
78.隨機數生成器確定所測量的環形振蕩器的頻率是否在參考范圍內(s120)。隨機數生成器可以通過將連續振蕩的環形振蕩器的脈沖信號與參考時鐘信號進行比較來調整由環形振蕩器生成的脈沖信號的頻率。
79.當所測量的環形振蕩器的頻率超出參考范圍時,隨機數生成器執行環形振蕩器的頻率微調(s122)。
80.當所測量的環形振蕩器的頻率在參考范圍內時,隨機數生成器在用于生成隨機數的第二操作模式下操作環形振蕩器(s130)。隨機數生成器可以選擇緩沖器,而不是通過復用器在第一操作模式下選擇的相位反相器。包括在環形振蕩器的反相器鏈中的反相器的數量可以從奇數變為偶數,并且可以生成用于生成隨機數的脈沖信號。
81.隨機數生成器確定生成的折疊計數是否在與環形振蕩器的初始操作相對應的第一折疊計數范圍內(s140)。至于用于優化隨機數生成器的隨機性能和比特率性能的折疊計數范圍,與初始操作相對應的第一折疊計數范圍和與隨機數生成操作相對應的第二折疊計數范圍可以被分別管理。例如,當隨機數生成器在初始階段微調環形振蕩器時,可以基于嚴格范圍的第一折疊計數范圍來執行微調。只要在隨機數生成期間確保了隨機性能和比特率性能,就可以基于寬范圍的第二折疊計數范圍來執行微調,從而減少操作期間不必要的重試次數。
82.當生成的折疊計數超出第一折疊計數范圍時,隨機數生成器執行折疊計數微調(s142)。隨機數生成器可以通過復用器選擇隨機數生成器中包括的多個傾斜反相器中的至少一個,以執行折疊計數微調。
83.當生成的折疊計數在第一折疊計數范圍內時,隨機數生成器確定微調(s150)。例
如,當生成的折疊計數在第一折疊計數范圍內時,不執行折疊計數微調。
84.隨機數生成器生成隨機數據(s160)。隨機數生成器可以基于折疊計數生成隨機比特。
85.隨機數生成器可確定是否需要額外生成隨機數據(s170)。當根據隨機數大小需要多個隨機比特時,隨機數生成器可以基于環形振蕩器生成的折疊計數生成隨機比特,并且可以確定需要額外生成隨機數據。
86.當需要額外生成隨機數據時,隨機數生成器可再次確定環形振蕩器的頻率是否在參考范圍內(s172)。
87.當環形振蕩器的頻率在參考范圍之外時,隨機數生成器可再次執行環形振蕩器的頻率測量模式(s110)操作的操作。
88.當環形振蕩器的頻率在參考范圍內時,隨機數生成器確定生成的折疊計數是否在與環形振蕩器的隨機數生成操作相對應的第二折疊計數范圍內(s174)。
89.當折疊計數在第二折疊計數范圍內時,隨機數生成器可立即生成隨機數據(s160)。當折疊計數在第二折疊計數范圍之外時,隨機數生成器可以返回操作(s140)以再次執行折疊計數微調。
90.圖9是用于描繪根據本發明構思的實施例的隨機數生成器的操作的流程圖。
91.隨機數生成器在第一操作模式(即環形振蕩器的頻率測量模式)下運行,以在適當頻率下運行以生成隨機數(s210)。隨機數生成器可以通過包括相位反相器的反相選擇電路反相并輸出信號,以在第一操作模式下操作。隨機數生成器可通過復用器選擇相位反相器以反相信號。當隨機數生成器選擇相位反相器時,包括在環形振蕩器的反相器鏈中的反相器的數量可以從偶數變為奇數,并且可能發生連續振蕩。可在第一操作模式期間確定環形振蕩器的頻率。
92.隨機數生成器確定所測量的環形振蕩器的頻率是否在參考范圍內(s220)。隨機數生成器可以通過將連續振蕩的環形振蕩器的脈沖信號與參考時鐘信號進行比較來調整由環形振蕩器生成的脈沖信號的頻率。
93.當所測量的環形振蕩器的頻率超出參考范圍時,隨機數生成器執行環形振蕩器的頻率微調(s222)。
94.當所測量的環形振蕩器的頻率在參考范圍內時,隨機數生成器在用于生成隨機數的第二操作模式操作環形振蕩器(s230)。隨機數生成器可以選擇緩沖器,而不是通過復用器在第一操作模式下選擇的相位反相器。包括在環形振蕩器的反相器鏈中的反相器的數量可以從奇數變為偶數,并且可以生成用于生成隨機數的脈沖信號。
95.隨機數生成器確定生成的折疊計數是否在與環形振蕩器的初始操作相對應的第一折疊計數范圍內(s240)。至于用于優化隨機數生成器的隨機性能和比特率性能的折疊計數范圍,與初始操作相對應的第一折疊計數范圍和與隨機數生成操作相對應的第二折疊計數范圍可以被分別管理。例如,當隨機數生成器在初始階段微調環形振蕩器時,可以基于嚴格范圍的第一折疊計數范圍來執行微調。只要在隨機數生成期間確保了隨機性能和比特率性能,就可以基于寬范圍的第二折疊計數范圍來執行微調,從而減少操作期間不必要的重試次數。
96.當生成的折疊計數超出第一折疊計數范圍時,隨機數生成器執行折疊計數微調
(s242)。隨機數生成器可以通過復用器選擇隨機數生成器中包括的多個傾斜反相器中的至少一個,以執行折疊計數微調。
97.當生成的折疊計數在第一折疊計數范圍內時,隨機數生成器確定微調(s250)。例如,當生成的折疊計數在第一折疊計數范圍內時,不執行折疊計數微調。
98.隨機數生成器生成隨機數據(s260)。隨機數生成器可以基于折疊計數生成隨機比特。
99.隨機數生成器確定是否需要額外生成隨機數據(s270)。當根據隨機數大小需要多個隨機比特時,隨機數生成器可以基于環形振蕩器生成的折疊計數生成隨機比特,并且可以確定需要額外生成隨機數據。
100.當需要額外生成隨機數據時,隨機數生成器確定生成的折疊計數是否在與環形振蕩器的隨機數生成操作相對應的第二折疊計數范圍內(s272)。
101.當折疊計數在第二折疊計數范圍內時,隨機數生成器可立即生成隨機數據(s260)。當折疊計數在第二折疊計數范圍之外時,隨機數生成器可返回操作(s240)以再次執行折疊計數微調。
102.圖10是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖。
103.參考圖10,在操作的初始階段,隨機數生成器可在第一操作模式(即環形振蕩器的頻率測量模式)下操作。在第一操作模式中,隨機數生成器可將頻率微調模式(ft模式)信號保持在邏輯高,并將振蕩器頻率微調比特(oftb)保持在邏輯高。
104.當開始信號start在第11時間t11從邏輯低變為邏輯高時,隨機數生成器可開始環形振蕩器的振蕩。隨機數生成器可以接收參考時鐘信號參考clk,以測量環形振蕩器的脈沖信號osc_out的頻率。
105.隨機數生成器可以測量從第11時間t11到第12時間t12的環形振蕩器的脈沖信號osc_out的頻率。隨機數生成器可通過使用計數器生成環形振蕩器的脈沖信號osc_out的計數值of_cnt,并可同時生成參考時鐘信號參考clk的計數值參考時鐘計數器。隨機數生成器可以基于生成的環形振蕩器的脈沖信號osc_out的計數值of_cnt和參考時鐘信號參考clk的計數值參考時鐘計數器,確定是否執行環形振蕩器的脈沖信號osc_out的頻率微調。當確定需要執行頻率微調時,隨機數生成器可以從第12時間t12到第13時間t13以邏輯高輸出頻率微調標志。
106.基于頻率微調標志的值,隨機數生成器可再次重復環形振蕩器的頻率測量,并從第14時間t14開始進行微調,同時保持第一操作模式。
107.圖11是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖。
108.參考圖11,隨機數生成器在用于生成隨機數的第二操作模式下操作環形振蕩器。在第21時間t21,當開始信號start從邏輯低變為邏輯高時,隨機數生成器可以開始環形振蕩器的振蕩。在第二操作模式下,環形振蕩器的脈沖信號osc_out在振蕩特定時間之后可能會停止。
109.隨機數生成器可測量環形振蕩器輸出的脈沖信號osc_out的脈沖數或折疊計數(折疊計數器)。隨機數生成器可以基于在振蕩結束時的第22時間t22處測量的折疊計數(折疊計數器)來確定折疊計數范圍是否滿足。例如,當折疊計數有效時,折疊計數范圍有效標志(折疊計數范圍有效標志)可以在第23時間t23以邏輯高輸出,該時間是第22時間t22之后
的兩個時鐘信號。
110.隨機數生成器可在第25時間t25再次執行隨機數生成操作。
111.圖12是用于描繪根據本發明構思的實施例的由隨機數生成器生成的信號的圖。
112.參考圖12,隨機數生成器在用于生成隨機數的第二操作模式下操作環形振蕩器。在第31時間t31,當開始信號start從邏輯低變為邏輯高時,隨機數生成器可以開始環形振蕩器的振蕩。在第二操作模式下,環形振蕩器的脈沖信號osc_out在振蕩特定時間之后可能會停止。
113.隨機數生成器可以測量環形振蕩器的脈沖信號osc_out的脈沖數或折疊計數(折疊計數器)。隨機數生成器可以基于在振蕩結束時的第32時間t32處測量的折疊計數(折疊計數器)來確定折疊計數范圍是否滿足。例如,當折疊計數在預設的折疊計數范圍之外時,折疊計數范圍確定結果可以在第33時間t33處作為折疊計數范圍有效標志(折疊計數范圍有效標志)信號輸出,第33時間t33是第32時間t32之后的2個時鐘。隨機數生成器可能會更改折疊微調比特,并執行折疊計數微調操作。
114.圖13是示出根據本發明構思的實施例的電子簽名服務系統600的圖。
115.參考圖13,根據實施例的電子簽名服務系統600可以包括用戶終端620、電子簽名服務服務器610(其存儲用于生成用戶的電子簽名的數據并向用戶提供電子簽名服務)、使用電子簽名的電子簽名使用服務器630以及用于認證電子簽名的認證服務器640。
116.電子簽名使用服務器630可指由使用電子簽名的機構操作的服務器。電子簽名使用服務器630可以包括但不限于銀行服務器、由公共機構操作的服務器和/或提供電子商務服務的服務器。電子簽名使用服務器630可以發布需要用戶認證的電子文檔,即簽名目標文檔(即,要簽名的文檔)。電子簽名使用服務器630可以將從簽名目標文檔導出的簽名目標數據發送到用戶終端620。簽名目標數據可以包括簽名目標文檔的原始數據,或者可以包括通過處理簽名目標文檔的原始數據以適合加密而獲得的數據。電子簽名使用服務器630可以請求用戶終端620對簽名目標數據進行電子簽名。
117.認證服務器640可指由授權認證機構操作的服務器,該認證機構發布并管理認證證書以驗證電子簽名。授權認證機構的示例可能包括韓國金融電信與清算研究所、韓國信息證書管理局、韓國證券計算公司、韓國電子證書管理局、國家電腦化局和韓國貿易網絡。
118.用戶終端620可指有權輸入電子簽名的用戶使用的設備。用戶終端可以包括但不限于智能手機、平板電腦和/或筆記本電腦。用戶終端620可以包括能夠與電子簽名使用服務器630和電子簽名服務服務器610通信的通信單元。用戶終端620可以從電子簽名使用服務器630接收簽名目標數據和簽名目標數據的電子簽名請求。
119.用戶終端620可以通過隨機數生成器生成滿足用戶終端620的電子簽名算法方法中的隨機數條件的隨機數,該隨機數生成器的隨機性能和比特率性能針對根據圖1等中描述的實施例生成電子簽名時所需的隨機數進行了優化。
120.用戶終端620可以請求電子簽名服務服務器610生成電子簽名,而不是直接生成電子簽名。必要時,用戶終端620可以將簽名目標數據處理成可以容易地進行電子簽名的格式,然后將對處理后的簽名目標數據的電子簽名請求發送到電子簽名服務服務器610。在這種情況下,電子簽名服務服務器610還可以執行根據圖1等中描述的實施例的隨機數生成操作。
121.當從電子簽名服務服務器610接收到電子簽名時,用戶終端620可以通過使用電子簽名生成電子簽名文本。電子簽名使用服務器630或認證服務器640以電子簽名驗證的格式寫入電子簽名。用戶終端620可以將生成的電子簽名文本發送到電子簽名使用服務器630。
122.圖14示出了通過根據本發明構思的實施例生成的電子簽名執行安全驗證的通信設備的示例。圖14示出了在使用wlan的無線通信系統中各種無線通信設備彼此通信的示例。
123.參考圖14,家用小工具721、家用電器722、娛樂設備723和接入點(ap)710可以構成物聯網(iot)網絡系統。家用小工具721、家用電器722、娛樂設備723和ap 710中的每一個都可以執行根據本發明構思的實施例的隨機數生成操作,并通過使用隨機數生成電子簽名。構成物聯網網絡系統的設備710、721、722和723之間的安全性可以通過每個生成的電子簽名來增強。家用小工具721、家用電器722和娛樂設備723可以與ap 710無線通信,家用小工具721、家用電器722和娛樂設備723可以彼此無線通信。
124.雖然已經參考本發明的實施例詳細地展示和描述了本發明的概念,但是可以理解,在不脫離以下權利要求的精神和范圍的情況下,可以對其進行形式和細節上的各種更改。

技術特征:


1.一種隨機數生成器,包括:環形振蕩器,包括包含至少一個反相器的反相器鏈,并生成輸出信號;反相選擇電路,控制被配置為反相所述反相器鏈的信號的第一相位反相器;以及控制器,被配置為在用于測量所述環形振蕩器的頻率的第一操作模式期間操作所述反相選擇電路,以向所述反相器鏈提供所述第一相位反相器的輸出,并在用于生成隨機數的第二操作模式期間操作所述反相選擇電路,以不提供所述第一相位反相器的輸出。2.根據權利要求1所述的隨機數生成器,其中,所述反相選擇電路包括第一相位反相器、緩沖器和第一復用器,以及所述第一復用器在所述第一操作模式期間輸出所述第一相位反相器的信號,并在所述第二操作模式期間輸出所述緩沖器的信號。3.根據權利要求1所述的隨機數生成器,其中,所述至少一個反相器是在p溝道金屬氧化物半導體(pmos)和n溝道金屬氧化物半導體(nmos)的尺寸比上不同配置的傾斜反相器。4.根據權利要求1所述的隨機數生成器,其中,在所述環形振蕩器的輸出信號由于所述至少一個反相器之間的失配而在振蕩特定時段后停止時,所述控制器通過對脈沖數進行計數來生成折疊計數。5.根據權利要求4所述的隨機數生成器,其中,所述環形振蕩器還包括用于調整所述折疊計數范圍的第二復用器,以及所述第二復用器在上升延遲時間和下降延遲時間不同的多個反相器中選擇構成所述反相器鏈的反相器。6.根據權利要求4所述的隨機數生成器,其中,所述控制器基于與所述環形振蕩器的初始操作相對應的第一折疊計數范圍和與所述環形振蕩器的隨機數生成操作相對應的第二折疊計數范圍來校準所述折疊計數范圍。7.根據權利要求4所述的隨機數生成器,還包括比較器,所述比較器將所述折疊計數與預設折疊計數范圍上限值和預設折疊計數范圍下限值進行比較,以校準所述折疊計數。8.根據權利要求4所述的隨機數生成器,其中,當所述折疊計數超出預設范圍時,所述控制器校準所述折疊計數。9.根據權利要求6所述的隨機數生成器,其中,所述第二折疊計數范圍的下限值小于所述第一折疊計數范圍的下限值,所述第二折疊計數范圍的上限值大于所述第一折疊計數范圍的上限值。10.根據權利要求1所述的隨機數生成器,其中,所述環形振蕩器的輸出信號在所述第一操作模式下保持振蕩,以及所述控制器通過比較所述輸出信號和參考時鐘信號來調整所述輸出信號的頻率。11.根據權利要求1所述的隨機數生成器,其中,所述環形振蕩器還包括用于調整所述輸出信號的頻率的第三復用器,以及所述第三復用器被配置為通過接收構成所述反相器鏈的反相器的輸出來選擇構成所述反相器鏈的多個反相器。12.一種由隨機數生成器執行的隨機數生成方法,所述隨機數生成方法包括:確定當前模式被設置為第一操作模式還是第二操作模式;當確定所述當前模式被設置為所述第一操作模式時,反相環形振蕩器的第一信號的相
位以測量和校準所述環形振蕩器的頻率;以及當確定所述當前模式被設置為所述第二操作模式時,使用所述環形振蕩器生成隨機數而不反相所述相位,其中,所述環形振蕩器包括至少一個反相器,并生成輸出信號作為所述隨機數的基礎。13.根據權利要求12所述的隨機數生成方法,其中,反相所述第一信號的所述相位包括通過第一復用器提供第一相位反相器的輸出,以及生成所述隨機數包括通過所述第一復用器提供緩沖器的輸出。14.根據權利要求12所述的隨機數生成方法,其中,生成所述隨機數包括在所述環形振蕩器的輸出信號由于所述至少一個反相器之間的失配而振蕩特定時段后停止時,通過測量脈沖數來生成折疊計數。15.根據權利要求14所述的隨機數生成方法,還包括:在所述隨機數生成器的初始操作中,基于第一折疊計數范圍校準所述折疊計數范圍;以及在所述隨機數生成器的初始后操作中,基于第二折疊計數范圍校準所述折疊計數范圍。16.根據權利要求15所述的隨機數生成方法,其中,所述第二折疊計數范圍的下限值小于所述第一折疊計數范圍的下限值,所述第二折疊計數范圍的上限值大于所述第一折疊計數范圍的上限值。17.根據權利要求12所述的隨機數生成方法,還包括在頻率校準期間保持所述輸出信號的振蕩,并通過將所述輸出信號與參考時鐘信號進行比較來調整所述輸出信號的頻率。18.一種環形振蕩器,包括:反相器鏈,包括多個反相器;反相選擇電路,控制第一相位反相器,用于反相所述反相器鏈的信號;以及其中,控制器在用于測量所述環形振蕩器的頻率的第一操作模式期間操作所述反相選擇電路,以向所述反相器鏈提供所述第一相位反相器的輸出,并在用于生成隨機數的第二操作模式期間操作所述反相選擇電路,以不提供所述相位反相器的輸出。19.根據權利要求18所述的環形振蕩器,還包括選擇在上升延遲時間和下降延遲時間不同的多個反相器中的一個以調整用于生成所述隨機數的折疊計數范圍的第二復用器。20.根據權利要求18所述的環形振蕩器,其中,所述輸出信號在所述第一操作模式下保持振蕩,以及所述控制器通過比較所述輸出信號和參考時鐘信號來調整所述輸出信號的頻率。

技術總結


一種隨機數生成器,包括環形振蕩器、反相選擇電路和控制器。環形振蕩器包括具有至少一個反相器的反相器鏈,并生成輸出信號。反相選擇電路,控制被配置為反相反相器鏈的信號的相位反相器。控制器被配置為在用于測量環形振蕩器的頻率的第一操作模式期間操作反相選擇電路以向反相器鏈提供第一相位反相器的輸出,并且在用于生成隨機數的第二操作模式期間操作反相選擇電路以不提供相位反相器的輸出。反相選擇電路以不提供相位反相器的輸出。反相選擇電路以不提供相位反相器的輸出。


技術研發人員:

申晧榮 金寶羅 金俊鎬

受保護的技術使用者:

三星電子株式會社

技術研發日:

2022.07.11

技術公布日:

2023/1/16


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-87977-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2023-01-29 22:22:57

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論