A. 晶元解密過程
晶元解密過程涉及多步驟的技術操作。首先,侵入型攻擊的第一步是揭開晶元封裝,即「開蓋」或「DECAP」。通常有兩種方法:一是完全溶解晶元封裝,二是僅移除硅核上方的塑料封裝。第一種方法需要將晶元固定在測試夾具上,並利用綁定台進行操作。第二種方法則較為簡便,適合在家庭環境中完成。
揭開封裝後,需要使用小刀去除晶元上的塑料部分,用濃硝酸去除晶元周圍的環氧樹脂。加熱的濃硝酸可以溶解掉封裝層而不損害晶元及連線。這一過程需在乾燥環境下進行,因為水分可能會侵蝕已暴露的鋁線連接,導致解密失敗。
接下來,在超聲池中用丙酮清洗晶元,去除殘余硝酸,並進行浸泡處理。隨後,尋找保護熔絲的位置,並將其暴露在紫外光下。通常使用100倍放大倍數的顯微鏡,從編程電壓輸入腳的連線跟蹤進去,找到保護熔絲。如果沒有顯微鏡,可以採用簡單的方法,如將晶元的不同部分暴露到紫外光下並觀察結果。操作時需用不透明紙片覆蓋晶元,以保護程序存儲器不受紫外光影響。暴露保護熔絲5~10分鍾後,使用簡單的編程器讀取程序存儲器的內容。
對於採用防護層保護EEPROM單元的單片機,使用紫外光復位保護電路是不可行的。這時,通常使用微探針技術讀取存儲器內容。將晶元置於顯微鏡下,很容易找到從存儲器連到電路其他部分的數據匯流排。在編程模式下,通過將探針放置在數據線上,可以讀取所有所需數據。重啟讀過程,連接探針到另一數據線上,就能讀取程序和數據存儲器中的所有信息。
另一種可能的攻擊手段是利用顯微鏡和激光切割機等設備,尋找保護熔絲及其相關信號線。通過切斷從保護熔絲到其他電路的某根信號線(或切割整個加密電路),或連接1~3根金線(通常稱為FIB),可以禁止保護功能。這樣,使用簡單的編程器就能直接讀取程序存儲器的內容。
盡管大多數普通單片機都具備熔絲保護功能,但由於這些晶元並非專門設計用於製作安全產品,往往缺乏有效的防範措施,安全級別較低。加之單片機應用廣泛,銷售量大,廠商間頻繁委託加工與技術轉讓,導致大量技術資料外泄。因此,利用該類晶元的設計漏洞和廠商的測試介面,通過修改熔絲保護位等侵入型攻擊手段讀取單片機內部程序變得相對容易。
B. 計算機裡面什麼是遞歸
在數學和計算機科學中,當一類對象或方法可以由兩個屬性定義時,它們表現出遞歸行為:
簡單的基線條件---不使用遞歸產生答案的終止情況
一組規則將所有其他情形縮減到基線條件
例如,以下是某人祖先的遞歸定義:
某人的父母是他的祖先(基線條件)
某人祖先的祖先也是他的祖先(遞歸步驟)
斐波那契數列是遞歸的經典例子:
Fib(0) = 1 基線條件1;
Fib(1) = 1 基線條件2;
對所有整數n,n > 1時:Fib(n) = (Fib(n-1) + Fib(n-2))。
許多數學公理基於遞歸規則。例如,皮亞諾公理對自然數的形式定義可以描述為:0是自然數,每個自然數都有一個後繼數,它也是自然數。通過這種基線條件和遞歸規則,可以生成所有自然數的集合。
遞歸定義的數學對象包括函數、集合,尤其是分形。
遞歸還有多種開玩笑的「定義」。
非正式定義
俄羅斯娃娃或俄羅斯套娃是遞歸概念的一個物理藝術例子。
自1320年喬托的Stefaneschi三聯畫問世以來,遞歸就一直用於繪畫。它的中央面板包含紅衣主教Stefaneschi的跪像,舉著三聯畫本身作為祭品。
M.C. Eschers 印刷畫廊 (1956)描繪了一個扭曲的城市,其中包含一個遞歸包含圖片的畫廊,因此無限。