技術(shù)領(lǐng)域
發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可涉及密碼裝置。發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可涉及包括密碼裝置的存儲(chǔ)裝置。發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可涉及加密/解密方法。
背景技術(shù):
數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)可指應(yīng)用各個(gè)國家參與的美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)中的標(biāo)準(zhǔn)的塊加密協(xié)議。塊加密協(xié)議可包括3-DES、高級(jí)加密標(biāo)準(zhǔn)(AES)等??稍趬K加密協(xié)議中定義各種操作模式(例如,電子密碼本(ECB)、密碼塊鏈接(CBC)、輸出反饋(OFB)、密碼反饋(CFB)、XOR-加密-XOR(XEX)以及具有調(diào)整(tweak)和密碼電文竊取的XEX加密模式(XTS))。在數(shù)據(jù)網(wǎng)絡(luò)中,加密裝置可使用塊密碼和/或各種操作模式,在這些模式中,可使用塊密碼執(zhí)行加密以確保數(shù)據(jù)安全。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明構(gòu)思的一些示例實(shí)施例可提供新的密碼裝置。
發(fā)明構(gòu)思的一些示例實(shí)施例可提供具有新的密碼裝置的存儲(chǔ)裝置。
發(fā)明構(gòu)思的一些示例實(shí)施例可提供新的密碼裝置的加密方法。
發(fā)明構(gòu)思的一些示例實(shí)施例可提供新的密碼裝置的解密方法。
在一些示例實(shí)施例中,一種用于在具有至少一個(gè)密碼核的密碼裝置中進(jìn)行的數(shù)據(jù)的加密、解密、或者加密及解密的方法,可包括:生成與順序的塊數(shù)據(jù)中的位于隨機(jī)位置的塊數(shù)據(jù)對(duì)應(yīng)的調(diào)整值,其中,從所述隨機(jī)位置開始加密、解密、或者加密及解密;和/或使用調(diào)整值從塊數(shù)據(jù)執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,生成調(diào)整值的步驟可包括:執(zhí)行將本原元素與加密的初始調(diào)整值相乘的乘法運(yùn)算。
在一些示例實(shí)施例中,所述方法還可包括:通過對(duì)初始調(diào)整值進(jìn)行加密,生成加密的初始調(diào)整值。
在一些示例實(shí)施例中,對(duì)初始調(diào)整值進(jìn)行加密的步驟可包括:按對(duì)應(yīng)于隨機(jī)位置的序列號(hào),重復(fù)地更新乘法運(yùn)算。
在一些示例實(shí)施例中,更新乘法運(yùn)算所需的周期的數(shù)量可少于針對(duì)一個(gè)塊數(shù)據(jù)執(zhí)行加密、解密、或者加密及解密所需的周期的數(shù)量。
在一些示例實(shí)施例中,更新乘法運(yùn)算的步驟可包括:執(zhí)行異或(XOR)運(yùn)算、移位運(yùn)算、或者異或(XOR)運(yùn)算及移位運(yùn)算。
在一些示例實(shí)施例中,所述至少一個(gè)密碼核可包括多個(gè)密碼核??稍诙鄠€(gè)密碼核中的每個(gè)密碼核中,執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,執(zhí)行加密、解密、或者加密及解密的步驟可包括:在所述多個(gè)密碼核中的每個(gè)密碼核中針對(duì)順序的塊數(shù)據(jù),同時(shí)執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,執(zhí)行加密、解密、或者加密及解密的步驟可包括:在所述多個(gè)密碼核中的每個(gè)密碼核中順序接收?qǐng)?zhí)行加密、解密、或者加密及解密所需的調(diào)整值。
在一些示例實(shí)施例中,執(zhí)行加密、解密、或者加密及解密的步驟可包括:在所述多個(gè)密碼核中的每個(gè)密碼核中針對(duì)順序的塊數(shù)據(jù),順序執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,所述方法還可包括:從調(diào)整值順序生成在加密、解密、或者加密及解密中所需的額外的調(diào)整值;和/或存儲(chǔ)調(diào)整值和額外調(diào)整值。
在一些示例實(shí)施例中,一種用于在具有多個(gè)密碼核的密碼裝置中進(jìn)行的數(shù)據(jù)的加密方法,可包括:執(zhí)行用于對(duì)初始調(diào)整值進(jìn)行加密的初始操作;使用加密的初始調(diào)整值和本原元素執(zhí)行至少一個(gè)乘法運(yùn)算,以生成關(guān)于隨機(jī)塊數(shù)據(jù)的位置的調(diào)整值;和/或在所述多個(gè)密碼核中的每個(gè)密碼核中,使用調(diào)整值從隨機(jī)塊數(shù)據(jù)順序執(zhí)行數(shù)據(jù)加密操作。
在一些示例實(shí)施例中,所述方法還可包括:確定密碼裝置的操作模式是否是加速模式。
在一些示例實(shí)施例中,當(dāng)操作模式是加速模式時(shí),可在所述多個(gè)密碼核中,同時(shí)執(zhí)行數(shù)據(jù)加密操作。
在一些示例實(shí)施例中,當(dāng)操作模式是加速模式時(shí),可在所述多個(gè)密碼核中,順序執(zhí)行數(shù)據(jù)加密操作。
在一些示例實(shí)施例中,所述方法還可包括:從所述多個(gè)密碼核順序接收在數(shù)據(jù)加密操作中所需的調(diào)整值。
在一些示例實(shí)施例中,所述的方法還可包括:接收關(guān)于隨機(jī)塊數(shù)據(jù)的位置的信息。
在一些示例實(shí)施例中,所述方法還可包括:確定是否要繞過針對(duì)分區(qū)數(shù)據(jù)的加密操作。所述密碼裝置針對(duì)多個(gè)順序的分區(qū)數(shù)據(jù)執(zhí)行加密操作。所述多個(gè)順序的分區(qū)數(shù)據(jù)中的每個(gè)分區(qū)數(shù)據(jù)包括順序的塊數(shù)據(jù)。
在一些示例實(shí)施例中,確定是否要繞過所述加密操作的步驟可包括:決定在分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)中是否存在誤差。
在一些示例實(shí)施例中,所述方法還可包括:連續(xù)更新對(duì)應(yīng)于被繞過的塊數(shù)據(jù)的乘法運(yùn)算,以當(dāng)在加密操作中繞過分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)時(shí),計(jì)算下一個(gè)分區(qū)的調(diào)整值。
在一些示例實(shí)施例中,密碼裝置可包括:至少一個(gè)調(diào)整值生成器,被配置為從隨機(jī)位置的塊數(shù)據(jù),生成執(zhí)行數(shù)據(jù)加密操作所需的調(diào)整值;和/或多個(gè)密碼核,被配置為使用調(diào)整值順序?qū)K數(shù)據(jù)進(jìn)行加密、解密、或者加密及加密。
在一些示例實(shí)施例中,調(diào)整值生成器可包括多個(gè)調(diào)整值生成器,所述多個(gè)調(diào)整值生成器中的每個(gè)調(diào)整值生成器被配置為向所述多個(gè)密碼核中的每個(gè)密碼核提供調(diào)整值。
在一些示例實(shí)施例中,調(diào)整值生成器可被配置為順序向所述多個(gè)密碼核提供調(diào)整值。
在一些示例實(shí)施例中,密碼裝置還可包括:多個(gè)存儲(chǔ)單元,被配置為存儲(chǔ)調(diào)整值。
在一些示例實(shí)施例中,調(diào)整值可包括第一調(diào)整值和第二調(diào)整值。所述多個(gè)存儲(chǔ)單元可包括:第一存儲(chǔ)單元,被配置為順序存儲(chǔ)第一調(diào)整值;和/或第二存儲(chǔ)單元,被配置為順序存儲(chǔ)第二調(diào)整值。
在一些示例實(shí)施例中,一種存儲(chǔ)裝置可包括:至少一個(gè)非易失性存儲(chǔ)器裝置;和/或存儲(chǔ)器控制器,被配置為控制所述至少一個(gè)非易失性存儲(chǔ)器裝置。存儲(chǔ)器控制器可包括:誤差校正碼電路,被配置為檢測或校正關(guān)于順序的分區(qū)數(shù)據(jù)中的每個(gè)分區(qū)數(shù)據(jù)的誤差;和/或密碼電路,被配置為對(duì)分區(qū)數(shù)據(jù)進(jìn)行隨機(jī)加密、解密、或者加密及解密。
在一些示例實(shí)施例中,密碼電路可被配置為當(dāng)在分區(qū)數(shù)據(jù)中不存在誤差時(shí)針對(duì)所述分區(qū)數(shù)據(jù)順序執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,密碼電路可被配置為當(dāng)在分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)中存在誤差時(shí),在加密、解密、或者加密及解密中繞過所述分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)。
在一些示例實(shí)施例中,誤差校正碼電路可被配置為當(dāng)在分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)中存在誤差時(shí),校正關(guān)于所述分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)的誤差。密碼電路可被配置為針對(duì)校正后的分區(qū)數(shù)據(jù)執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,當(dāng)在所述分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)中存在誤差時(shí),可從外部裝置新輸入所述分區(qū)數(shù)據(jù)中的一個(gè)分區(qū)數(shù)據(jù)。密碼電路可被配置為針對(duì)新輸入的分區(qū)數(shù)據(jù),執(zhí)行加密、解密、或者加密及解密。
在一些示例實(shí)施例中,存儲(chǔ)裝置可包括固態(tài)驅(qū)動(dòng)器(SSD)。
在一些示例實(shí)施例中,一種用于塊數(shù)據(jù)的加密、解密、或加密和解密的方法,可包括:生成與隨機(jī)位置的塊數(shù)據(jù)對(duì)應(yīng)的調(diào)整值;和/或使用調(diào)整值執(zhí)行塊數(shù)據(jù)的加密、解密、或者加密及解密。
在一些示例實(shí)施例中,其中,生成調(diào)整值的步驟可包括:執(zhí)行將本原元素與加密的初始調(diào)整值相乘的乘法運(yùn)算。
在一些示例實(shí)施例中,所述方法還可包括:通過對(duì)初始調(diào)整值進(jìn)行加密,生成加密的初始調(diào)整值。
在一些示例實(shí)施例中,對(duì)初始調(diào)整值進(jìn)行加密的步驟可包括:按對(duì)應(yīng)于隨機(jī)位置的序列號(hào),更新乘法運(yùn)算。
在一些示例實(shí)施例中,更新乘法運(yùn)算所需的周期的數(shù)量可少于針對(duì)一個(gè)塊數(shù)據(jù)執(zhí)行加密、解密、或者加密及解密所需的周期的數(shù)量。
在一些示例實(shí)施例中,更新乘法運(yùn)算的步驟可包括:執(zhí)行異或(XOR)運(yùn)算、移位運(yùn)算或異或(XOR)運(yùn)算及移位運(yùn)算。
附圖說明
根據(jù)下面結(jié)合附圖對(duì)示例實(shí)施例進(jìn)行的詳細(xì)描述,以上和/或其他方面和優(yōu)點(diǎn)將變得更清楚并且更容易理解,在附圖中:
圖1是用于描述發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的框圖;
圖2是示出AES-XTS塊加密處理的框圖;
圖3是示出AES-XTS塊解密處理的框圖;
圖4是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作的框圖;
圖5是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖;
圖6是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖;
圖7是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖;
圖8是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖;
圖9是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖;
圖10是示出使用本原元素(primitive element)執(zhí)行乘法運(yùn)算的處理的框圖;
圖11是示出使用本原元素α執(zhí)行兩次乘法運(yùn)算的處理的框圖;
圖12是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的正常模式下的加密操作的框圖;
圖13是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的關(guān)于密碼裝置的加速模式下的加密操作的至少一個(gè)示例實(shí)施例的框圖;
圖14是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的關(guān)于密碼裝置的加速模式下的加密操作的至少一個(gè)示例實(shí)施例的框圖;
圖15是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的框圖;
圖16是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的框圖;
圖17是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的框圖;
圖18是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的框圖;
圖19是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的框圖;
圖20是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的加密/解密方法的流程圖;
圖21是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的存儲(chǔ)裝置的框圖;
圖22是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的存儲(chǔ)裝置的加密方法的流程圖;
圖23是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的電子裝置的框圖;
圖24是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的SSD的框圖;
圖25是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的移動(dòng)裝置的框圖。
具體實(shí)施方式
現(xiàn)在,將參照附圖更充分地描述示例實(shí)施例。然而,這些實(shí)施例可用許多不同形式來實(shí)施并且不應(yīng)該被理解為限于在此所闡述的實(shí)施例。相反地,提供這些示例實(shí)施例使得本公開將是徹底和完全的,并且這些示例實(shí)施例將把范圍充分地傳達(dá)給本領(lǐng)域的技術(shù)人員。在附圖中,為了清楚起見,可夸大層和區(qū)域的厚度。
應(yīng)該理解,當(dāng)元件被稱為“在”另一個(gè)組件“上”、“連接到”、“電連接到”、或“結(jié)合到”另一個(gè)組件時(shí),其可直接在其他組件上、直接連接到、直接電連接到、或直接結(jié)合到其他組件,或者可存在中間組件。相反,當(dāng)組件被稱為“直接在”另一個(gè)組件“上”、“直接連接到”、“直接電連接到”、或“直接結(jié)合到”另一個(gè)組件時(shí),不存在中間組件。如這里所使用的,術(shù)語“和/或”包括一個(gè)或多個(gè)相關(guān)所列項(xiàng)的任意組合和所有組合。
應(yīng)該理解,盡管在這里可使用術(shù)語“第一”、“第二”、“第三”等來描述各種元件、組件、區(qū)域、層和/或部分,但是這些元件、組件、區(qū)域、層和/或部分應(yīng)該不受這些術(shù)語的限制。這些術(shù)語只是用來將一個(gè)元件、組件、區(qū)域、層和/或部分與另一個(gè)元件、組件、區(qū)域、層和/或部分區(qū)分開來。例如,在不脫離示例性實(shí)施例的教導(dǎo)的情況下,第一元件、組件、區(qū)域、層和/或部分可被命名為第二元件、組件、區(qū)域、層和/或部分。
為了便于描述,這里可使用空間相對(duì)術(shù)語諸如“在…之下”、“在…下方”、“下面的”、“在…之上”、“上面的”等來描述在附圖中示出的一個(gè)組件和/或特征與另一個(gè)組件和/或特征或其他組件和/或特征的關(guān)系。將理解,空間相對(duì)術(shù)語意在包含除了在附圖中描繪的方位之外的使用或操作中裝置的不同方位。
這里使用的術(shù)語只是為了描述特定示例實(shí)施例的目的,而不意圖限制示例實(shí)施例。如這里所使用的,除非上下文另外明確指出,否則單數(shù)形式也意圖包括復(fù)數(shù)形式。還應(yīng)該理解,當(dāng)在本說明書中使用術(shù)語“包含”、“包括”和/或變型時(shí),說明存在所述特征、整體、步驟、操作、元件和/或組件,但不排除存在或附加一個(gè)或多個(gè)其他特征、整體、步驟、操作、元件、組件和/或其組。
除非另有定義,否則這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科技術(shù)語)具有與示例實(shí)施例所屬領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還將理解,除非這里明確如此定義,否則術(shù)語(諸如,在通用字典中定義的術(shù)語)應(yīng)該被解釋為具有與現(xiàn)有技術(shù)的背景中的含義一致的含義,而不應(yīng)被解釋為理想地或者過于正式的含義。
現(xiàn)在,將描述在附圖中示出的示例實(shí)施例,在附圖中相同的參考標(biāo)號(hào)可始終表示相同的組件。
圖1是用于描述發(fā)明構(gòu)思的范圍和精神的框圖。參照?qǐng)D1,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作可隨機(jī)地加密多個(gè)順序的塊數(shù)據(jù)P1至Pk(例如,k是2或更大的整數(shù))中的任何塊數(shù)據(jù)Pj(例如,j是1或更大的整數(shù))。也就是說,加密操作可從塊數(shù)據(jù)P1至Pk中的位于隨機(jī)位置的塊數(shù)據(jù)Pj開始。在圖1中,在從隨機(jī)位置的塊數(shù)據(jù)Pj順序執(zhí)行加密操作之后,可針對(duì)第一塊數(shù)據(jù)P1執(zhí)行加密操作。然而,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作不限于此。
同時(shí),在圖1中描述了加密操作。然而,發(fā)明構(gòu)思不限于此。本發(fā)明的至少一個(gè)示例實(shí)施例可類似地應(yīng)用于解密操作。
在至少一個(gè)示例實(shí)施例中,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作可應(yīng)用于各種類型的操作模式,在這些操作模式下,執(zhí)行按塊加密秘密信息所用的塊密碼。這里,操作模式可以是電子密碼本(ECB);密碼塊鏈接(CBC);密碼反饋(CFB);輸出反饋(OFB);計(jì)數(shù)器(CTR);Liskov、Rivest和Wagner(LRW)可調(diào)塊密碼;異或-加密-異或(XEX);具有調(diào)整(tweak)和密碼電文失竊的XEX加密模式(XTS);CBC掩碼CBC(CMC);ECB掩碼電子安全代理(ESB)(EME)等。為了方便進(jìn)行下面的描述,假設(shè)操作模式是XTS模式。
在通常XTS模式下,可執(zhí)行關(guān)于存儲(chǔ)在基于分區(qū)(sector)的裝置中的數(shù)據(jù)的加密/解密。因?yàn)榘捶謪^(qū)執(zhí)行加密/解密操作,因此可按分區(qū)使用新密鑰或調(diào)整(tweak)值來執(zhí)行加密/解密操作。這里,分區(qū)的大小可包括512字節(jié)、520字節(jié)、1千字節(jié)、4千字節(jié)等。因?yàn)楫?dāng)在XTS模式下執(zhí)行加密/解密時(shí)按分區(qū)執(zhí)行加密/解密,所以可難以加密和解密位于分區(qū)中的隨機(jī)位置的數(shù)據(jù)。
另一方面,發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可開始關(guān)于位于分區(qū)中的隨機(jī)位置的塊數(shù)據(jù)的加密/解密。因此,發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可減少關(guān)于加密/解密的時(shí)間并且可降低關(guān)于加密/解密時(shí)的功耗。
通常,存儲(chǔ)裝置可主要使用高級(jí)加密標(biāo)準(zhǔn)(AES)-XTS塊密碼。以下,簡要描述AES-XTS塊加密/解密。
圖2是示出AES-XTS塊加密處理的框圖。參照?qǐng)D2,塊加密處理如下。可針對(duì)作為純文本的塊數(shù)據(jù)P和調(diào)整值Tj執(zhí)行異或(XOR)運(yùn)算。這里,調(diào)整值Tj可以是通過將第一加密操作值與關(guān)于本原元素(primitive element)α的更新值αj相乘而得到的值。第一加密操作值可以是使用第二密鑰Key2加密初始調(diào)整值“i”的值,“j”可以是與多個(gè)塊數(shù)據(jù)中的塊數(shù)據(jù)P的位置信息對(duì)應(yīng)的序列號(hào)。這里,可通過AES算法執(zhí)行第一加密操作。第二加密操作值CC可以是使用第一密鑰Key1加密XOR運(yùn)算值PP的值。這里,可通過AES算法執(zhí)行第二加密操作??赏ㄟ^針對(duì)第二加密操作值CC和調(diào)整值Tj執(zhí)行XOR運(yùn)算,生成作為密碼電文的加密塊數(shù)據(jù)C。
在至少一個(gè)示例實(shí)施例中,可在一個(gè)密碼核中處理第一加密操作和第二加密操作。在至少一個(gè)示例實(shí)施例中,可在不同密碼核中處理第一加密操作和第二加密操作。
圖3是示出AES-XTS塊解密處理的框圖。參照?qǐng)D3,塊密碼處理如下??舍槍?duì)作為密碼電文的加密塊數(shù)據(jù)C和調(diào)整值Tj執(zhí)行XOR運(yùn)算。這里,調(diào)整值Tj可以是通過針對(duì)加密操作值和關(guān)于本原元素α的更新值αj執(zhí)行模乘法而得到的值。加密操作值可以是使用第二密鑰Key2加密初始調(diào)整值“i”的值,“j”可以是與加密塊數(shù)據(jù)C的位置信息對(duì)應(yīng)的序列號(hào)。解密操作值PP可以是使用第一密鑰Key1解密XOR運(yùn)算值CC的值。這里,可通過AES算法執(zhí)行解密操作??赏ㄟ^針對(duì)解密操作值PP和調(diào)整值Tj執(zhí)行XOR運(yùn)算,生成作為純文本的塊數(shù)據(jù)P。
圖4是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作的框圖。參照?qǐng)D4,在加密操作中,可通過加密1024順序的塊數(shù)據(jù)P1至P1024,生成1024個(gè)加密塊數(shù)據(jù)C1至C1024。這里,作為加密對(duì)象的塊數(shù)據(jù)的數(shù)量可以是(但不限于)1024個(gè)。
在至少一個(gè)示例實(shí)施例中,一個(gè)塊數(shù)據(jù)可以是16字節(jié)。然而,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的塊數(shù)據(jù)的大小不限于此。圖4中示出的分區(qū)數(shù)據(jù)可包括128個(gè)塊數(shù)據(jù)。在至少一個(gè)示例實(shí)施例中,分區(qū)數(shù)據(jù)的大小可以是2千字節(jié)。然而,發(fā)明構(gòu)思不限于所述分區(qū)數(shù)據(jù)。
如圖4中所示,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作可包括初始操作、乘法運(yùn)算和數(shù)據(jù)加密操作。
在初始操作中,可通過使用第二密鑰Key2和加密算法AES_Enc加密初始調(diào)整值“i”,生成加密調(diào)整值。在乘法運(yùn)算中,可通過將通過對(duì)應(yīng)于加密調(diào)整值的序列號(hào)“j”更新本原元素α的值與加密調(diào)整值相乘,生成調(diào)整值Tj。在數(shù)據(jù)加密操作中,可通過使用第一密鑰Key1、更新的調(diào)整值Tj和加密算法AES_Enc加密塊數(shù)據(jù)P1至P1024,分別生成加密塊數(shù)據(jù)C1至C1024。
在至少一個(gè)示例實(shí)施例中,數(shù)據(jù)加密操作可順序從塊數(shù)據(jù)P1至P1024之中的任一個(gè)塊數(shù)據(jù)的隨機(jī)位置開始。
在至少一個(gè)示例實(shí)施例中,數(shù)據(jù)加密操作可在多個(gè)密碼核中并行執(zhí)行。
同時(shí),在圖4中,發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例被示例為乘法運(yùn)算和數(shù)據(jù)加密操作被區(qū)分開,但發(fā)明構(gòu)思不限于此。因?yàn)樵诔朔ㄟ\(yùn)算中所需的周期的數(shù)量比數(shù)據(jù)加密操作中所需的周期的數(shù)量相對(duì)少得多,所以可在數(shù)據(jù)加密操作中包括乘法運(yùn)算。同時(shí),發(fā)明構(gòu)思不限于所述加密操作(例如,初始操作、乘法運(yùn)算和數(shù)據(jù)加密操作)。
以下,將描述在多個(gè)密碼核中并行執(zhí)行的加密操作。
圖5是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖。為了方便進(jìn)行下面的描述,在圖5中,假設(shè)使用8個(gè)密碼核。然而,發(fā)明構(gòu)思不限于所述加密操作中使用的密碼核的數(shù)量。此外,基于密碼核的時(shí)序可指的是圖5中示出的加密操作。因此,在圖5中可不示出關(guān)于在密碼核外部執(zhí)行的圖4中示出的乘法運(yùn)算的時(shí)序。在圖5中,假設(shè)在關(guān)于各塊的數(shù)據(jù)加密操作中包括乘法運(yùn)算。
參照?qǐng)D5,總密加密作時(shí)間t_crypo可包括初始操作時(shí)間t_int和數(shù)據(jù)加密操作時(shí)間t_enc。
在初始操作時(shí)間t_int,可執(zhí)行在XTS模式下所需的初始操作??墒褂贸跏颊{(diào)整值“i”和加密算法來生成加密調(diào)整值。
在數(shù)據(jù)加密操作時(shí)間t_enc,密碼核中的每個(gè)密碼核可接收關(guān)于對(duì)應(yīng)的塊數(shù)據(jù)的加密操作中所需的調(diào)整值并且可使用更新的調(diào)整值Tj和第一密鑰Key1從對(duì)應(yīng)的塊數(shù)據(jù)順序執(zhí)行數(shù)據(jù)保密操作。例如,第一密碼核可順序加密第1塊數(shù)據(jù)P1、第9塊數(shù)據(jù)P9、…、第1017塊數(shù)據(jù)P1017。剩余密碼核可類似地執(zhí)行數(shù)據(jù)加密操作。
在至少一個(gè)示例實(shí)施例中,可從分別對(duì)應(yīng)于密碼核的多個(gè)乘法器輸入調(diào)整值Tj。這里,乘法器中的每個(gè)乘法器可執(zhí)行圖4中示出的乘法運(yùn)算。在至少一個(gè)示例實(shí)施例中,可從分別對(duì)應(yīng)于密碼核的多個(gè)寄存器輸入調(diào)整值Tj。這里,可從一個(gè)乘法器生成分別存儲(chǔ)在寄存器中的調(diào)整值。這里,乘法器可執(zhí)行圖4中示出的乘法運(yùn)算。發(fā)明構(gòu)思不限于所述加密操作。
同時(shí),因?yàn)榧僭O(shè)在數(shù)據(jù)加密操作中所需的調(diào)整值(例如,Tj)被分別同時(shí)輸入到密碼核,所以可不示出調(diào)整值輸入時(shí)間。然而,發(fā)明構(gòu)思不限于此。在根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作中,調(diào)整值可被順序輸入密碼核。
圖6是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖。參照?qǐng)D6,在加密操作中,相比于圖5中示出的時(shí)序圖,可在密碼核中的每個(gè)密碼核中順序開始數(shù)據(jù)加密操作。原因會(huì)是,順序輸入對(duì)應(yīng)的更新的調(diào)整值。因此,如圖6中所示,相比于圖5中示出的時(shí)序圖,總加密操作時(shí)間t_crypto_1還可包括調(diào)整值輸入時(shí)間t_tweak_in。這里,調(diào)整值輸入時(shí)間t_tweak_in可以是調(diào)整值被順序輸入第二密碼核至第八密碼核的時(shí)間。同時(shí),發(fā)明構(gòu)思不限于圖6中示出的加密操作。
同時(shí),在密碼核中順序執(zhí)行數(shù)據(jù)加密操作的原因會(huì)是因?yàn)轫樞蜉斎胝{(diào)整值,其它原因會(huì)是因?yàn)轫樞蜉斎霐?shù)據(jù)。例如,因?yàn)?6字節(jié)的數(shù)據(jù)被順序輸入到各密碼核,所以在輸入數(shù)據(jù)的時(shí)間期間,可順序更新調(diào)整值。
同時(shí),在根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作中,數(shù)據(jù)加密操作可從隨機(jī)塊數(shù)據(jù)的位置開始。對(duì)應(yīng)于隨機(jī)塊數(shù)據(jù)的調(diào)整值Tj可被設(shè)置以在隨機(jī)塊數(shù)據(jù)的位置執(zhí)行數(shù)據(jù)加密操作。
圖7是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖。圖7的加密操作與圖5的加密操作的不同之處在于,加密操作從塊數(shù)據(jù)P897開始。這里,數(shù)據(jù)加密操作從其開始的塊數(shù)據(jù)P897可以是示例(但不限于塊數(shù)據(jù)P897)。
在通常的加密操作中,當(dāng)因?yàn)閿?shù)據(jù)塊被順序加密而出現(xiàn)關(guān)于塊數(shù)據(jù)的誤差時(shí),誤差可被校正,并且塊數(shù)據(jù)可被加密。因此,關(guān)于塊數(shù)據(jù)的誤差校正時(shí)間可被包括在加密操作時(shí)間中。然而,在根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作中,第一無誤差塊數(shù)據(jù)可被加密,同時(shí),可通過在隨機(jī)位置開始加密操作來校正關(guān)于塊數(shù)據(jù)的誤差。因此,誤差校正時(shí)間可被包括在總加密操作時(shí)間t_crypto_2中。由于以上描述,而從隨機(jī)位置的塊數(shù)據(jù)開始數(shù)據(jù)加密操作可被稱為“加密操作的加速模式”。
在圖7中,數(shù)據(jù)加密操作可從第897塊數(shù)據(jù)P897開始,以加速加密操作。因此,相比于圖5中示出的時(shí)序圖,總加密操作時(shí)間t_crypto_2還可包括生成對(duì)應(yīng)于第897塊數(shù)據(jù)P897的調(diào)整值(T897)的XTS模式加速時(shí)間t_tweak_acc。
圖8是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖。參照?qǐng)D8,在加密操作中,相比于圖7中示出的時(shí)序圖,數(shù)據(jù)加密操作可在多個(gè)密碼核中的每個(gè)中順序開始。因此,相比于圖7中示出的時(shí)序圖,總加密操作時(shí)間t_crypto_3還可包括調(diào)整值輸入時(shí)間t_tweak_in。
同時(shí),在圖5和圖8中,數(shù)據(jù)加密操作可在密碼核中的每個(gè)密碼核中同時(shí)或順序執(zhí)行。然而,發(fā)明構(gòu)思不限于所述加密操作。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例,數(shù)據(jù)加密操作可在密碼核中的每個(gè)密碼核中順序或同時(shí)執(zhí)行。
圖9是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的使用多個(gè)密碼核進(jìn)行的加密操作的時(shí)序圖。參照?qǐng)D9,加密操作可在密碼核中的每個(gè)密碼核中順序執(zhí)行。例如,第1塊數(shù)據(jù)P1至第128塊數(shù)據(jù)P128可在第一密碼核中順序加密。當(dāng)?shù)谝幻艽a核順序加密第1塊數(shù)據(jù)P1至第128塊數(shù)據(jù)P128時(shí),剩余的密碼核可執(zhí)行數(shù)據(jù)加密操作。
以下,將描述計(jì)算調(diào)整值所需的使用本原元素α進(jìn)行的乘法運(yùn)算(例如,更新操作)。
圖10是示出使用本原元素α執(zhí)行乘法運(yùn)算的處理的框圖。為了方便進(jìn)行下面的描述,假設(shè)如圖2中所述輸入乘法器的加密調(diào)整值是A[127:0],并且從乘法器輸出的加密調(diào)整值是Y1[127:0]。參照?qǐng)D10,可如下地通過移位運(yùn)算或XOR運(yùn)算來表達(dá)乘法運(yùn)算:
Y1[127]=A[126]^A[7],Y1[126:123]=A[125:122],Y1[122]=A[121]^A[7],Y1[121]=A[120]^A[7],Y1[120]=A[7],Y1[119:113]=A[118:112],Y1[112]=A[127],Y1[111:105]=A[110:104],Y1[104]=A[119],Y1[103:97]=A[102:96],Y1[96]=A[111],Y1[95:89]=A[94:88],Y1[88]=A[103],Y1[87:81]=A[86:80],Y1[80]=A[95],Y1[79:73]=A[78:72],Y1[72]=A[87],Y1[71:65]=A[70:64],Y1[64]=A[79],Y1[63:57]=A[62:56],Y1[56]=A[71],Y1[55:49]=A[54:48],Y1[48]=A[63],Y1[47:41]=A[46:40],Y1[40]=A[55],Y1[39:33]=A[38:32],Y1[32]=A[47],Y1[31:25]=A[30:24],Y1[24]=A[39],Y1[23:17]=A[22:16],Y1[16]=A[31],Y1[15:9]=A[14:8],Y1[8]=A[23],Y1[7:1]=A[6:0],Y1[0]=A[15]。這里,“^”可以是指示異或運(yùn)算的運(yùn)算符。
圖11是示出使用本原元素α執(zhí)行兩次乘法運(yùn)算的處理的框圖。參照?qǐng)D11,可如下地通過移位運(yùn)算或XOR運(yùn)算來表達(dá)兩次的乘法運(yùn)算:
Y2[127]=A[125]^A[6],Y2[126:124]=A[124:122],Y2[123]=A[121]^A[7],Y2[122]=A[120]^A[7]^A[6],Y2[121]=A[7]^A[6],Y2[120]=A[6],Y2[119:114]=A[117:112],Y2[113]=A[127],Y2[112]=A[126]^A[7],Y2[111:106]=A[109:104],Y2[105:104]=A[119:118],Y2[103:98]=A[101:96],Y2[97:96]=A[111:110],Y2[95:90]=A[93:88],Y2[89:88]=A[103:102],Y2[87:82]=A[85:80],Y2[81:80]=A[95:94],Y2[79:74]=A[77:72],Y2[73:72]=A[87:86],Y2[71:66]=A[69:64],Y2[65:64]=A[79:78],Y2[63:58]=A[61:56],Y2[57:56]=A[71:70],Y2[55:50]=A[53:48],Y2[49:48]=A[63:62],Y2[47:42]=A[45:40],Y2[41:40]=A[55:54],Y2[39:34]=A[37:32],Y2[33:32]=A[47:46],Y2[31:26]=A[29:24],Y2[25:24]=A[39:38],Y2[23:18]=A[21:16],Y2[17:16]=A[31:30],Y2[15:10]=A[13:8],Y2[9:8]=A[23:22],Y2[7:2]=A[5:0],Y2[1:0]=A[15:14]。
同時(shí),在圖10和圖11中描述通過執(zhí)行一次乘法運(yùn)算或者執(zhí)行兩次乘法運(yùn)算來計(jì)算調(diào)整值Y1和Y2的處理。類似地,可計(jì)算通過執(zhí)行n次乘法運(yùn)算來更新的調(diào)整值Tj(參照?qǐng)D2)。
圖12是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的正常模式下的加密操作的框圖。為了方便進(jìn)行下面的描述,在圖12中,假設(shè)四個(gè)順序的分區(qū)數(shù)據(jù)SEC1至SEC4被加密,密碼核按16字節(jié)執(zhí)行加密操作,并且執(zhí)行關(guān)于各塊數(shù)據(jù)的加密操作的時(shí)間是15個(gè)周期。在至少一個(gè)示例實(shí)施例中,分區(qū)數(shù)據(jù)SEC1至SEC4中的每個(gè)的大小可以是1千字節(jié)。然而,發(fā)明構(gòu)思不限于所述分區(qū)數(shù)據(jù)的大小。
參照?qǐng)D12,可通過執(zhí)行15個(gè)周期的乘法運(yùn)算,生成更新的調(diào)整值Tj(參照?qǐng)D2)。也就是說,在加密操作的正常模式下,可在密碼核中用15個(gè)周期順序更新調(diào)整值Tj。
在至少一個(gè)示例實(shí)施例中,為了執(zhí)行加密操作,可通過15個(gè)周期順序生成256個(gè)更新的調(diào)整值并且可將更新的調(diào)整值輸入到密碼核。在至少一個(gè)示例實(shí)施例中,為了執(zhí)行加密操作,可用期望數(shù)量的周期(可以是預(yù)定的或可以不是預(yù)定的)生成并且存儲(chǔ)256個(gè)更新的調(diào)整值,并且每當(dāng)需要加密操作時(shí),對(duì)應(yīng)的調(diào)整值可被輸入到密碼核。
在至少一個(gè)示例實(shí)施例中,在關(guān)于分區(qū)數(shù)據(jù)SEC1至SEC4中的每個(gè)分區(qū)數(shù)據(jù)的加密操作中,初始調(diào)整值“i”可以是不同的。在至少一個(gè)示例實(shí)施例中,在關(guān)于分區(qū)數(shù)據(jù)SEC1至SEC4中的每個(gè)分區(qū)數(shù)據(jù)的加密操作中,初始調(diào)整值“i”可以是彼此相同的。
圖13是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的關(guān)于密碼裝置的加速模式下的加密操作的至少一個(gè)示例實(shí)施例的框圖。為了方便進(jìn)行描述,在圖13中,假設(shè)數(shù)據(jù)加密操作從四個(gè)順序的分區(qū)數(shù)據(jù)SEC1至SEC4之中的第二分區(qū)數(shù)據(jù)SEC2中的第65塊數(shù)據(jù)P65開始,并且各分區(qū)數(shù)據(jù)包括64個(gè)塊數(shù)據(jù)。參照?qǐng)D13,在針對(duì)隨機(jī)塊數(shù)據(jù)(例如,P65)開始數(shù)據(jù)加密操作之前,可針對(duì)隨機(jī)塊數(shù)據(jù)P65執(zhí)行多次(例如,64次)乘法運(yùn)算??赏ㄟ^執(zhí)行多次乘法運(yùn)算來計(jì)算對(duì)應(yīng)于隨機(jī)塊數(shù)據(jù)P65的調(diào)整值(例如,T65)。也就是說,可更新通過執(zhí)行64次乘法運(yùn)算而得到的調(diào)整值。當(dāng)用一個(gè)周期執(zhí)行一個(gè)乘法運(yùn)算時(shí),可用64個(gè)周期計(jì)算調(diào)整值。然而,發(fā)明構(gòu)思不限于此。可用64個(gè)周期計(jì)算調(diào)整值(T65),但也可用一個(gè)周期計(jì)算調(diào)整值(T65)。因?yàn)橹耙阎氖峭ㄟ^執(zhí)行“n”次乘法運(yùn)算而得到的值,所以可計(jì)算每次更新的調(diào)整值(T65)。
在至少一個(gè)示例實(shí)施例中,乘法運(yùn)算中的每個(gè)乘法運(yùn)算中所需的周期的數(shù)量可比加密操作中所需的周期的數(shù)量(例如,15個(gè)周期)少得多。例如,可用一個(gè)周期執(zhí)行乘法運(yùn)算。這里,一個(gè)周期可以是密碼核中使用的一個(gè)時(shí)鐘周期。這里,可通過多個(gè)XOR運(yùn)算符來執(zhí)行乘法運(yùn)算。
圖14是用于描述根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的關(guān)于密碼裝置的加速模式下的加密操作的至少一個(gè)示例實(shí)施例的框圖。為了方便進(jìn)行描述,在圖14中描述關(guān)于包括四個(gè)順序的分區(qū)數(shù)據(jù)A、B、C和D的數(shù)據(jù)的加密操作。參照?qǐng)D14,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的加密操作可不加密而是繞過分區(qū)數(shù)據(jù)的一部分(例如,B)。即便在加密操作中繞過了第二分區(qū)數(shù)據(jù)B,調(diào)整值Tj(參照?qǐng)D2)也可被連續(xù)更新,以針對(duì)剩余分區(qū)數(shù)據(jù)C和D執(zhí)行正常加密操作。發(fā)明構(gòu)思不限于所述加密操作。
同時(shí),如圖14中所示,可通過分區(qū)數(shù)據(jù)隨機(jī)地執(zhí)行加密/解密操作。然而,發(fā)明構(gòu)思不限于此。要理解,可從分區(qū)數(shù)據(jù)中的隨機(jī)位置隨機(jī)地執(zhí)行加密/解密操作。
圖15是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置100的框圖。參照?qǐng)D15,密碼裝置100可包括密碼核110(例如,硬件、軟件)和調(diào)整值生成器120(例如,硬件、軟件)。
密碼核110可接收密鑰Key1和調(diào)整值Tj并且可使用密鑰Key1和調(diào)整值Tj來加密塊數(shù)據(jù)Pj,并且可生成加密塊數(shù)據(jù)Cj。這里,“j”可以是與塊加密操作相關(guān)的序列號(hào)。
調(diào)整值生成器120可生成在關(guān)于第j塊數(shù)據(jù)Pj的加密中所需的調(diào)整值Tj。在至少一個(gè)示例實(shí)施例中,調(diào)整值生成器120可實(shí)時(shí)生成調(diào)整值Tj并且可將調(diào)整值Tj輸出到密碼核110。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的調(diào)整值生成器120可生成調(diào)整值Tj,以在密碼核110中的從隨機(jī)塊數(shù)據(jù)(例如,Pj)開始數(shù)據(jù)加密操作。
同時(shí),圖15中示出的密碼裝置100可包括(但不限于)一個(gè)密碼核110。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置可包括多個(gè)密碼核。
圖16是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置200的框圖。參照?qǐng)D16,密碼裝置200可包括多個(gè)密碼核211至21N(例如,N是2或更大的整數(shù))(例如,硬件、軟件)和多個(gè)調(diào)整值生成器221至22N(例如,硬件、軟件)。
密碼核211至21N中的每個(gè)密碼核可接收密鑰Key1和調(diào)整值Tj至Tj+(N-1)中的對(duì)應(yīng)的一個(gè)調(diào)整值。密碼核211至21N可分別加密塊數(shù)據(jù)Pj至Pj+(N-1)并且可生成加密塊數(shù)據(jù)Cj至Cj+(N-1)。密碼核211至21N中的每個(gè)密碼核可被操作并實(shí)施為與圖15中示出的密碼核110相同。
調(diào)整值生成器221至22N可分別生成在加密操作中使用的調(diào)整值Tj至Tj+(N-1)。同時(shí),可分別從調(diào)整值生成器221至22N生成調(diào)整值Tj至Tj+(N-1),但不限于此。可從一個(gè)調(diào)整值生成器順序生成調(diào)整值。
圖17是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置300的框圖。參照?qǐng)D17,在密碼裝置300中,可使用一個(gè)調(diào)整值生成器320實(shí)現(xiàn)圖16中示出的密碼裝置200中的多個(gè)調(diào)整值生成器的功能。調(diào)整值生成器320可順序生成多個(gè)調(diào)整值Tj至Tj+(N-1)。同時(shí),根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置還可包括暫時(shí)存儲(chǔ)調(diào)整值Tj至Tj+(N-1)的存儲(chǔ)單元。
圖18是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置400的框圖。參照?qǐng)D18,密碼裝置400可包括多個(gè)密碼核411至41N和多個(gè)存儲(chǔ)單元431至43N。
存儲(chǔ)單元431至43N可分別存儲(chǔ)調(diào)整值Tj至Tj+(N-1)。這里,可從圖16中示出的調(diào)整值生成器221至22N或圖17中示出的調(diào)整值生成器320輸入調(diào)整值Tj至Tj+(N-1)。在至少一個(gè)示例實(shí)施例中,可使用寄存器實(shí)現(xiàn)存儲(chǔ)單元431至43N中的每個(gè)存儲(chǔ)單元。
同時(shí),圖18中的存儲(chǔ)單元431至43N可分別與密碼核411至41N區(qū)分開。然而,發(fā)明構(gòu)思不限于此。存儲(chǔ)單元431至43N可分別位于對(duì)應(yīng)的密碼核411至41N中。
同時(shí),圖18中的存儲(chǔ)單元431至43N可分別布置在密碼核411至41N中。然而,發(fā)明構(gòu)思不限于所述存儲(chǔ)單元。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置可包括與密碼核共享的存儲(chǔ)單元。
圖19是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置500的框圖。參照?qǐng)D19,密碼裝置500可包括多個(gè)密碼核511至51N以及第一存儲(chǔ)單元531和第二存儲(chǔ)單元532。
第一存儲(chǔ)單元531可順序存儲(chǔ)第一調(diào)整值Tj至Tj+2(N-1)。這里,可從圖16中示出的調(diào)整值生成器221至22N或圖17中示出的調(diào)整值生成器320(例如,硬件、軟件)輸入第一調(diào)整值Tj至Tj+2(N-1)。密碼核511至51N中的每個(gè)密碼核可從第一存儲(chǔ)單元531順序讀取在加密操作中所需的第一調(diào)整值Tj至Tj+2(N-1)。
第二存儲(chǔ)單元532可順序存儲(chǔ)第二調(diào)整值Tj+1至Tj+2(N-1)-1。這里,可從圖16中示出的調(diào)整值生成器221至22N或圖17中示出的調(diào)整值生成器320輸入第二調(diào)整值Tj+1至Tj+2(N-1)-1。密碼核511至51N中的每個(gè)密碼核可接收在加密操作期間所需的第二存儲(chǔ)單元532順序輸出的第二調(diào)整值Tj+1至Tj+2(N-1)-1中的對(duì)應(yīng)的一個(gè)第二調(diào)整值。
在至少一個(gè)示例實(shí)施例中,在塊數(shù)據(jù)被輸入到多個(gè)密碼核并且加密/解密操作開始的時(shí)間點(diǎn)以及在密碼核中的每個(gè)密碼核的最后循環(huán)的時(shí)間點(diǎn),可在存儲(chǔ)單元531和532中更新第一調(diào)整值和第二調(diào)整值。
然而,發(fā)明構(gòu)思不限于存儲(chǔ)單元531和532。
圖20是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的加密/解密方法的流程圖。參照?qǐng)D1至圖20,密碼裝置的加密/解密方法如下。
可確定操作模式是否是用于以高速執(zhí)行加密/解密操作的加速模式(S110)。當(dāng)操作模式是加速模式時(shí),可生成用于執(zhí)行初始加密/解密操作的對(duì)應(yīng)于塊數(shù)據(jù)的調(diào)整值(S120)??墒褂蒙傻恼{(diào)整值從塊數(shù)據(jù)執(zhí)行加密/解密操作(S130)。
根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置的加密/解密方法可實(shí)時(shí)生成用于執(zhí)行初始加密的調(diào)整值,從而相比于關(guān)于加密/解密的常用時(shí)間,減少關(guān)于加密/解密的時(shí)間。
同時(shí),根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置和加密/解密方法可應(yīng)用于存儲(chǔ)裝置。
圖21是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的存儲(chǔ)裝置1000的框圖。參照?qǐng)D21,存儲(chǔ)裝置1000可包括至少一個(gè)非易失性存儲(chǔ)器(NVM)1100和用于控制至少一個(gè)非易失性存儲(chǔ)器1100的存儲(chǔ)器控制器1200。
至少一個(gè)非易失性存儲(chǔ)器1100可以是與非(NAND)閃存存儲(chǔ)器、垂直NAND閃存存儲(chǔ)器(VNAND)、NOR閃存存儲(chǔ)器、電阻型隨機(jī)存取存儲(chǔ)器(RRAM)、相變存儲(chǔ)器(PRAM)、磁阻型隨機(jī)存取存儲(chǔ)器(MRAM)、鐵電隨機(jī)存取存儲(chǔ)器(FRAM)、自旋轉(zhuǎn)移力矩隨機(jī)存取存儲(chǔ)器(STT-RAM)等。此外,非易失性存儲(chǔ)器可被實(shí)現(xiàn)為具有三維陣列結(jié)構(gòu)。
在發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例中,三維(3D)存儲(chǔ)器陣列單片形成在具有設(shè)置在硅基板上方的有源區(qū)的存儲(chǔ)器單元的陣列和與這些存儲(chǔ)器單元的操作關(guān)聯(lián)的電路的一個(gè)或多個(gè)物理級(jí),無論這樣的關(guān)聯(lián)的電路是在此基板上方還是在此基板內(nèi)。與存儲(chǔ)器單元的操作相關(guān)的電路可位于基板內(nèi)或基板上。術(shù)語“單片”意指陣列的各級(jí)的層直接沉積在陣列的各下級(jí)的層上。
在發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例中,3D存儲(chǔ)器陣列包括被垂直定位使得至少一個(gè)存儲(chǔ)器單元位于另一個(gè)存儲(chǔ)器單元上方的垂直NAND串。至少一個(gè)存儲(chǔ)器單元可包括電荷捕獲層。垂直NAND串中的每個(gè)可包括位于存儲(chǔ)器單元上的至少一個(gè)選擇晶體管。至少一個(gè)選擇晶體管可具有與存儲(chǔ)器單元相同的結(jié)構(gòu),并且與存儲(chǔ)器單元一起被單片地形成。
通過引用包含于此的以下專利文獻(xiàn)描述了三星電子公司應(yīng)用的三維存儲(chǔ)器陣列的合適構(gòu)造,其中,三維存儲(chǔ)器陣列被構(gòu)造為多個(gè)級(jí),并且各級(jí)之間具有共享字線和/或位線:美國專利第7,679,133號(hào)、第8,553,466號(hào)、第8,654,587號(hào)和第8,559,235號(hào)和美國專利公開第2011/0233648號(hào)。根據(jù)發(fā)明構(gòu)思的實(shí)施例的非易失性存儲(chǔ)器可適用于使用絕緣層作為電荷存儲(chǔ)層的電荷捕獲閃存(CTF)以及使用導(dǎo)電懸浮柵作為電荷存儲(chǔ)層的閃存存儲(chǔ)器裝置。
如圖21中所示,至少一個(gè)非易失性存儲(chǔ)器1100可存儲(chǔ)加密文件(例如,包括ESEC1和ESEC2)。這里,加密文件可以是輸入文件(例如,包括SEC1和SEC2)被加密的數(shù)據(jù)。在圖21中,為了方便進(jìn)行下面的描述,假設(shè)文件包括兩個(gè)分區(qū)SEC1和SEC2。然而,發(fā)明構(gòu)思不限于所述文件的配置。此外,分區(qū)SEC1和SEC2中的每個(gè)分區(qū)可包括用于加密/解密操作的多個(gè)塊數(shù)據(jù)。
存儲(chǔ)器控制器1200可包括誤差校正碼(ECC)電路1220(例如,硬件、軟件)和密碼電路1240(例如,硬件、軟件)。ECC電路1220可檢測是否存在關(guān)于從外部裝置順序輸入的各分區(qū)的誤差和/或可校正誤差??蛇x地,ECC電路1220可檢測是否存在關(guān)于從至少一個(gè)非易失性存儲(chǔ)器1100輸入的各加密分區(qū)ESEC1和ESEC2的誤差和/或可校正誤差。
密碼電路1240可對(duì)文件進(jìn)行加密或者可對(duì)加密文件進(jìn)行解密??墒褂脠D1至圖20中描述的密碼裝置或加密/解密方法來實(shí)現(xiàn)密碼電路1240。密碼電路1240可從隨機(jī)分區(qū)開始加密/解密操作,而不管分區(qū)的輸入次序如何。因此,密碼電路1240中執(zhí)行的關(guān)于分區(qū)的加密/解密操作可以是如下四種情況。
i)當(dāng)不需要校正關(guān)于第一分區(qū)SEC1/ESEC1和第二分區(qū)SEC2/ESEC2的誤差時(shí),可針對(duì)第一分區(qū)SEC1/ESEC1執(zhí)行加密/解密,并且可針對(duì)第二分區(qū)SEC2/ESEC2執(zhí)行加密/解密。
ii)當(dāng)需要校正關(guān)于第二分區(qū)SEC2/ESEC2的誤差時(shí),可針對(duì)第一分區(qū)SEC1/ESEC1執(zhí)行加密/解密,可校正關(guān)于第二分區(qū)SEC2/ESEC2的誤差,并且可針對(duì)校正后的第二分區(qū)SEC2/ESEC2執(zhí)行加密/解密。
iii)當(dāng)需要校正關(guān)于第一分區(qū)SEC1/ESEC1的誤差時(shí),可針對(duì)第二分區(qū)SEC2/ESEC2執(zhí)行加密/解密,可校正關(guān)于第一分區(qū)SEC1/ESEC1的誤差,并且可針對(duì)校正后的第一分區(qū)SEC1/ESEC1執(zhí)行加密/解密。
iv)當(dāng)需要校正關(guān)于第一分區(qū)SEC1/ESEC1和第二分區(qū)SEC2/ESEC2二者的誤差時(shí),可校正關(guān)于第一分區(qū)SEC1/ESEC1和第二分區(qū)SEC2/ESEC2的誤差,可針對(duì)校正后的第一分區(qū)SEC1/ESEC1執(zhí)行加密/解密,并且可針對(duì)校正后的第二分區(qū)SEC2/ESEC2執(zhí)行加密/解密。
如上所述,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼電路1240可從隨機(jī)分區(qū)起執(zhí)行加密/解密,而不管輸入的分區(qū)數(shù)據(jù)的次序如何。然而,發(fā)明構(gòu)思不限于所述存儲(chǔ)裝置1000。在圖21中,執(zhí)行關(guān)于需要進(jìn)行誤差校正的分區(qū)數(shù)據(jù)的誤差校正操作。然而,發(fā)明構(gòu)思不限于此。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的存儲(chǔ)裝置可確定是否需要進(jìn)行誤差校正,并且可再次向外部裝置請(qǐng)求需要進(jìn)行誤差校正的分區(qū)數(shù)據(jù)。
圖22是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的存儲(chǔ)裝置的加密方法的流程圖。參照?qǐng)D21和圖22,存儲(chǔ)裝置1000的加密方法如下。
可從外部裝置向存儲(chǔ)裝置1000順序輸入多個(gè)分區(qū)數(shù)據(jù)(例如,SEC1和SEC2)(S210)。分區(qū)數(shù)據(jù)可被隨機(jī)加密(S220)。
同時(shí),分區(qū)數(shù)據(jù)SEC1和SEC2中的每個(gè)分區(qū)數(shù)據(jù)可在隨機(jī)位置隨機(jī)開始加密操作。
圖23是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的電子裝置2000的框圖。參照?qǐng)D23,電子裝置2000可包括至少一個(gè)處理器2100、緩沖存儲(chǔ)器2200、代碼存儲(chǔ)器2300、密碼處理電路2500、非易失性存儲(chǔ)器接口(NVM I/F)2600、非易失性存儲(chǔ)器裝置2700和主機(jī)接口2800。電子裝置2000可以是下面裝置中的一個(gè)或者其中兩個(gè)或更多個(gè)的組合:數(shù)據(jù)存儲(chǔ)介質(zhì)(例如,固態(tài)驅(qū)動(dòng)器(SSD))、記憶棒、通用閃存儲(chǔ)器(UFS)裝置)、存儲(chǔ)卡(例如,安全數(shù)字(SD)、多媒體卡(MMC)、嵌入式MMC(eMMC)等)、智能卡、移動(dòng)裝置(例如,智能電話和GalaxyTM系列)、智能電話、平板個(gè)人計(jì)算機(jī)(PC)、移動(dòng)電話、視頻電話、電子書閱讀器、臺(tái)式PC、膝上型PC、網(wǎng)本計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、便攜式多媒體播放器(PMP)、MP3播放器、移動(dòng)醫(yī)療裝置、電子手鐲、電子項(xiàng)鏈、電子配飾、相機(jī)、可穿戴裝置、電子時(shí)鐘、腕表、家電用器(例如,冰箱、空調(diào)、真空吸塵器、烤箱、微波爐、洗衣機(jī)、空氣過濾器等)、人工智能機(jī)器人、電視(TV)、數(shù)字視頻盤(DVD)播放器、音頻系統(tǒng)、各種類型的醫(yī)療裝置(例如,磁共振血管造影(MRA)相機(jī)、磁共振成像(MRI)相機(jī)、計(jì)算機(jī)斷層掃描(CT)相機(jī)、超聲器等)、導(dǎo)航裝置、全球定位系統(tǒng)(GPS)接收器、事件數(shù)據(jù)記錄器(EDR)、飛行數(shù)據(jù)記錄器(FDR)、機(jī)頂盒、TV盒(例如,Samsung HomeSyncTM、Apple TVTM、和Google TVTM)、電子字典、汽車信息娛樂裝置、船舶電子設(shè)備(例如,船舶導(dǎo)航系統(tǒng)、旋轉(zhuǎn)羅盤等)、航空電子系統(tǒng)、安全裝置、電子衣物、電子鑰匙、攝像機(jī)、游戲控制臺(tái)、頭戴式顯示器(HMD)、平板顯示裝置、電子相框、電子相冊(cè)、包括通信功能的建筑物或結(jié)構(gòu)的部分或家具、電子板、電子簽名接收裝置或投影儀。
至少一個(gè)處理器2100可被實(shí)現(xiàn)為控制關(guān)于電子裝置2000的整體操作。這里,至少一個(gè)處理器2100可以是中央處理單元、應(yīng)用處理器、圖形處理器等。在至少一個(gè)示例實(shí)施例中,至少一個(gè)處理器2100可包括安全處理器或安全元件(SE)等。例如,至少一個(gè)處理器2100可具有防篡改功能,從而保護(hù)其免受篡改攻擊(諸如,微探測、軟件攻擊、偷聽、產(chǎn)生故障等)。
緩沖器存儲(chǔ)器2200可根據(jù)至少一個(gè)處理器2100的控制進(jìn)行操作。例如,緩沖器存儲(chǔ)器220可暫時(shí)存儲(chǔ)被至少一個(gè)處理器2100處理的數(shù)據(jù),或者可緩沖被發(fā)送到非易失性存儲(chǔ)器裝置2700的數(shù)據(jù)或從非易失性存儲(chǔ)器裝置2700讀取的數(shù)據(jù)。在至少一個(gè)示例實(shí)施例中,緩沖器存儲(chǔ)器220可以是隨機(jī)存取存儲(chǔ)器(RAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和相變隨機(jī)存取存儲(chǔ)器(PRAM)。
代碼存儲(chǔ)器2300可被實(shí)現(xiàn)為存儲(chǔ)用于管理或操作電子裝置2000的代碼和/或應(yīng)用。在至少一個(gè)示例實(shí)施例中,代碼存儲(chǔ)器2300可以是只讀存儲(chǔ)器(ROM)或PRAM。
密碼處理電路2500可被實(shí)現(xiàn)為針對(duì)輸入/輸出數(shù)據(jù)執(zhí)行加密/解密操作。如圖1至圖22中所述,密碼處理電路2500可被實(shí)現(xiàn)為當(dāng)執(zhí)行加密/解密操作時(shí)在正常模式和加速模式中的一種下執(zhí)行。在正常模式下,可針對(duì)塊數(shù)據(jù)順序執(zhí)行加密/解密,并且在加速模式下,可針對(duì)塊數(shù)據(jù)隨機(jī)執(zhí)行加密/解密操作。同時(shí),圖23中示出的密碼處理電路2500可存在于至少一個(gè)處理器2100外部,但不限于此。密碼處理電路2500可被實(shí)現(xiàn)為存在于至少一個(gè)處理器2100中。
可通過非易失性存儲(chǔ)器接口2600執(zhí)行與非易失性存儲(chǔ)器裝置2700的數(shù)據(jù)交換。主機(jī)接口2800可通過并行高級(jí)技術(shù)附件(PATA)總線、串行高級(jí)技術(shù)附件(SATA)總線、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、通用串行總線(USB)、外圍組件互連快速(PCIe)、SD、串行連接SCSI(SAS)、UFS、eMMC、MMC、NAND接口等連接到外部主機(jī)。
盡管在圖23中未示出,但電子裝置2000還可包括誤差校正碼(ECC)電路(例如,硬件、軟件)。ECC電路可生成用于校正從非易失性存儲(chǔ)器裝置2700接收的數(shù)據(jù)的失效位或誤差位的ECC并且可通過針對(duì)提供到非易失性存儲(chǔ)器裝置2700的數(shù)據(jù)執(zhí)行誤差校正編碼來生成具有校驗(yàn)位的數(shù)據(jù)。校驗(yàn)位可被存儲(chǔ)在非易失性存儲(chǔ)器裝置2700中。此外,ECC電路可針對(duì)從非易失性存儲(chǔ)器裝置2700輸出的數(shù)據(jù)執(zhí)行誤差校正解碼。ECC電路可使用校驗(yàn)位來校正誤差。ECC電路可使用編碼調(diào)制(諸如,低密度奇偶檢驗(yàn)(LDPC)碼;Bose、Chaudhuri、Hocquenghem(BCH)碼、turbo碼、Reed-Solomon碼、卷積碼、遞歸系統(tǒng)碼(RSC)、網(wǎng)格編碼調(diào)制(TCM)、塊編碼調(diào)制(BCM)等)來校正誤差。
盡管未示出,但電子裝置2000可安裝無線通信功能(例如,WiFi)。同時(shí),電子裝置2000還可包括圖23中未示出的組件,或者可不包括圖23中示出的組件中的至少一個(gè)(除了密碼處理電路之外)。
發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可應(yīng)用于SSD。
圖24是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的SSD的框圖。參照?qǐng)D24,SSD 3000可包括多個(gè)非易失性存儲(chǔ)器裝置3100和SSD控制器3200。
非易失性存儲(chǔ)器裝置3100可被實(shí)現(xiàn)為可選地接收外部高電壓Vppx。非易失性存儲(chǔ)器裝置3100可包括分別與多個(gè)通道CH1至CHi(例如,“i”是2或更大的整數(shù))連接的多個(gè)非易失性存儲(chǔ)器封裝NVM PCKG。
SSD控制器3200可分別通過通道CH1至Chi連接到非易失性存儲(chǔ)器裝置3100。SSD控制器3200可包括至少一個(gè)處理器3210、緩沖器存儲(chǔ)器3220、密碼處理器3225、誤差校正碼(ECC)電路3230(例如,硬件、軟件)、主機(jī)接口3250和非易失性存儲(chǔ)器接口3260。
緩沖器存儲(chǔ)器3220可暫時(shí)存儲(chǔ)在SSD控制器3200的操作中使用的數(shù)據(jù)。緩沖器存儲(chǔ)器3220可包括用于存儲(chǔ)數(shù)據(jù)或命令的多個(gè)存儲(chǔ)器線。這里,可使用各種方法將存儲(chǔ)器線映射到高速緩存線。在圖24中,緩沖器存儲(chǔ)器可布置在SSD控制器3200中,但不限于此。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的緩沖器存儲(chǔ)器可作為單獨(dú)的知識(shí)產(chǎn)權(quán)(IP)位于SSD控制器3200外部。
密碼處理器3225可使用圖15至圖19中示出的密碼裝置100至500中的一個(gè)密碼裝置來實(shí)現(xiàn)或者可使用圖1至圖22中描述的加密/解密操作來實(shí)現(xiàn)。
ECC電路3230可計(jì)算關(guān)于將在寫操作中被編程的數(shù)據(jù)的誤差校正碼的值,或者可基于糾錯(cuò)碼的值來校正在讀操作中讀取的數(shù)據(jù),并且可校正關(guān)于在數(shù)據(jù)恢復(fù)操作中從非易失性存儲(chǔ)器裝置3100恢復(fù)的數(shù)據(jù)的誤差。例如,ECC電路3230可按分區(qū)檢測并且校正誤差。然而,發(fā)明構(gòu)思不限于所述誤差校正單元。
ECC電路3230可生成從非易失性存儲(chǔ)器裝置3100接收的數(shù)據(jù)中的無效位或用于校正誤差位的誤差校正碼。ECC電路3230可針對(duì)提供到非易失性存儲(chǔ)器裝置3100的數(shù)據(jù)執(zhí)行誤差校正編碼并且可生成被添加校驗(yàn)位的數(shù)據(jù)。校驗(yàn)位可被存儲(chǔ)在非易失性存儲(chǔ)器裝置3100中。此外,ECC電路3230可針對(duì)從非易失性存儲(chǔ)器裝置3100輸出的數(shù)據(jù)執(zhí)行誤差校正解碼。ECC電路3230可使用校驗(yàn)位來校正誤差。盡管未示出,但還可包括代碼存儲(chǔ)器,代碼存儲(chǔ)器用于存儲(chǔ)操作SSD控制器3200所需的代碼數(shù)據(jù)??捎梅且资源鎯?chǔ)器裝置來實(shí)現(xiàn)代碼存儲(chǔ)器。
主機(jī)接口3250可提供用于與外部裝置接口互聯(lián)的接口功能。主機(jī)接口3250可通過PATA總線、SATA總線、SCSI、USB、PCIe、SD、SAS、UFS、eMMC、MMC、NAND接口等連接到外部主機(jī)。非易失性存儲(chǔ)器接口3260可提供與非易失性存儲(chǔ)器裝置3100的接口互聯(lián)。盡管未示出,但SSD控制器3200可安裝無線通信功能(例如,WiFi)。
根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的SSD 3000可在加速模式下開始以在隨機(jī)位置執(zhí)行加密操作。
圖25是示出根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的移動(dòng)裝置4000的框圖。參照?qǐng)D25,移動(dòng)裝置4000可包括安全元件4020、處理器4100、緩沖器存儲(chǔ)器4200、顯示/觸摸模塊4300和存儲(chǔ)裝置4400。
安全元件4020可被實(shí)現(xiàn)為提供移動(dòng)裝置4000的整體安全功能。安全元件4020可用軟件和/或防篡改硬件來實(shí)現(xiàn),可許可高安全級(jí)別,并且可與處理器4100的可信執(zhí)行環(huán)境(TEE)一起工作。安全元件4020可包括:原生操作系統(tǒng)(OS);安全存儲(chǔ)裝置,其是內(nèi)部數(shù)據(jù)存儲(chǔ)單元;訪問控制塊,其控制對(duì)安全元件4020的訪問權(quán)限;安全功能塊,其用于執(zhí)行所有權(quán)管理、密鑰管理、數(shù)字簽名、加密/解密等;以及固件更新塊,其用于更新安全元件4020的固件。例如,安全元件4020可以是通用IC卡(UICC)(例如,通用用戶身份模塊(USIM)、碼分多址(CDMA)用戶身份模塊(CSIM)和IP多媒體用戶身份模塊(ISIM))、用戶身份模塊(SIM)卡、嵌入式安全元件(eSE)、微SD、便簽等。
此外,根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的安全元件4020可包括密碼電路4022(例如,硬件、軟件)。這里,密碼電路可使用圖15至圖19中示出的密碼裝置100至500中的一個(gè)來實(shí)現(xiàn)或者可使用圖1至圖22中描述的加密/解密操作來實(shí)現(xiàn)。在圖25中,密碼電路4022可被示出為存在于處理器4100外部。然而,發(fā)明構(gòu)思可不限于所述密碼電路4022的位置。根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼電路4022可存在于處理器4100中。
處理器4100可被實(shí)現(xiàn)為控制移動(dòng)裝置4000的整體操作和與外部裝置的有線/無線通信。例如,處理器4100可以是應(yīng)用處理器(AP)、集成調(diào)制解調(diào)器應(yīng)用處理器(下文中,被稱為“ModAP”)等。
緩沖存儲(chǔ)器4200可被實(shí)現(xiàn)為暫時(shí)存儲(chǔ)在移動(dòng)裝置4000操作時(shí)所需的數(shù)據(jù)。顯示/觸摸模塊4300可被實(shí)現(xiàn)為顯示被處理器4100處理的數(shù)據(jù)或者從觸摸面板接收數(shù)據(jù)。存儲(chǔ)裝置4400可被實(shí)現(xiàn)為存儲(chǔ)用戶的數(shù)據(jù)。存儲(chǔ)裝置4400可以是eMMC、SSD、UFS等。
根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置使得可以在XTS模式下按塊隨機(jī)訪問塊數(shù)據(jù)并且并行處理塊數(shù)據(jù)??赏ㄟ^在XTS模式下的特定長度之后立即計(jì)算調(diào)整值,來迅速地執(zhí)行加密/解密操作??舍槍?duì)對(duì)應(yīng)于隨機(jī)位置的塊數(shù)據(jù),立即執(zhí)行加密/解密操作。在至少一個(gè)示例實(shí)施例中,可在XTS模式下的特定長度之后用一個(gè)時(shí)鐘周期來更新調(diào)整值。在至少一個(gè)示例實(shí)施例中,即使在加密/解密操作中繞過了塊數(shù)據(jù),可也連續(xù)更新對(duì)應(yīng)的調(diào)整值。
根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例的密碼裝置可選擇處于隨機(jī)位置的塊數(shù)據(jù)并且可加密所選擇的塊數(shù)據(jù)。
在至少一個(gè)示例實(shí)施例中,可在塊數(shù)據(jù)被輸入到多個(gè)密碼核并且開始加密/解密操作的時(shí)間點(diǎn)和在執(zhí)行密碼核中的每個(gè)密碼核的最后循環(huán)的時(shí)間點(diǎn),更新調(diào)整值。
在至少一個(gè)示例實(shí)施例中,包括多個(gè)密碼核的密碼裝置可使用對(duì)應(yīng)于乘法運(yùn)算值的位置來執(zhí)行乘法運(yùn)算,所述乘法運(yùn)算值的數(shù)量少于密碼核的數(shù)量。
根據(jù)發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例,密碼裝置、具有密碼裝置的存儲(chǔ)裝置及密碼裝置的加密/解密方法可立即加密/解密分區(qū)中的位于隨機(jī)位置的塊數(shù)據(jù)。因此,發(fā)明構(gòu)思的至少一個(gè)示例實(shí)施例可減少關(guān)于加密/解密的時(shí)間并且可因加密/解密時(shí)間減少而降低功耗。
此外,密碼裝置、具有密碼裝置的存儲(chǔ)裝置及密碼裝置的加密/解密方法相比于傳統(tǒng)的那些可通過共享存儲(chǔ)單元來減小芯片大小。
可使用用于實(shí)現(xiàn)或控制本申請(qǐng)中討論的密碼裝置、存儲(chǔ)裝置、加密方法和/或解密方法的算法來實(shí)現(xiàn)或控制更通用的設(shè)備(例如,處理器)和/或控制設(shè)備(例如,處理器)的方法。
用于實(shí)現(xiàn)或控制本申請(qǐng)中討論的密碼裝置、存儲(chǔ)裝置、加密方法和/或解密方法的方法可被編寫為計(jì)算機(jī)程序并且可在使用計(jì)算機(jī)可讀記錄介質(zhì)執(zhí)行程序的通用數(shù)字計(jì)算機(jī)中實(shí)現(xiàn)。另外,方法中使用的數(shù)據(jù)的結(jié)構(gòu)可按各種方式被記錄在計(jì)算機(jī)可讀記錄介質(zhì)中。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括存儲(chǔ)介質(zhì),諸如,磁性存儲(chǔ)介質(zhì)(例如,ROM(只讀存儲(chǔ)器)、RAM(隨機(jī)存取存儲(chǔ)器)、USB(通用串行總線)、軟盤、硬盤等)和光學(xué)記錄介質(zhì)(例如,CD-ROM(緊湊盤只讀存儲(chǔ)器)或DVD(數(shù)字視頻盤))。
另外,一些示例實(shí)施例還可通過用于控制至少一個(gè)處理元件(例如,處理器)來實(shí)現(xiàn)一些示例實(shí)施例的介質(zhì)(例如,計(jì)算機(jī)可讀介質(zhì))里面/上面的計(jì)算機(jī)可讀代碼/指令來實(shí)現(xiàn)。介質(zhì)可對(duì)應(yīng)于許可存儲(chǔ)和/或發(fā)送計(jì)算機(jī)可讀代碼的任一個(gè)/多個(gè)介質(zhì)。
計(jì)算機(jī)可讀代碼可按各種方式記錄在介質(zhì)上/在介質(zhì)上傳遞,其中,介質(zhì)的示例包括記錄介質(zhì)(諸如,磁性存儲(chǔ)介質(zhì)(例如,ROM、軟盤、硬盤等)和光學(xué)記錄介質(zhì)(例如,CD-ROM或DVD))和傳輸介質(zhì)(諸如,互聯(lián)網(wǎng)傳輸介質(zhì))。因此,介質(zhì)可以是包括或攜帶信號(hào)或信息的這種限定的和可測量的結(jié)構(gòu)(諸如,根據(jù)一些示例實(shí)施例的攜帶位流的裝置)。介質(zhì)還可以是分布式網(wǎng)絡(luò),使得以分布式方式來存儲(chǔ)/傳遞和執(zhí)行計(jì)算機(jī)可讀代碼。此外,處理元件可包括處理器或計(jì)算機(jī)處理器,并且處理元件可被分布于和/或包括在單個(gè)裝置中。
在一些示例實(shí)施例中,元件中的一些可被實(shí)現(xiàn)為“模塊”。根據(jù)一些示例實(shí)施例,“模塊”可被解釋為基于軟件的組件或硬件組件(例如,電路)(諸如,現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)),并且模塊可執(zhí)行某些功能。然而,模塊不限于軟件或硬件。模塊可被構(gòu)造成被位于可執(zhí)行尋址的存儲(chǔ)介質(zhì)中,或者執(zhí)行一個(gè)或多個(gè)處理。
例如,模塊可包括組件(諸如,軟件組件、面向?qū)ο蟮能浖M件、類組件和任務(wù)組件、處理、功能、屬性、程序、子程序、程序代碼段、驅(qū)動(dòng)器、固件、微代碼、電路、數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)、表、陣列和變量)。從組件和模塊提供的功能以及所述模塊可被組合成較少數(shù)量的組件和模塊,或者被分離成額外的組件和模塊。此外,這些組件和模塊可執(zhí)行裝置中的一個(gè)或多個(gè)中央處理單元(CPU)。
一些示例實(shí)施例可通過包括用于控制上述實(shí)施例的至少一個(gè)處理元件(例如,處理器)的計(jì)算機(jī)可讀代碼/指令的介質(zhì)(例如,計(jì)算機(jī)可讀介質(zhì))來實(shí)現(xiàn)。這種介質(zhì)可對(duì)應(yīng)于可存儲(chǔ)和/或發(fā)送計(jì)算機(jī)可讀代碼的一個(gè)/多個(gè)介質(zhì)。
計(jì)算機(jī)可讀代碼可被記錄在介質(zhì)中或者通過互聯(lián)網(wǎng)發(fā)送。例如,介質(zhì)可包括ROM、RAM、CD-ROM、磁帶、軟盤、光學(xué)記錄介質(zhì)、或諸如通過互聯(lián)網(wǎng)進(jìn)行的數(shù)據(jù)傳輸?shù)妮d波。另外,介質(zhì)可以是非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)。由于介質(zhì)可以是分布式網(wǎng)絡(luò),因此可按分布式方式存儲(chǔ)、發(fā)送和執(zhí)行計(jì)算機(jī)可讀代碼。此外,例如,處理元件可包括處理器或計(jì)算機(jī)處理器,并且被分布于和/或包括在一個(gè)裝置中。
盡管已經(jīng)示出和描述了一些示例實(shí)施例,但本領(lǐng)域的技術(shù)人員應(yīng)該清楚,可在不脫離在權(quán)利要求書及其等同物中限定其范圍、這些示例實(shí)施例的原理和精神的情況下,對(duì)示例實(shí)施例進(jìn)行改變。例如,雖然已經(jīng)將某些操作描述為是由給定元件執(zhí)行的,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,可按各種方式在元件之間劃分操作。
盡管以上針對(duì)密碼裝置、存儲(chǔ)裝置、加密方法和/或解密方法描述了一些示例實(shí)施例,但本領(lǐng)域的技術(shù)人員將清楚,一些示例實(shí)施例可應(yīng)用于其他類型的系統(tǒng)(諸如,密碼領(lǐng)域中未使用的系統(tǒng)(例如,算法、組合數(shù)學(xué)、有限域、偽隨機(jī)數(shù))、或更通用的控制系統(tǒng)(例如,游戲理論、信息理論、機(jī)器學(xué)習(xí)、數(shù)論))。本領(lǐng)域的技術(shù)人員將清楚,本申請(qǐng)中描述的密碼裝置、存儲(chǔ)裝置、加密方法和/或解密方法具有大量的實(shí)際使用。
盡管已經(jīng)示出和描述了本公開的一些示例實(shí)施例,但本領(lǐng)域的技術(shù)人員應(yīng)該清楚,可在不脫離在權(quán)利要求書及其等同物中限定其范圍、本發(fā)明的原理和精神的情況下,對(duì)這些示例實(shí)施例進(jìn)行改變。
因此,應(yīng)該理解,以上實(shí)施例不是限制性的,而是例證性的。雖然已經(jīng)參照示例實(shí)施例描述了發(fā)明構(gòu)思,但本領(lǐng)域的技術(shù)人員將清楚,可在不脫離發(fā)明構(gòu)思的精神和范圍的情況下進(jìn)行各種變化和修改。
應(yīng)該理解,這里描述的示例實(shí)施例應(yīng)該只被視為描述含義,而非是出于限制的目的。對(duì)各實(shí)施例內(nèi)的特征或方面的描述應(yīng)該通常被視為可用于其他實(shí)施例中的其他類似特征或方面。