一種基于延時的雙軌預(yù)充邏輯與非門電路以及異或門電路的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集成電路技術(shù)領(lǐng)域,更具體涉及一種基于延時的雙軌預(yù)充邏輯與非門 電路以及異或門電路。
【背景技術(shù)】
[0002] 隨著信息化和信息產(chǎn)業(yè)的發(fā)展,超大規(guī)模集成電路和計(jì)算機(jī)技術(shù)被廣泛應(yīng)用于社 會的各個領(lǐng)域。大量保密系統(tǒng)在信息產(chǎn)業(yè)的基礎(chǔ)上建立起來,信息系統(tǒng)的安全已經(jīng)成為了 政府和各種大型組織必須重視的關(guān)鍵問題。信息安全是指基于信息系統(tǒng)的軟硬件系統(tǒng)及系 統(tǒng)內(nèi)保存的數(shù)據(jù)受到保護(hù),不受外界竊取、更改甚至破壞。
[0003] 所有的信息技術(shù)的運(yùn)算包括信息加密在內(nèi)都是在相應(yīng)的物理基礎(chǔ)上實(shí)現(xiàn),但是包 括集成電路芯片在內(nèi)的這些物理基礎(chǔ)都并不能保證需要的封閉安全的環(huán)境,在實(shí)際使用 中,這些電路會泄露其他信息,而這些泄露的信息可以用來攻擊加密電路,這些通過硬件泄 露信息對加密電路攻擊的方法被稱為旁道或者側(cè)信道攻擊。
[0004] 按照所針對的泄露信息的不同分類,旁道攻擊大概分為以下幾種類型:時間攻擊、 電磁輻射攻擊、故障攻擊、聲音攻擊、可見光攻擊、功耗攻擊等。其中功耗攻擊(PA,Power Analysis)是一個更為簡便、有效、普遍的攻擊方式,由于在不同的輸入數(shù)據(jù)情況下,電路中 的中間節(jié)點(diǎn)有不同的翻轉(zhuǎn)和延時情況,使得功耗曲線受到影響,通過分析密碼芯片消耗的 功耗和數(shù)據(jù)之間的相關(guān)性來猜測密碼系統(tǒng)的密鑰信息。功耗攻擊中的差分功耗分析OPA, DifferentialPowerAnalysis)是一種典型的功耗攻擊方法。
[0005] 基于延時的雙軌預(yù)充邏輯(DDPL)電路是抗DPA電路中很有代表性的一種,如圖 la、圖lb所不,其輸出雙軌信號Y和輸出雙軌信號Y的反向的產(chǎn)生電路相互獨(dú)立,完全可以 看做兩個獨(dú)立的電路。根據(jù)邏輯設(shè)置的需要,在CLK= 1時對電路的輸出節(jié)點(diǎn)進(jìn)行預(yù)充, 在CLK下跳沿到來后,根據(jù)輸入信號的不同進(jìn)行邏輯運(yùn)算,根據(jù)邏輯運(yùn)算的結(jié)果將輸出雙 軌信號中的一個先拉到低電平,在△延時后,輸入信號A、B全部變?yōu)榈碗娖?,求值網(wǎng)絡(luò)中 (pla,p2a,p4a,p5a)所有PM0S晶體管開啟,輸出雙軌信號中的另外一端也被拉到低電平, 完成求值過程,輸出雙軌信號保持低電平直到下一個時鐘上跳沿即預(yù)充階段的到來。
[0006] 如圖la所示,在每一個求值周期中,CLK= 0,所有輸入信號最后也會變?yōu)?,求值 電路中PM0S晶體管Pla,P2a,P4a,P5a管都會導(dǎo)通,將內(nèi)部節(jié)點(diǎn)Oa,Pa,Qa,Ma,Na上拉到高 電平,輸出信號下拉到低電平。之后一個時鐘周期中,電路先進(jìn)入預(yù)充階段,輸入信號和時 鐘信號都上跳到高電平,關(guān)斷相應(yīng)的PM0S管,打開NM0S晶體管Nla,N2a,將Ma,Na節(jié)點(diǎn)預(yù) 充到低電平。當(dāng)求值階段到來時,CLK下跳至低電平,輸入信號A和輸入信號B也下跳到低 電平,如圖lc所示,輸入信號A的反向、輸入信號B的反向暫時保持高電平不變,這樣Pla, P2a,P3a,P6a導(dǎo)通,Ma節(jié)點(diǎn)被充電到高電平,輸出雙軌信號下拉到低電平,P6a的導(dǎo)通導(dǎo)致 此時處在高電平的Qa點(diǎn)和處在低電平的Na點(diǎn)連接起來,且由于P4a,P5a尚未導(dǎo)通,Qa點(diǎn) 和Na點(diǎn)不能被上拉到高電平,Qa和Na點(diǎn)之間發(fā)生了電荷分享,Na和Qa都處在一個中間電 平,且這個狀態(tài)一直維持到A延時的結(jié)束。在這期間,由于Na點(diǎn)同時作為反相器的輸入節(jié) 點(diǎn),和輸出雙規(guī)信號Y相關(guān)的反相器無法完全關(guān)斷,一直處在一個漏電流的狀態(tài),造成了不 必要的功耗。另一方面,在不同的輸入情況下,〇a,Pa,Qa點(diǎn)和Ma,Na點(diǎn)之間的電荷分享的 程度不一致,導(dǎo)致相應(yīng)反相器處在的狀態(tài)不同,相應(yīng)的功耗也不同,造成不同輸入情況下電 路功耗不一致,影響了抗DPA效果,同時也會對輸出雙軌信號的波形造成影響,仿真波形圖 如ld,可見兩個輸出節(jié)點(diǎn)波形都會出現(xiàn)或多或少的下降,存在電荷分享的問題。
[0007] 圖lb所示電路同樣存在電荷分享的問題。
[0008] 可以通過對電路的內(nèi)部節(jié)點(diǎn)在預(yù)充階段同樣進(jìn)行預(yù)充來解決這個問題,例如在圖 la所示電路中,在地和Oa,Pa,Qa三點(diǎn)之間各增加一個柵端接CLK信號的NM0S管,如圖le 所示,這樣在CLK為高電平時,即電路的預(yù)充階段中,Oa,Pa,Qa三個節(jié)點(diǎn)都會被預(yù)充到低電 平,而在CLK下跳沿后,電路進(jìn)入求值階段,P3a和P6a導(dǎo)通,Oa,Pa,Qa和Ma,Na電壓相同, 不會因?yàn)殡姾煞窒韱栴}導(dǎo)致出現(xiàn)前文所述的功耗不平衡甚至邏輯無法實(shí)現(xiàn)的問題。
[0009] 對中間節(jié)點(diǎn)增加預(yù)充管之后進(jìn)行仿真,與非門的波形圖如圖If所示,由圖可知, 改進(jìn)后的電路解決了電荷分享對電路邏輯的影響。
[0010] 圖le中,預(yù)充電路由NM0S晶體管實(shí)現(xiàn),其求值邏輯電路部分由PM0S晶體管實(shí)現(xiàn)。 眾所周知,在同樣的邏輯下,由于NM0S晶體管中電子更高的迀移率,由NM0S晶體管實(shí)現(xiàn)的 電路邏輯部分在速度和功耗整體情況下會比由PM0S晶體管實(shí)現(xiàn)的要好的多。為了使用 NM0S晶體管邏輯支路,需要對DDPL邏輯進(jìn)行一定的調(diào)整。改動后的DDPL邏輯如圖lg和圖 lh所示,其中圖lg為邏輯1,圖lh為邏輯0。
[0011] 如圖lg和圖lh所示,將CLK= 0的階段規(guī)定為預(yù)充階段,而CLK= 1的階段稱為 求值階段。在CLK= 0時,雙軌輸入信號都處在低電平狀態(tài),根據(jù)CLK上跳沿后雙軌上跳沿 的先后順序決定信號的邏輯0和邏輯1,A信號先上跳,A信號的反向在△延時后再上跳代 表邏輯1,而邏輯0剛好相反。雙軌輸入信號依次上跳完后都處于高電平狀態(tài)直到下一個預(yù) 充階段到來。在此基礎(chǔ)上實(shí)現(xiàn)的DDPL與非門電路如圖li所示,都是在CLK= 0時開啟預(yù) 充用的PM0S晶體管(圖1i中的所有PM0S晶體管),在求值時使用NM0S晶體管。
[0012] 圖li所示與非門的仿真波形如圖lj所示。由波形可知,電路能在N型DDPL下正 確地運(yùn)行。
[0013] 但這樣電路仍然存在一定的導(dǎo)致功耗不平衡的問題,以圖le所示電路的與非門 預(yù)充階段為例,進(jìn)行仿真,波形圖如圖lk所示。由圖可見,前一級輸出雙軌信號輸入的上跳 沿比CLK信號晚一定的時間,在此期間,求值PM0S晶體管仍然保持電源和中間節(jié)點(diǎn)的連通, 而中間節(jié)點(diǎn)到地的NM0S預(yù)充管也被打開,這樣就產(chǎn)生了從電源到地的短路。
[0014] 輸入信號A、輸入信號A的反向都處在低電平,Pla和P4a導(dǎo)通;CLK處在高電平, N2a和N5a導(dǎo)通,這樣分別形成了Pla_N2a和P4a_N5a兩條短路,而這兩條短路時間的長度 是由CLK上跳沿到前一級電路的預(yù)充輸出延時決定的,在一些電路中,這個延時受到輸入 信號的影響,這樣短路電流的產(chǎn)生的功耗就和輸入數(shù)據(jù)相關(guān)聯(lián)了,給DPA攻擊提供了可乘 之機(jī)。
【發(fā)明內(nèi)容】
[0015] (一)要解決的技術(shù)問題
[0016] 本發(fā)明要解決的技術(shù)問題是如何設(shè)計(jì)基于DDPL的與非門以及異或門電路,能夠 同時消除電路中存在的電荷分享以及短路電流對功耗平衡的影響,從而有效抗擊DPA。 [0017](二)技術(shù)方案
[0018] 為了解決上述技術(shù)問題,本發(fā)明提供了一種基于延時的雙軌預(yù)充邏輯與非門電 路,包括?103晶體管?1、?2、?3、?4、?5、?6,匪05晶體管附、呢川3,第一反相器?1;第二反 相器F2 ;
[0019] 所述PMOS晶體管P1的源極連接電源,其柵極連接時鐘信號,漏極連接所述PMOS 晶體管P2的源極;所述PMOS晶體管的P2的漏極連接所述PMOS晶體管P3的源極,所述PMOS 晶體管P3的漏極連接所述NMOS晶體管N1的漏極、所述第一反相器F1的輸入端;所述PMOS 晶體管P2的柵極、所述PMOS晶體管P3的柵極分別連接輸入信號A、B;所述NM0S晶體管 N1的柵極連接所述時鐘信號,所述NM0S晶體管N3的柵極連接所述時鐘信號,其漏極連接所 述PMOS晶體管P2的漏極,所述NM0S晶體管N3、N1的源極接地;
[0020] 所述PMOS晶體管P6的源極連接電源,其柵極連接