日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

论文笔记:针对盲化的 RSA算法的水平聚类侧信道攻击

發(fā)布時(shí)間:2023/12/31 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论文笔记:针对盲化的 RSA算法的水平聚类侧信道攻击 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

論文筆記:針對(duì)盲化的 RSA算法的水平聚類側(cè)信道攻擊

作者:史凡玉(天津大學(xué),2020年1月碩士學(xué)位論文)
其文章發(fā)表:
Shi F , Wei J , Sun D , et al. A Systematic Approach to Horizontal Clustering Analysis on Embedded RSA Implementation[C]. 2019 IEEE 25th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2019.

論文筆記:Systematic Approach to Horizontal Clustering Analysis on Embedded RSA Implementation

選擇明文水平側(cè)信道攻擊

本文特殊明文𝑀 = 1,算法 5 只有步驟 6 與密鑰位的值相關(guān):
當(dāng)𝑑𝑖?1 = 0,步驟 6 執(zhí)行R[1] = R[1] × 1 𝑚od 𝑛 = 𝑟?1 × 1 𝑚od 𝑛.;
當(dāng)𝑑𝑖?1 = 1,步驟 6 執(zhí)行R[0] = R[0] × 1 𝑚od 𝑛 = r × 1 𝑚od 𝑛。
𝑀 = 1時(shí),R[0]中寄存器的值維持為r;R[0]中寄存器的值維持為𝑟?1。

以 100M/s 的采樣率采集加密的整個(gè)功耗曲線。在 RSA 加密算法中,很難分辨模冪曲線和蒙哥馬利轉(zhuǎn)化域曲線(圖 3-1 中模冪開始點(diǎn)和結(jié)束點(diǎn))。
比特位對(duì)齊:

水平側(cè)信道攻擊中,每個(gè)密鑰位相關(guān)的功耗曲線必須兩兩對(duì)齊,即模冪中每次循環(huán)造成的功耗曲線進(jìn)行對(duì)齊。模冪功耗曲線記作 T,它由一維向量(1 × L)表示。每次循環(huán)操作的時(shí)間長(zhǎng)度相等。以 Boscher 的從右到左算法為例,每個(gè)循環(huán)都由這兩個(gè)模乘操作組成。因此,功耗曲線 T 可以平均分為 s 個(gè)子跡𝑂1:𝑠,其中 s 為密鑰位的比特長(zhǎng)度。功耗曲線 T 可以表示為以下矩陣:

𝑂1:𝑠分別對(duì)應(yīng)各個(gè)密鑰位。𝑡𝑖,𝑗記為功耗曲線 T 的各個(gè)元素。

基于希爾伯特-黃變換模冪邊界檢測(cè)結(jié)果

由于時(shí)域上的不連續(xù)性導(dǎo)致頻域上的突變,通過分析瞬時(shí)頻率函數(shù)便能找出有效功耗的邊界位置。鑒于功耗曲線非平穩(wěn)非線性,以及希爾伯特-黃變換的局部特性,用希爾伯特-黃變換進(jìn)行了譜分析。經(jīng)驗(yàn)?zāi)B(tài)分解可根據(jù)自身信號(hào)自動(dòng)分解出由高頻到低頻排序的信號(hào)分量,且分解產(chǎn)生的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)兩兩正交。經(jīng)驗(yàn)?zāi)B(tài)函數(shù)分解有以下假設(shè):

1)信號(hào)具有至少兩個(gè)極值,分別是一個(gè)極大值和一個(gè)極小值。 2)時(shí)間的特征尺度是兩極值之間的時(shí)間長(zhǎng)度。 3)如果數(shù)據(jù)完全沒有極值,但僅包括突變點(diǎn),可以對(duì)信號(hào)進(jìn)行一次或者多次的差分來得到極值點(diǎn)。

記RSA 加密算法執(zhí)行的功耗曲線為𝑋(𝑡)。首先根據(jù)三次樣條插值,計(jì)算極大/極小值包絡(luò)線。𝑚1記為兩個(gè)包絡(luò)的均值,?1記為第一個(gè)分量,則:h1= X(t)- m1 (3-1)
該分解算法是一個(gè)篩選的過程,下一次分解中?1被定義為數(shù)據(jù),再進(jìn)行篩選。其中𝑚11是新數(shù)據(jù)的極值包絡(luò)均值。
h11=h1-m11 (3-2)
篩選過程將會(huì)重復(fù) k 次,直到?1𝑘是第一個(gè)滿足上述條件的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)。
h1k=h1(k-1)- m1k (3-3 )
𝑥1即為第 i 個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)。因此,𝑥1 = ?1𝑘 (3-4)
我們將𝑥1從原信號(hào)中分解,得出余量𝑟1。將𝑟1作為原信號(hào)重復(fù)上述操作。𝑟1 = 𝑋(𝑡) ? 𝑥1 (3-5)
直到余量序列𝑟𝑖為單調(diào)函數(shù)或者滿足下述條件:

