【技術實現步驟摘要】
執行加密操作的方法、處理裝置和計算機程序產品
[0001]本說明書涉及用于在處理裝置中執行加密操作的技術,包括泄漏彈性加密過程,泄漏彈性加密過程包括將導出密鑰從主密鑰導出的泄漏彈性導出函數。
[0002]各種實施例可以應用于例如智能卡、微控制器、物聯網芯片、使用加密或數字簽名方案的機頂盒。在特定實施例中,可以應用于未受保護的加密硬件加速器。
技術介紹
[0003]加密協議是執行安全相關功能并應用加密方法的抽象或具體協議,通常作為加密原語的序列。
[0004]在使用加密算法的裝置(例如,實現加密算法(諸如ECC或RSA)的微控制器)中的側信道攻擊保護領域中,已知垂直側信道攻擊(SCA),其中,攻擊者可以使用該裝置對任意數據(輸入)進行加密,以便獲得加密算法所使用的加密密鑰。攻擊者在已知輸入數據的加密期間記錄側信道信息,側信道由功耗、電磁輻射或其他類似量來表示。
[0005]側信道與由裝置處理的數據鏈接,所述數據是加密密鑰和作為輸入饋送的攻擊者的數據,所述數據因此代表已知數據。
[0006]攻擊者記錄許多具有不同已知輸入數據和恒定未知密鑰的“軌跡”,對加密密鑰的一部分的值做出假設,并且使用統計方法來驗證使用軌跡的這些假設。為了應用這種統計方法,攻擊者需要使用許多軌跡,每個軌跡具有不同的和已知的輸入數據和恒定密鑰。
[0007]防御這種攻擊的已知解決方案是使用具有SCA保護的實現方式,然而該實現方式不能使用現有的未受保護的硬件,同時通常太晚或太昂貴而不能嵌入受保護的硬件。而且,由于反 ...
【技術保護點】
【技術特征摘要】
1.一種方法,包括:使用加密電路對輸入數據執行加密操作;以及在所述執行期間使用所述加密電路來保護所述加密操作,所述保護包括迭代地執行多個加密操作以從主密鑰和具有多組比特的初始化向量生成至少一個導出密鑰,其中,所述多個加密操作包括:第一加密操作,所述第一加密操作使用所述主密鑰對具有多個字節的明文輸入進行加密,生成第一中間密鑰,所述明文輸入的至少兩個字節具有基于所述初始化向量的所述多組比特中的一組比特的值,其中,所述一組比特的各個比特被引入到所述輸入字節的相應各個字節中,并且所述一組比特具有至少兩個比特以及至多等于所述明文輸入的字節數目的比特數目;以及多個中間加密操作,其中,所述多個中間加密操作中的加密操作使用由所述多個加密操作中的先前加密操作生成的相應中間密鑰來加密具有一定字節數目的相應明文輸入,生成相應附加中間密鑰,所述相應明文輸入的至少兩個字節具有基于所述初始化向量的所述多組比特中的相應一組比特的值,其中,相應的所述一組比特的各個比特被引入到相應的明文輸入的相應的各個字節中,并且相應的所述一組比特具有至少兩個比特以及至多等于相應的明文輸入的所述字節數目的比特數目。2.根據權利要求1所述的方法,其中,所述明文輸入均具有16個字節,并且一組比特的所述比特數目具有2到16的范圍。3.根據權利要求1所述的方法,其中,所述字節數目是16,所述初始化向量的每組比特的所述比特數目是16,并且每個明文輸入的每個字節包括所述初始化向量的單個比特。4.根據權利要求1所述的方法,其中,所述多個加密操作包括附加加密操作,所述附加加密操作使用在所述多個中間加密操作的最后一個中間加密操作中生成的中間密鑰來加密零串的明文輸入,從而生成所述至少一個導出密鑰中的導出密鑰。5.根據權利要求1所述的方法,其中,所述多個加密操作是AES加密操作。6.根據權利要求1所述的方法,其中:所述保護包括執行泄漏彈性導出函數,所述泄漏彈性導出函數從所述主密鑰為多個消息中的每個消息導出不同密鑰;以及所述方法包括使用為所述消息導出的密鑰來對所述多個消息執行泄漏彈性加密操作。7.根據權利要求6所述的方法,包括從所述主密鑰并行生成多個導出密鑰。8.根據權利要求1所述的方法,包括從所述主密鑰并行生成多個導出密鑰。9.根據權利要求1所述的方法,其中:具有基于初始化向量的比特的值的明文輸入的字節取決于該比特的值而具有為零的值或為一的值;以及所述明文輸入的其他字節具有為零的值。10.一種裝置,包括:存儲器;以及耦聯到所述存儲器的加密電路,其中,所述加密電路在操作中對輸入數據執行加密操作并且在所述執行期間保護所述加密操作,所述保護包括迭代地執行多個加密操作以從主密鑰和具有多組比特的初始化向量生成至少一個導出密鑰,其中,所述多個加密操作包括:
第一加密操作,所述第一加密操作使用所述主密鑰對具有多個字節的明文輸入進行加密,生成第一中間密鑰,所述明文輸入的至少兩個字節具有基于所述初始化向量的所述多組比特中的一組比特的值,其中,所述一組比特的各個比特被引入到所述輸入字節的相應各個字節中,并且所述一組比特具有至少兩個比特以及至多等于所述明文輸入的字節數目的比特數目;以及多個中間加密操作,其中,所述多個中間加密操作中的加密操作使用由所述多個加密操作中的先前加密操作生成的相應中間密鑰來加密具有一定字節數目的相應明文輸入,生成相應附加中間密鑰,所述相應明文輸入的至少兩個字節具有基于所述初始化向量的所述多組比特中的相應一組比特的值,其中,相應的所述一組比特的各個比特被引入到相應的明文輸入的相應的各個字節中,并且相應的所述一組比特具有至少兩個比特以及至多等于相應的明文輸入的字節數目的比特數目。11.根據權利要求10所述的裝置,其中,所述明文輸入均具有16個字節,并且一組比特的所述比特數目具有2到16的范圍。12.根據權利要求10所述的裝置,其中,所述字節數是目16,所述初始化向量的每組比特的所述比特數目是16,并且每個明文輸入的每個字節包括所述初始化向量的單個比特。13.根據權利要求10所述的裝置,其中,所述多個加密操作包括附加加密操作,所述附加加密操作使用在所述多個中間加密操作的...
【專利技術屬性】
技術研發人員:R,
申請(專利權)人:意法半導體股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。