摘 要:PVR機頂盒是數(shù)字電視新的發(fā)展趨勢,作為運營商收入的主要來源,數(shù)字電視節(jié)目流的加密保護也得到越來越多的認識和重視。對利用AE算法加密高清數(shù)字電視PVR機頂盒中所存儲的高清電視節(jié)目內(nèi)容,實現(xiàn)版權(quán)保護進行研究。重點介紹AE算法的具體實現(xiàn)步驟和優(yōu)化,及其在PVR機頂盒上的應(yīng)用,用C語言完成該算法并對其在嵌入式環(huán)境和普通PC機上的執(zhí)行效率進行了比較。
關(guān)鍵詞:機頂盒;PVR;DE;AE
Application of AE Encryption Arithmetic in the PVR B
WU Xi,YU ongyang,WU Zhenyu
(chool of Electronic Engineering,University of Electronic cience and echnology of China,Chengdu,61004,China)[J12/3]
Abstract:Digital V has entered into millions of households,PVR set-top-box with digital V is a new development trendAs operators′ main source of income,digital television encryption to protectflow has been more and more awareness and attentionBased on the principle of AE arithmetic,the encryption and decryption process are described,the application in the high-definition digital television programs stored by the content encryption is introduced,copyright protection to achieve the study focuses on the actualization and optimization of the AE algorithm and its PVR set-top-box in the applicationBesides,the application using C language is accompolished,and the encryption and decryption speed of the arithmetic are compared
Keywords:set-top-box;PVR;DE;AE[J12/3]
1 引 言
作為數(shù)字電視新的發(fā)展方向,基于硬盤的PVR機頂盒受到消費者的歡迎。同時,由于PVR將錄制的能力賦予用戶,使得對節(jié)目內(nèi)容的非法復(fù)制、傳播成為可能,這將給運營商造成巨大的經(jīng)濟損失。因此對硬盤中所存儲節(jié)目內(nèi)容進行持久保護的必要性逐漸被廣播提供商所認識和要求。AE算法是由美國國家標準和技術(shù)研究所(NI)用時3年,歷經(jīng)2輪評估,選出的高級加密算法。AE的所有設(shè)計原則都是公開的,沒有專利權(quán)方面的問題,任何人都可以通過正常渠道得到并使用這種算法[1]。作為新一代的數(shù)據(jù)加密標準,AE匯聚了強安全性、高性能、高效率、易用和靈活等優(yōu)點,加密速度快,對內(nèi)存要求低,非常適合應(yīng)用在嵌入式平臺上。
本文在分析AE加密算法原理的基礎(chǔ)上,著重說明算法的實現(xiàn)步驟,用C語言完整地實現(xiàn)了AE算法的加/解密操作,并在PVR機頂盒中實現(xiàn)應(yīng)用。
2 AE加密/解密算法原理簡介
AE算法屬于分組密碼算法,它的輸入分組、輸出分組及加/解密的中間分組長度都是128 b。密鑰長度有3種:128,192和26 b[1]。
AE算法基于置換和代換運算。置換是對數(shù)據(jù)重新進行排列,代換是將一個數(shù)據(jù)單元替換為另一個[2]。本文采用的AE-128算法輸入為128位數(shù)據(jù),密鑰長度也是128位。每一輪都需要1個與輸入分組具有相同長度的擴展密鑰參與。
AE算法主要由3部分組成:輪變化、圈數(shù)和密鑰擴展[3]。本文詳細介紹AE加/解密算法中各部分的實現(xiàn)步驟;結(jié)合C語言,實現(xiàn)高級加密算法AE在PVR數(shù)字電視機頂盒中的應(yīng)用。所采用的AE-128算法的加/解密模塊程序流程圖如圖1所示。
21 加密變換
AE加密算法的每一輪加密都使用代替和混疊并行地處理整個數(shù)據(jù)分組狀態(tài)。主要是通過對個子模塊ubBytes,hiftRows,MixColumns,AddRounke和GetNewEncrypt的循環(huán)調(diào)用實現(xiàn)。
ubbyte變換即盒置換,是AE算法中是惟一的非線性變換。它對狀態(tài)中的每個字節(jié)用-box做一個置換。每個字節(jié)的前4位指定盒的行值,后4位指定了盒的列值,然后取出盒中對應(yīng)行和列的元素作為輸出代替該字節(jié)。
hiftRow完成基于行的循環(huán)移位操作。它將狀態(tài)中的行按照不同的偏移量進行循環(huán)移位,一般情況下,第0行不動,第1行循環(huán)左移1個字節(jié),第2行循環(huán)左移2個字節(jié),第3行循環(huán)左移3個字節(jié)[4]。