最后,功耗曲線𝑋(𝑡)被分解成了有限多個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)和一個(gè)余量序列。該余量序列是一個(gè)趨勢(shì)項(xiàng),表明功耗曲線的趨勢(shì)。即:

其中,n 為功耗曲線分解為經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的個(gè)數(shù);𝑟𝑛為第 n 次分解后所得余量序列;𝑐𝑖為第 i 個(gè)經(jīng)驗(yàn)?zāi)J胶瘮?shù),且這些函數(shù)頻率由高到低依次減小。經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的分解,使得功耗曲線分解為有限個(gè)滿足希爾伯特變換的分量。每個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)中包含的頻帶各不相同。由于經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的時(shí)間尺度是兩個(gè)極值點(diǎn)之間的時(shí)間長(zhǎng)度。因此每個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的平均周期可以通過以下公式計(jì)算:𝑇 = t/𝑘 × 2 (3-8)
其中 t 被定義為功耗曲線的時(shí)間長(zhǎng)度。k 是極值點(diǎn)的個(gè)數(shù)。這里的極值點(diǎn)包括極大值和極小值。
由于經(jīng)驗(yàn)?zāi)B(tài)函數(shù)是基于數(shù)據(jù)自身的局部特征時(shí)間尺度,因此可以確定存在唯一的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)包含起始(結(jié)束)點(diǎn)特征。功率曲線應(yīng)該被切分為兩段來確定模冪操作功耗的開始點(diǎn)和終點(diǎn)。否則,起始段和結(jié)束段的時(shí)間尺度必須近似相等。這是因?yàn)榻?jīng)驗(yàn)?zāi)B(tài)函數(shù)是窄帶信號(hào),唯有時(shí)間尺度相似的信號(hào)才能被分解到同一個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)中。為了避免額外的限制條件,我們分別使用功耗曲線的前半段和后半段來檢測(cè)開始點(diǎn)和結(jié)束點(diǎn)。我們將兩段功耗曲線分別進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解。

選擇特殊分量的方法

當(dāng)功耗曲線被分解后,通過對(duì)時(shí)間尺度的估計(jì),可以找到包含開始點(diǎn)和結(jié)束點(diǎn)時(shí)間尺度的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)。將估計(jì)蒙哥馬利域與各個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的時(shí)間尺度做對(duì)比。各個(gè)符號(hào)在表 3-1 中給予說明。

為了保證加密的安全性,私鑰一般為長(zhǎng)整數(shù)(512bit 或 1024bit),因此滿足以下條件:
tstart ≤ 𝑡exp (3-9)
t𝑒nd ≤ 𝑡𝑒xp (3-10)
由于公鑰密碼體制中的參數(shù)個(gè)數(shù)總是大于 2,因此轉(zhuǎn)換至少需要 2 個(gè)域轉(zhuǎn)化。由此可得:
t𝑠tart > 𝑡𝑏it (3-11) t𝑒nd > 𝑡𝑏it (3-12)
其中𝑡bit ≈ 𝑡total/m (3-13)
𝑇find記為包含開始點(diǎn)的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的時(shí)間尺度。
𝑇find= tpart1/𝑘 = (tstart+texp)/𝑘 (3-14)
其中 k 為周期數(shù)。由于這個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的時(shí)間尺度近似于t𝑠tart,因此 k 的極小值為 2,并且隨著 m 的增加而增加。因此:k ≥ 2 (3-15)
綜上:𝑇𝑓ind = (t𝑠tart + t𝑒xp)/𝑘 ≥ 2t𝑠tart/𝑘 ≥ 2t𝑏it /𝑘 (3-16)
該式在k ≥ 2的條件下都滿足。因此:
𝑇𝑓ind ∈ (t𝑏it,𝑡𝑝art1/2] (3-17)

針對(duì)特殊分量的譜分析

通過分析得到特殊的經(jīng)驗(yàn)?zāi)B(tài)函數(shù),得到包含模冪的開始點(diǎn)和結(jié)束點(diǎn)特殊分量。分析該分量的瞬時(shí)頻率,可以得到各個(gè)時(shí)間的頻率變化。利用希爾伯特分解
可以得到調(diào)頻信息和調(diào)幅信息,從而得到瞬時(shí)頻率函數(shù)。
相較于傅里葉變換:

希爾伯特變換為:

利用標(biāo)準(zhǔn)化調(diào)幅調(diào)頻分解方式,該經(jīng)驗(yàn)?zāi)B(tài)函數(shù)可以被分解為純調(diào)幅信號(hào)和純調(diào)頻信號(hào)的乘積,瞬時(shí)頻率可以由純調(diào)頻信號(hào)求得。
求得經(jīng)驗(yàn)?zāi)B(tài)函數(shù)|𝑥(𝑡)|的所有極大值點(diǎn)(𝑡𝑘, 𝑥𝑘), 𝑘 = 1,2, … , 𝑀 ,為了抑制端點(diǎn)效應(yīng),在數(shù)據(jù)兩端延括出新的極值點(diǎn):

