AES算法在PVR机顶盒中的应用研究

时间:2022-08-28 01:12:10

AES算法在PVR机顶盒中的应用研究

摘 要:PVR机顶盒是数字电视新的发展趋势,作为运营商收入的主要来源,数字电视节目流的加密保护也得到越来越多的认识和重视。对利用AE算法加密高清数字电视PVR机顶盒中所存储的高清电视节目内容,实现版权保护进行研究。重点介绍AE算法的具体实现步骤和优化,及其在PVR机顶盒上的应用,用C语言完成该算法并对其在嵌入式环境和普通PC机上的执行效率进行了比较。

关键词:机顶盒;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 引 言

作为数字电视新的发展方向,基于硬盘的PVR机顶盒受到消费者的欢迎。同时,由于PVR将录制的能力赋予用户,使得对节目内容的非法复制、传播成为可能,这将给运营商造成巨大的经济损失。因此对硬盘中所存储节目内容进行持久保护的必要性逐渐被广播提供商所认识和要求。AE算法是由美国国家标准和技术研究所(NI)用时3年,历经2轮评估,选出的高级加密算法。AE的所有设计原则都是公开的,没有专利权方面的问题,任何人都可以通过正常渠道得到并使用这种算法[1]。作为新一代的数据加密标准,AE汇聚了强安全性、高性能、高效率、易用和灵活等优点,加密速度快,对内存要求低,非常适合应用在嵌入式平台上。

本文在分析AE加密算法原理的基础上,着重说明算法的实现步骤,用C语言完整地实现了AE算法的加/解密操作,并在PVR机顶盒中实现应用。

2 AE加密/解密算法原理简介

AE算法属于分组密码算法,它的输入分组、输出分组及加/解密的中间分组长度都是128 b。密钥长度有3种:128,192和26 b[1]。

AE算法基于置换和代换运算。置换是对数据重新进行排列,代换是将一个数据单元替换为另一个[2]。本文采用的AE-128算法输入为128位数据,密钥长度也是128位。每一轮都需要1个与输入分组具有相同长度的扩展密钥参与。

AE算法主要由3部分组成:轮变化、圈数和密钥扩展[3]。本文详细介绍AE加/解密算法中各部分的实现步骤;结合C语言,实现高级加密算法AE在PVR数字电视机顶盒中的应用。所采用的AE-128算法的加/解密模块程序流程图如图1所示。

21 加密变换

AE加密算法的每一轮加密都使用代替和混叠并行地处理整个数据分组状态。主要是通过对个子模块ubBytes,hiftRows,MixColumns,AddRounke和GetNewEncrypt的循环调用实现。

ubbyte变换即盒置换,是AE算法中是惟一的非线性变换。它对状态中的每个字节用-box做一个置换。每个字节的前4位指定盒的行值,后4位指定了盒的列值,然后取出盒中对应行和列的元素作为输出代替该字节。

hiftRow完成基于行的循环移位操作。它将状态中的行按照不同的偏移量进行循环移位,一般情况下,第0行不动,第1行循环左移1个字节,第2行循环左移2个字节,第3行循环左移3个字节[4]。

上一篇:TM320DM642为核心的视频图像处理器电路设计 下一篇:自动测试系统中的总线技术