<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

芯片中安全的非相鄰表示型實現方法

文檔序號:9891174閱讀:386來源:國知局
芯片中安全的非相鄰表示型實現方法
【技術領域】
[0001] 本發明涉及芯片中公鑰密碼體制的安全執行領域,具體涉及一種芯片中安全的非 相鄰表示型實現方法。
【背景技術】
[0002] 在公鑰密碼體制的密碼執行的整個過程中,都需要保證私鑰的安全性。而為了能 夠保證私鑰的安全性,通常在私鑰參與密碼運算之前,將私鑰d通過NAF(非相鄰表示型) 方法進行變換,得到有規則或無規則的二進制的比特序列,然后使用該序列進行后續的密 碼運算,使得密碼的運算更加安全與效率。典型的例子如楠圓曲線密碼算法里的點乘中的 標量,還有參與RSA密碼運算的指數等等。
[0003] 而在攻擊方面,攻擊者可W采取對密碼運算過程中進行密碼攻擊,也可W從密碼 運算的外圍進行攻擊。事實上,密碼運算的外圍往往是攻擊者選擇攻擊點的首選。例如,在 楠圓曲線密碼體制中,主要的運算是計算點乘d沖,送里P是楠圓曲線上的點,系數d是整 數。d往往是敏感數據,例如在ANSI X9. 63和IS0/IEC 15946-3標準W及IE邸P1363a標 準草案中,已使ECIES標準化,而在楠圓曲線加密方案巧CIES)的解密中,在執行步驟Z = hdR時,d就是私鑰,所W在進行點乘之前,需要對d進行NAF變換處理,而此時的處理過程 往往成為攻擊者攻擊的時機。
[0004] 大多數現代密碼設備的計算部件是集成電路芯片,由于它保護的對象具有較強的 私密性,因此其安全性一直備受關注。公鑰密碼體制包括RSA和ECC作為在密碼設備中應 用較為廣泛的密碼協議,它們在數學上均具有較強的安全性,但在密碼設備上進行實現時, 又會面臨較多的攻擊方式。比如利用密碼設備所泄漏的一些側信道信息來攻破送些密碼系 統的一種很有威脅的攻擊方式,一般把送種攻擊叫做側信道攻擊(Side-化annel Attacks, 簡稱SCA);而另一種很有威脅的攻擊方式則是差分故障攻擊值ifferential Default Attacks),它的原理主要是在密碼運算的過程中向某個或某幾個特定的時間點注入故障, 從而將正確的結果和所有錯誤的結果進行歸納分析得出最終的秘密數據。
[0005] 根據傳統的NAF設計,如下所示:
[0006] 輸入;窗口寬度W,一個正整數k。、
[0007] 輸出:NAF" 似。
[0008] 1. i 戶 0。
[000引 2.當k > 1時,重復執行
[0010] 2. 1 若 k 是奇數,貝ij ki 戶 k mod 2",k 戶 ki。
[0011] 2. 2 否則,ki-0。
[0012] 2.3
[001 引 3.返回化…ki 2, ...,ki,k0)。
[0014] 由于在步驟2. 1和步驟2. 2中,操作有比較大的差別,導致它們在功耗中的信息特 征也非常明顯,可參考圖3所示,即使用側信道攻擊方法就很輕易能夠得出數據Κ的每一比 特是0還是1 ;而為了解決送個問題,解決方法往往是在步驟2. 2中加入了適當的偽操作, 使得步驟2. 1和步驟2. 2的功耗特征達到平衡。但是即便送樣,也還是帶來相應的問題,即 送樣的解決方法不能夠對故障注入攻擊免疫。

【發明內容】

[0015] 本發明要解決的技術問題是提供一種芯片中安全的非相鄰表示型實現方法,具有 更強的抵抗SCA攻擊和DFA (故障注入分析)攻擊的能力,同時,效率的影響和安全的強度 可控可調。
[0016] 為解決上述技術問題,本發明的芯片中安全的非相鄰表示型實現方法,包括如下 步驟:
[0017] 步驟1,讀取需要進行NAF計算的數據Κ和用于偽造數據Κ的隨機數Kd W及隨機 比特序列RandomBit ;
[001引步驟2,當Κ〉0,重復執行W下操作,其中Kdi為臨時變量,ki和i為輸出變量:
[0019] a、如果RandomBit最低比特為1,則執行下列偽操作S1 ;
[0020] S1的核必運算如下:
[0021] Kd, ^ Kd mod2*, Kd ^ Kd-Kd,,
[0022] RandomBit ^ Randombit/2,
[0023] b、否則如果K的最低比特為1,則執行下列真操作S2 ;
[0024] S2的核必運算如下:
[00巧]ki ^ K mod 2",K ^ K-ki,
[0026]
[0027] C、否則執行下列真操作與偽操作的結合S3 ;
[002引 S3的核必運算如下:
[0029] Kdi ^ Kd mod 2",Kd ^ Kd-Kdi,
[0030]
[00引]步驟3,輸出ki和i。
[0032] 所述的用于偽造數據K的隨機數Kd,包括任意在運算執行時所表現出來的信息特 征上與數據K的信息特征相似的數據。
[003引步驟1中所述的隨機比特序列RandomBit,包括任意占空比可控的隨機比特序列。
[0034] 步驟2中所述的偽操作S1,除了其核必運算Kdi ^ Kd mod 2",Kd ^ Kd-Kdi和 RandomBit ^ Randombit/2 W外,包括任意在運算執行時能夠達到與操作S2的信息特征相 似的操作。
[0035] 步驟2中所述的真操作與偽操作的結合53,除了其核必運算41^1( mod 2", K ^ K-ki和1> ^J -4?擬外,包括任意在運算執行時能夠達到與操作S2的信息特征相似 的操作。
[0036] 鑒于現有的NAF方法實現中存在的問題,本發明提供了一種適合密碼設計硬件或 軟件的抵抗SCA攻擊和DFA攻擊的非相鄰表示型實現方法。相對于傳統的方法,本發明的方 法具有更強的抵抗SCA攻擊和DFA攻擊的能力,同時,效率的影響和安全的強度可控可調。 因此,特別適用于智能卡等計算資源受限的嵌入式設備應用。
[0037] 本發明的主體在于將隨機數Kd和占空比可控的隨機數比特序列RandomBit引入 NAF的計算過程當中。其中Kd是與K對應的隨機數,用于在計算過程中,模仿數據K在運算 中所表現出來的信息特征,從而達到混淆真假數據K運算的目的。其中RandomBit是用于控 制效率和安全的隨機數比特序列,RandomBit的相應位為1時,則該輪運算執行偽操作S1 ; 否則,該輪運算執行真操作S2或者真操作與偽操作的結合S3。當隨機數RandomBit的比特 序列中比特位為1較多時,插入的偽操作S1相應地變多,運算效率也會相應的降低,安全性 則呈現一種類似正態分布的形狀,即比特1呈現得過多或過少都降低NAF計算的安全性, 同時比特1過于集中而不夠隨機也會降低NAF計算的安全性。即只有當隨機數Random的比 特序列中比特位為1達到一定的數量且分布較為隨機的時候,安全性才是最高的。步驟2中 的操作S1的核必運算Kdi ^ Kd mod 2",Kd ^ Kd-Kdi主要作用是保持與S2和S3的行為方 式一致W保證相同的信息特征,核必運算RandomBit ^ Randombit/2的主要作用是為了遍 歷隨機數序列RandomBit的比特位。步驟2的操作S2的核必運算ki ^ K mod 2",Κ ^ K-ki 和& f J 1都是需要執行的真操作,是其他偽操作設計時需要嚴格參考的對象。步驟3 的操作S3的核必運算Kdi ^ Kd mod 2",Kd ^ Kd-Kdi是偽操作,其主要作用是使得操作S3 能夠保持與SI和S2具有相同的信息特征。步驟3的操作S3的核必運算Κ Η- ^是 操作S3需要做的真操作。Η個操作S1,S2和S3在實現過程中需要保證它們的信息特征是
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影