其中,𝑡為該單分量信號(hào)的時(shí)間長(zhǎng)度。通過包絡(luò)函數(shù)進(jìn)行信號(hào) x (t) 標(biāo)準(zhǔn)化,即x1(t)=x(t)/b11(t) (3-22)
采用三次樣條插值擬合|𝑥(𝑡)|所有極值點(diǎn)得到包絡(luò)函數(shù)𝑎11(𝑡)。
檢查𝑥1(𝑡)是否存在騎波,若存在,則將騎波關(guān)于極值點(diǎn)的連線進(jìn)行翻折,得到的數(shù)據(jù)仍然記為𝑥1(𝑡),如𝑥1(𝑡)不是純調(diào)頻信號(hào),重復(fù)上述步驟

檢測(cè)開始點(diǎn)

以開始點(diǎn)為例,采用前半段功耗曲線𝑡𝑝art1作為實(shí)驗(yàn)數(shù)據(jù)。

1)功耗曲線的經(jīng)驗(yàn)?zāi)B(tài)分解
𝑡𝑝art1通過經(jīng)驗(yàn)?zāi)B(tài)分解為有限個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)(窄帶信號(hào))。
2)分量的選擇
模冪內(nèi)各循環(huán)操作的時(shí)間長(zhǎng)度:t𝑏it = 𝑡𝑡otal /(1024×10) = 4936 (4-1)

通過查表,只有第 11 個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)滿足T ∈ (t𝑏it,𝑡𝑝art1/2] = (𝑇10, 𝑡𝑝art1/2 ] (4-2),即開始點(diǎn)。

3)對(duì)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)進(jìn)行譜分析
經(jīng)過希爾伯特變換,經(jīng)驗(yàn)?zāi)B(tài)函數(shù)被分解為振幅函數(shù)A(t)和頻率函數(shù)F(t),如圖 4-5 。圖 4-6 描述了振幅函數(shù),數(shù)據(jù)中時(shí)域的突變將導(dǎo)致頻率突變從而在頻率函數(shù)中形成尖刺。這是由于時(shí)域的不連續(xù)性。


4)邊界點(diǎn)的驗(yàn)證
通過將頻率函數(shù)進(jìn)行差分,可觀察到頻率突變點(diǎn)。如圖 4-7 。其中在數(shù)據(jù)段中最后一個(gè)突變點(diǎn)即為模冪結(jié)束點(diǎn)。之后的頻率突變間隔長(zhǎng)度,與模冪操作中每次循環(huán)操作的時(shí)間長(zhǎng)度大致一致。這些突變位置對(duì)應(yīng)于一個(gè)指數(shù)位的處理的片段邊界。

同樣的方法可在后半段功耗曲線的長(zhǎng)度找結(jié)束點(diǎn)。

在找開始/結(jié)束點(diǎn)過程中,出現(xiàn)了端點(diǎn)效應(yīng)(端點(diǎn)處的值不精確,發(fā)生“過沖”現(xiàn)象)。這是因?yàn)樵诮?jīng)驗(yàn)?zāi)B(tài)分解的過程中,以極值點(diǎn)為節(jié)點(diǎn)作樣條插值來構(gòu)造包絡(luò),無法確保數(shù)據(jù)序列左右兩端點(diǎn)恰為極值點(diǎn),所以在端點(diǎn)處插值的誤差較大。為了抑制端點(diǎn)效應(yīng)問題,我們使用了鏡像延括,使得信號(hào)內(nèi)部的極值點(diǎn)向外部鏡像延括合適長(zhǎng)度,以此來緩解端點(diǎn)值不準(zhǔn)確的問題。

過濾帶寬的選擇(降噪)

基于希爾伯特-黃變換的濾波策略,將每個(gè)子跡串聯(lián)預(yù)處理(本文只截取了前 56bit 的密鑰位𝑂1:56。):

  • 使用與功耗曲線𝑂1:56相同的數(shù)據(jù)量來構(gòu)造虛擬高斯白噪音。
  • 將其分解成多個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù),計(jì)算各經(jīng)驗(yàn)?zāi)B(tài)函數(shù)的平均周期。
  • 將其與𝑂1:56對(duì)應(yīng)進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)函數(shù)對(duì)比(平均周期大致相等,則為噪聲,本文噪聲為高頻分量),以此來確定需要過濾掉的頻率分量和帶寬。

如圖 4-13 ,從第 6 個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)開始,白噪聲和功耗曲線的平均周期開始出現(xiàn)較大差異。即從第 7 個(gè)經(jīng)驗(yàn)?zāi)B(tài)函數(shù)開始包含較多的有效信息。將第 7 個(gè)以后的經(jīng)驗(yàn)?zāi)B(tài)函數(shù)進(jìn)行累加,重構(gòu)出新曲線𝑂′1:56。

基于聚類的密鑰恢復(fù)

將處理后的數(shù)據(jù)根據(jù) k 均值(見下圖)進(jìn)行聚類分析,所得的兩類結(jié)果分別對(duì)應(yīng)密鑰位的 0,1。

接下來,應(yīng)用 k 均值算法將新曲線𝑂′1:56聚為兩類。這兩類分別對(duì)應(yīng)密鑰位二進(jìn)制表示中的 0 或者 1。我們使用貝葉斯概率來分析聚類結(jié)果。設(shè)聯(lián)合概率分布:
其中,μ 和 σ是每個(gè)集群的均值和標(biāo)準(zhǔn)差。根據(jù)聯(lián)合概率分布P(𝑂′1:56, μ𝑐)和先驗(yàn)概率中p(𝜇𝑐),可以計(jì)算后驗(yàn)概率𝑃𝑃(𝜇𝑐|𝑂′1:56)

通過貝葉斯公式,我們收到了后驗(yàn)概率𝑃𝑃(𝜇𝑐|𝑂𝑂′)。圖 4-14 顯示了對(duì)于每個(gè)功耗曲線𝑂1:56的概率值𝑃𝑃(𝜇1|𝑂′1:56)。當(dāng)概率值大約這個(gè)閾值時(shí),該密鑰位為 1。

實(shí)驗(yàn)在 56 個(gè)密鑰位中成功恢復(fù)了 55 個(gè)密鑰位,正確率達(dá) 98.2%。若攻擊者確定可能錯(cuò)誤的位置,使用暴力攻擊便可以恢復(fù)完整的正確指數(shù)。這些概率𝑃(𝜇1|𝑂′1:56)趨近于 0.5的點(diǎn),可以優(yōu)先考慮為錯(cuò)誤點(diǎn),從而增加暴力破解的效率。

表中列出近年來對(duì)公鑰密碼進(jìn)行攻擊的所用功耗曲線條數(shù)和密鑰恢復(fù)率,以此與本文進(jìn)行比較。

泄露分析及防護(hù)

泄露分析

算法 5采取了所有的盲化措施,但仍可從功耗曲線中找到信息泄露。基于特殊明文攻擊,步驟6如下:

私鑰位為 0 :R[1] = R[1] × 1 𝑚od 𝑛 = r?1 × 1 𝑚od 𝑛 (5-1) 私鑰位為 1 :R[0] = R[0] × 1 𝑚od 𝑛 = r × 1 𝑚od 𝑛 (5-2)

在長(zhǎng)整數(shù)模乘LIM(x, y).過程中,LIM(x, y).表示為:
其中,b = 2𝑡,t = 0, … , k ? 1.。這個(gè)過程可以用下列矩陣表示:

寄存器𝑧𝑖, 𝑖 = 0, … , 𝑘 ? 1存儲(chǔ)第 i 列的累計(jì)和。𝑧𝑖,𝑗即為第 j 次迭代后寄存器𝑧𝑖的結(jié)果。
很顯然,𝑧𝑖,𝑗依賴于操作數(shù)的值,但是操作數(shù)是由密鑰位決定的。這個(gè)𝑧𝑖,𝑗和 𝑧𝑖,𝑗?1的漢明重量差造成了主要的泄露。

防護(hù)方法

通過使相同密鑰位對(duì)應(yīng)模乘功耗產(chǎn)生差異來隱藏功耗泄露。即使兩個(gè)模乘操作數(shù)相同,但寄存器的值相互調(diào)換會(huì)導(dǎo)致不同的中間值結(jié)果。長(zhǎng)整數(shù)模乘LIM(x, y)將會(huì)改變?yōu)長(zhǎng)IM(y, x),其中:

寄存器中值的調(diào)換改變了漢明距離。LIM(x, y) 和 LIM(y, x)交替完成模乘操作。交替的順序?qū)⒂呻S機(jī)產(chǎn)生的隨機(jī)數(shù)來決定。這種防護(hù)減少了存儲(chǔ)數(shù)據(jù)和泄露的相關(guān)性,且無額外開銷。
同樣,選擇前56bit 密鑰位進(jìn)行防護(hù)實(shí)驗(yàn),用前 10 個(gè)密鑰位的貝葉斯概率來分析結(jié)果。圖 5-1為正確密鑰位(0000010011)2的攻擊結(jié)果,表明防護(hù)成功。

總結(jié)

以上是生活随笔為你收集整理的论文笔记:针对盲化的 RSA算法的水平聚类侧信道攻击的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。