文明密码范文

时间:2023-10-06 23:44:18

文明密码

文明密码篇1

2014年10月,由天津市委宣传部、中央电视台、天津广播电视合摄制的九集大型人文纪录片《五大道》悄然登陆央视纪录频道和天津卫视,收获好评不断。除了在传统电视媒体上取得可观收视,《五大道》在微博、微信等自媒体上也呈现出信息爆炸之势,土豆、优酷等网络转载累计20余万次……

450分钟,150年的历史,《五大道》打开了人们对于城市记忆的情感闸门。这是祖光创作《五大道》的初衷,也是该纪录片“火”起来的原因之一。随着纪录片影响力的扩大,观众对五大道的品读也更加深刻。这段历史在民间有着巨大的记忆储存能量,蕴含着丰厚的文化积淀和情感体验。而这,正是央视与天津广播电视台此次合作的一个重要原因,“‘五大道’这个题材占尽先机,看上去好像很老,但如同春天的河面,冰层下已经春潮涌动。”

总导演祖光介绍,《五大道》是央视与省级电视台合作的第一部纪录片,资金投入共计1000万元左右,由天津市委宣传部、中央电视台、天津广播电视台共同投资,联合制作。片子的选题策划、拍摄、后期剪辑由天津广播电视台祖光工作室完成,特殊摄影、音乐创作、动画制作和资料提供等工作则由央视纪录频道负责具体实施。

央视纪录频道制片人韩雯介绍,《五大道》是该频道与地方台第一批四部联合摄制项目中的一部,其它三部分别为《大黄山》《楚国八百年》和《云冈》。韩雯表示,未来央视纪录频道还会陆续推出此类联合摄制项目,“我们希望通过这种合作模式,凝聚国内最优秀的纪录片创作团队,发挥各自创作优势,使中国纪录片的品质得到显著提升,表述方式也更符合国际传播需求,以使中国纪录片无论在国内还是在海外都能发挥更大、更深远的影响力和传播力”。

《五大道》播出后,各路业内专家给予了高度评价,”中国故事国际化表达的成功之作”。“国际化”正是祖光团队希望与央视合作实现的一个重要目标,“材料的选择,视角的切入,叙事的策略,构架的搭建,语言的运用,都不脱离‘国际表达’这个要义。”在他看来,以往纪录片拍摄“一根长寿面式”的线性结构很容易让观众产生疲劳。然而在网络时代,“受众是点状观影,碎片化阅读”,因此,此次《五大道》采用了“麻花式”的叙事结构,“螺旋式推进,在历史和现实相互穿插的大开大合中,不断找到有效信息、有趣信息”,并采取平行蒙太奇的方式,呈现出多维、立体的空间,“调动观众参与叙事,通过细节拨动观众的生活、情感体验。”

此外,对于一部好作品而言,“工夫在诗外”。据祖光介绍,《五大道》全片讲述的历史人物有70余人,现实人物39人,摄制组先后赴美、英、法等国进行拍摄,采访中外学者31人,名人后裔、亲历者、老居民、收藏家、志愿者及其他相关人士25人,以求从不同侧面印证历史故事,丰富现实生活图景。

为了追求丰富多彩的视觉效果,《五大道》也使用了丰富的技术手段。除了高清摄像机等常规拍摄设备,还使用了数字电影摄影机、高速摄影机等高新器材,并进行了多达百余架次的低空航拍。制作团队总共组织拍摄了170场情景再现,100多条延时摄影以及水下摄影,最终获得了9个T的电子素材,其中高清素材2万多分钟,后期制作则包括近3000秒的三维动画和视频包装。“音乐也全部是专门作曲,交响乐队演奏的创作音乐”,加之李立宏富有磁性的声音解说,使《五大道》充满了视听感染力。

文明密码篇2

关键词:加密 解密 陷门收缩 算法

1.引言

计算机网络技术使信息科学得到了飞速发展,同时也带来了一系列数据安全问题,需要有高强度的加密安全措施才能保证其安全。近年来,密码技术有着突飞猛进的发展,密码学的研究十分活跃,出现了众多公钥密码系统。本文设计了一种基于“陷门收缩”原理的一种公开密钥密码算法,给出了私有密钥的构造方法,并对密码长度、保密强度进行了分析。

2.设计思想

根据Merkle和Hellman提出的经典陷门收缩算法的基本思想,“背包问题”在不知道“陷门信息”的情况下是难以计算求解的,如果知道了“陷门信息”,则求解就变得容易了。

本文算法的私有密钥(解密密钥)是在数论的“陷门收缩”理论基础上由随机产生加复杂构造而生成,符合“收缩”计算规律,并利用陷门原理,由私有密钥导出公有密钥(加密密钥)。加密时根据公有密钥由明码导出密码;解密时,利用陷门原理,由密码及关键数导出中间密码,并根据私有密钥收缩求出明码。

本算法的一般数学描述为:

设X为明码

为密码

为中间密码

为公有密钥 (公开)

为私有密钥 (保密)

加密过程:

解密过程:①

在密码分析的攻击中,密钥占有极其重要的地位,由于公开密钥密码体制自身的特点,私有密钥的设计成为该密码体制中的关键技术。本文所述的关键是以“陷门收缩”理论为基础构造产生出符合收缩计算规律的私有密钥。私有密钥的构造产生方法,体现了本算法的特点,使该算法具有较高的保密强度。

3.本算法的原理与方法

3.1 算法中用到的一些变量及私有密钥的构造原理

(1)设要求加密的数据为X(明文),即

, ∈(0,1)

(2)关键数据r,t,s满足

①(r,t)=1

②r>t

③t•s(mod r)=1

(3)设计构造一组私有密钥(解密密钥) 使其满足

① , =2,3,…,64

②r>

算法中应将r,s,t, 私有保存。

(4)求一组加密密钥 (公开),使其满足

•t(mod r)

3.2 加密过程

密文:

3.3 解密过程

(1)求关键数s,因为

s•t(mod r)=1

(r,t)=1

所以可利用欧几里得算法求得s。

(2)求中间密码 ,有

•s(mod r)

(3)收缩求解 ,有

1 当 时

0 其它

1 当 时

( =n-1,n-2,…,3,2,1 )

0 其它

4. 私有密钥的构造与密码长度分析

4.1 私有密钥的构造

私有密钥的设计构造是本文的目的和重点,也是实现本算法的关键。假设一个明码的长度为64bit,即为 ( 为0或1),私有密钥 的个数应与明码的长度相等,即i=64。由数论中的收缩理论可知私有密钥 应满足如下公式:

=2,3,…,64

因此对私有密钥可进行如下构造:

(1)产生一组随机整数 ,0≤ ≤64

(2)构造 , 1≤n≤65

使 满足 ,为符合收缩计算规律的私有密钥。它是由困难的收缩问题转换为易解的收缩问题,求解明码X的关键所在, 也是算法的核心所在。对于掌握了私有密钥的人来说解密容易,而对于局外人,不知道私有密钥则求解却十分困难,包括解密与求解该私有密钥。

4.2 密码长度分析

如前所述私有密钥 是由64个随机数 (0≤ ≤64),根据

=2,3,…,64

的理论按照公式 构造产生出来的,即:

由于 ≤64,其最大值为 =64,据此可分析 可能达到的最大值。

因为

那么取 =64,则

因为r>

又因为

所以取r=

已知 r-1

•(r-1)

由此可知密文的最大长度可能达到 , 因此加密后的密码长度将大于或等于明码长度(64bit),因此若加密过程中每次从文件中取8个字节长的明码进行加密,那么解密过程中就要每次从加密后的文件中取10个字节长的密文进行解密。

5. 算法的保密强度分析

5.1 密码体制的安全性

密码体制的安全性在于:一是密钥的管理。包括密钥的产生、选择、传递、改变以及取消等安全措施。二是加密、解密算法的设计。即使已知明文X 和相对应的密文Y,甚至掌握了加、解密算法本身,也很难计算出密钥来, 因而就不可能根据未被破译的密文,得到原来的明文。由此可知,密码体制的保密性应取决于对密钥的保密,而不是算法的保密。这是一个好的密码体制所应该具备的特征。公钥密码体制正具备这样的优点:它公开加密算法和加密密钥,只对解密密钥进行保密。

文明密码篇3

【 关键词 】 互联网;信息安全;账号密码;身份认证

Security Investigation on the Internet Users’ Accounts and Passwords

Xie Jin 1 Liu Fan-bao 2 Xie Tao 2

(1.The First High School of Changsha HunanChangsha 410005;

2. School of Computer Science, National University of Defense Technology HunanChangsha 410073)

【 Abstract 】 Being directed against the basic problem of information security, i.e. the security of the Internet users’ accounts and their corresponding passwords, an investigation on the security level of inland network identity authentication has been carried on for 3 years. The investigation focuses on testing the security mechanisms applied in the registration (create a new account) and sign-in procedures of some dominant inland Internet Email service providers, and testing the security mechanisms applied in the registration and sign-in procedures of some dominant inland Internet E-Business service providers. To make comparisons on the security mechanism with overseas Internet Email service providers, similar tests have also been carried out on the three dominant Internet Email service providers, namely Hotmail, Gmail and Yahoo!Mail. Research results show that, China’s current information security can be leveled as very severe, so that some emergent measures must be taken to hold up the network security as soon as possible, and the first and foremost remedy is not to send a user’s username\password over the circuit “in the clear” any more.

【 Keywords 】 internet;information security; account password; identity authentication

1 引言

与历史上改变人类生活方式的重大技术革命一样,网络技术已经成为一把名副其实的双刃剑。从模拟信号到数字信号、从有线连接到无线连接、从静止通讯到移动通讯、从单计算机应用到多计算机互联、从人-人互联到人-物与物-物互联,网络技术发展到今天,已经无处不在、不可或缺。但由于因特网的基础协议(TCP/IP)未考虑信息安全因素,使得在网络信息技术飞速发展的今天,安全问题也异常突出。网络账号密码泄密、网络阻塞、网站瘫痪、邮件伪造、黑客入侵、网络欺诈、假冒网站等信息安全问题,已经严重威胁电子金融、电子商务、电子政务、网络媒体、网络社交等互联网络服务的安全与信任问题。

愈演愈烈的“密码危机”已经演变成为对网络技术的信任危机。近年来,互联网用户信息泄露与入侵事件层出不穷,事件日益严重。例如,索尼上亿用户信息泄露,韩国SK通讯公司七成韩国人资料遭泄露,日本爱普生公司泄露3500万用户信息,美国银行与美国花旗银行信用卡信息遭泄露,华盛顿邮报百万用户信息遭泄露…… 近年来,我国也发生了史上最为严重的用户信息泄露事件。2011年12月,CSDN上600万用户资料被公开,知名团购网站美团网的用户账号密码信息也被宣告泄露,天涯社区、开心网、7K7K、猫扑等多个社区和游戏网站的用户数据相继外泄,网上公开暴露的网络账号密码超过1亿个。2013年3月,著名云笔记服务提供商Evernote 5000万用户身份密码遭黑客泄漏。 2014年12月,中国铁路客户服务中心12306用户数据在互联网遭到大量泄漏,包括用户账号、明文密码、身份证以及邮箱等。如何确保互联网上个人、组织、服务和设备之间的虚拟服务具有与现实服务同等的可靠度与诚信度,已成为网络安全行业在信息安全理论、技术、工程与管理上迫在眉睫、义不容辞的责任与使命。

身份认证是网络信息安全的基本保障。网络服务器通过身份认证与访问控制方式对合法注册用户进行授权与管理。用户首先通过注册(账号与密码)成为网络服务器的合法用户,只有通过身份认证的用户才能访问/使用(阅读、修改、下载等)网络服务器相应角色的资源。身份认证与访问控制是网络信息安全的基本技术和基本研究内容。网络信息安全涉及计算机操作系统、互联网络安全协议与密码算法的安全性,其中网络安全协议以密码算法为基础,采用网络协议的形式实现两个以上网络实体之间的远程身份认证、密钥协商以及确保消息的不可抵赖性。安全协议的安全性不仅取决于密码算法自身的安全性,同时也取决于协议形式的安全性。身份认证协议常用攻击方法包括网络监听、重放攻击、中间人攻击、在线攻击、离线攻击等等,一个不安全的身份认证协议可以被黑客利用进行网络攻击。因此,身份认证协议的安全性是确保网络身份认证安全的技术基础。

2 电子邮件系统与商业网站账号安全

我们首先对每个电子邮箱的三种登录方式分别进行了用户账号密码的传输方式测试,包括POP3登录方式、IMAP登录方式以及Web登录方式。然后,对每个电子邮箱注册服务过程中用户注册信息的传输方式进行测试。

2.1 电子邮箱POP3客户端登录安全方式调查

我们在2011年8月的调查结果表明,采用POP3客户端登录方式的所有国内电子邮件服务提供方默认使用明文密码进行用户身份认证,而且其中46%的境内邮件服务提供方(28家中的13家)仅支持明文密码认证。我们在2012年8月的调查结果表明,采用POP3客户端登录方式的所有境内电子邮件服务提供方仍然默认使用明文密码进行用户身份认证,而且其中39%的境内邮件服务提供方(28家中的11家)仅支持明文密码认证。一年期间,中国移动的139mail新增HTTPS支持,Tommail新增Login支持。此点说明,已经有境内电子邮件服务提供方开始认识到用户登录身份认证安全的重要性。调查统计结果如图1(a)所示。

2.2 电子邮箱IMAP客户端登录安全方式调查

我们在2012年8月的调查结果表明,25%的境内邮件服务提供方(28家中的7家)不支持IMAP客户端登录。在支持IMAP客户端登录的境内电子邮件服务提供方中,所有提供方默认使用明文密码进行用户身份认证,其中33%的提供方(21家中的7家)仅支持明文密码认证。调查统计结果如图1(b)所示。

2.3 电子邮箱Web页面注册与登录安全方式调查

我们在2012年8月的调查结果表明,除亿邮(eyou.mail)关闭了注册功能外,所有境内邮件服务提供方在用户注册过程中均将注册信息(包括账号与密码)以明文方式传输至注册服务器。在已调查的28个境内知名邮件服务提供方中有19个(比例为67.9%)为收费邮件服务(每月收取服务费用从五元至上百元不等),有9个(比例为32.1%)提供免费电子邮件服务。调查结果表明,境内邮件服务商信息安全意识不强,对用户私密信息缺乏足够安全保护。令人震惊的是,19家收费电子邮件系统中竟有16家(比例为84.2%)默认使用明文密码进行登录认证,仅有3家提供非明文密码的登录认证方式,而且其中一家仅仅采用极其简单的线性掩码变换方式对登录密码进行保护,另外两家则采用安全的HTTPS方式对登录过程中的密码传输进行加密保护。由此可见,境内电子邮件系统安全性十分脆弱。在9家免费电子邮件系统中,仅有搜狐旗下的4家提供安全的HTTPS对登录过程的密码传输进行加密保护,另外三个使用用户明文密码进行登录认证,剩余两家使用单向挑战响应认证方式对用户账号密码进行有限保护。根据轻量级(非公开密钥密码系统)动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理,可以推定其中使用单向挑战响应认证方式的两家邮件服务商均采用明文密码数据库,因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图2所示。

2.4 国外电子邮箱系统安全性调查

作为安全性比较分析,我们对境外三大电子邮箱服务器Hotmail、Gmail和Yahoo!Mail的安全身份认证方式进行了同样的测试工作,结果发现这些邮箱的注册与登录过程全部以安全HTTPS协议方式对用户账号密码信息进行加密传输,基本上没有明文账号密码传输认证方式选项。

境内电子邮件服务提供方仅采用最低安全级别的明文密码传输方式进行身份认证,而境外电子邮件服务方一般提供安全级别很高的口令密码加密传输保护方式。因此,境内电子邮件系统极易受到境内外黑客或者情报部门攻击,并利用用户个人私密信息进行商业牟利或政治与军事渗透活动。重视账号和内容安全的国内电子邮件用户因而转投境外电子邮件提供方。由于我们无法控制国外邮件服务器,而境外情报部门却能轻易控制并利用境内的电子邮箱信息,致使我国在网络信息安全技术领域处于不对称的弱势地位。此外,我国现有网络服务器等网络核心设备一般采用国外主机与操作系统,由网络设备制造方预设的硬件后门和软件后门所导致的安全风险也不容小觑。

2.5 商业网站账号安全性调查

名目繁多的境内互联网商业网站为用户提供购物、旅游、聊天、交友等系列服务,极大便利了广大用户的生活。这些网站数据库中留下了用户的各种私密信息(爱好、消费内容和习惯、交往人群等),如果这些用户信息发生集中泄露事件,用户就毫无隐私可言。2011年12月期间我国系列网站账号数据库集中泄露事件表明,境内商业网站的账号与密码的安全性令人质疑。

2012年8月我们集中调查了30家知名商业网站的账号密码安全性。受调查的商业网站涵盖生活、招聘、交友、团购、购物、旅游和视频等方面,在一定程度上代表了当前服务性商业网站的主流应用。我们主要通过监控用户注册过程和用户登录过程,检查网站是否提供必要的安全技术对用户的账号密码进行保护。其中29家商业网站在用户提交注册信息(包含账号密码)的过程中均未提供任何安全保护,包括知名购物网站淘宝网,用户设定的账号和密码通过明文方式经过不安全的互联网传送至网站服务器。京东商城使用HTTPS对注册和登录过程进行保护。

26家商业网站(比例86.7%)对用户的登录认证过程未提供任何安全保护,仅仅采用明文密码认证方式,包括知名团购网站拉手网和美团网以及三大招聘网站,如图3所示。仅有淘宝和京东商城提供了安全的HTTPS对用户登录认证过程的密码传输进行加密保护,另有三家网站(58同城、开心网和新浪微博)采用单向挑战响应认证方式对用户在登录认证过程中的密码传输进行了有限的保护。根据动态身份认证方式中认证服务器数据库账号密码必须与用户登录密码一致的原理,可以推定其中使用单向挑战响应认证方式的三家商业网站服务商采用明文密码数据库,因此容易遭受因认证数据库泄密导致的集中泄密风险。调查统计结果如图3所示。2014年8月,我们再一次对此30家知名商业网站的账号密码安全性进行复查,发现58同城网、CSDN论坛网、美团购物网、大公点评网以及去哪儿旅游网等几家商业或社交网站的注册与登录信息传输已经采用HTTPS安全协议进行了加密封装,其它网站仍然没有进行必要的安全升级。

3 调查结论与建议

3.1 调查结论

(1)境内互联网服务提供方用户的身份注册与登录认证过程普遍默认采用静态身份认证方式。虽然认证数据库用户的账号密码存储方式不明,但用户的账号密码却几乎全部采用明文密码传输方式。因此,容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。

(2)绝大部分境内互联网服务提供方的用户注册信息(账号与密码)传输仅仅提供唯一的明文传输方式,近半数境内互联网服务提供方用户登录身份认证的账号密码传输仅仅提供唯一的明文传输方式。因此,非常容易遭受网络监听泄密风险。这是导致近几年国内外商业数据库账号密码泄密的主要技术原因。

(3)境外互联网几大专业电子邮箱服务器Hotmail、Gmail和Yahoo!Mail均采用SSL\TLS协议对口令实施加密传输动态认证,防止账号口令密码网络明文传输泄密风险;认证服务器数据库则采用账号口令散列值加密方式,预防数据库内部集中泄密风险。

(4)为了确保网络身份认证数据库安全与认证过程中认证信息传输的安全性,无论是国际互联网还是包括军网在内的各种内部专网,必须采用SSL\TLS协议将网络身份认证过程加密封装,在口令密码散列值加密存储方式下实现非对称密码体制下的动态身份认证。

(5)密码算法、安全协议与网络工程以及操作系统各专业研究领域必须紧密合作,才能保证一项互联网应用工程中的信息安全。我国互联网普遍存在用户账号密码明文传输的不安全静态认证方式,根本原因在于互联网应用工程设计人员网络安全意识不强,对网络安全协议缺少研究,对常规网络攻击方法与行为缺乏了解,对潜在的网络攻击新理论与新技术更缺少关心。

根据轻量级动态身份认证的一致性原理可以推定,采用轻量级动态身份认证方式的认证数据库一般采用用户账号密码的明文存储方式。根据一致性原理同时可以推定,安全的认证数据库一般采用用户账号密码的单向散列值影子文件加密保护,而采用SSL/TLS安全协议将静态认证的明文密码传输转换成重量级动态认证的加密传输方式。这样,网络身份认证才能既可防止认证数据库的内部集中泄密风险,又能防止外部网络监听的重放攻击。

3.2 应急建议

(1)尽快对我国互联网开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。

(2)尽快对我国各行业内部专用互联网(内部信息专网、政府办公专网、金融专网、邮电专网、铁路专网等等)开展一次用户身份认证方式的普查工作,检查认证数据库用户的账号密码存储方式与身份认证中账号密码的网络传输方式。

(3)采用SSL\TLS协议对我国互联网用户身份认证过程实现加密封装,确保身份认证过程的动态性。

(4)加强网络信息安全意识,建立互联网攻防新技术专业实验室,为复杂信息化环境下的军事斗争加紧培养既精通密码算法与安全协议的分析方法又通晓操作系统与网络工程技术的复合型高级专门技术人才。

参考文献

[1] 谢涛,陈火旺,康立山. 幻方身份双向认证与密约传输一体化方法.中国知识产权局,发明专利号:331608,2007年6月.

[2] 谢涛. 一种用于身份真伪鉴别的幻方签名方法.中国知识产权局,发明专利号:695757,2010年11月.

[3] Freier A, Karlton P, Kocher P. The Secure Sockets Layer (SSL)Protocol Version 3.0. RFC 6101 (Historic). August 2011. http:///rfc/rfc6101.txt.

[4] Dierks T, Rescorla E. The Transport Layer Security (TLS) Protocol Version 1.2. RFC 5246 (Proposed Standard). August 2008. Updated by RFCs 5746, 5878, 6176, http:///rfc/rfc5246.txt.

[5] Rescorla E. HTTP Over TLS. RFC 2818 (Informational). May 2000. Updated by RFC 5785, http:///rfc/rfc2818.txt.

[6] Fielding R, Gettys J, Mogul J, et al. Hypertext Transfer Protocol-HTTP/1.1. RFC 2616 (Draft Standard). June 1999. Updated by RFCs 2817, 5785, 6266, http:///rfc/rfc2616.txt.

[7] Crispin M. INTERNET MESSAGE ACCESS PROTOCOL - VER- SION 4rev1. RFC 3501 (Proposed Standard). March 2003. Updated by RFCs 4466, 4469, 4551, 5032, 5182, 5738, 6186, http:///rfc/rfc3501.txt.

基金项目:

本文工作得到国家自然科学基金项目NSF.61070228与 NSF.61472476的连续资助以及国防科技大学XXX实验室的大力支持。

作者简介:

谢瑾(1997-),女,湖南长沙人, 湖南省长沙市第一中学信息技术组成员;主要研究方向和关注领域:互联网应用创意、文学创作、数学游戏。

刘凡保(1982-),男,湖南永兴人,博士生;主要研究方向和关注领域:散列密码函数及其安全协议分析。

文明密码篇4

关键词:视频加密;变长编码码字乱序;宏块乱序;密钥矩阵序列

图像和视频应用日益广泛,使得实用图像和视频加密技术越来越重要。视频加密的评价较之通用密码体制具有新的要求:应具备足够的抗攻击能力、视觉信息应被充分隐藏。同时,由于视频数据量大、结构性强等特征,实用加密方法的计算速度、对编码格式和压缩率的影响等指标也很重要。

视频密文保持编码格式十分重要。格式信息在存储、传输和在线处理过程中具有重要作用,如实现检索、暂停、快进、快退等交互功能和QoS保障作用,提高容错能力和网络适应性。付费视频等商业应用往往需要非授权用户能顺利解码密文却得不到所需视频信息,从而破坏了编码格式,使这些用户因不能识别或解码死机,误认为是线路或软硬件故障,妨碍业务开展;格式被破坏的视频数据可能更容易引起注意,增加遭到攻击和被破译的机会,而对不含视频源信息的长零串等公开的特殊规则序列加密,既为明文攻击提供了便利,也浪费了计算资源。

直接密码方法将视频当做普通流用分组密码、序列密码等加密,安全且易实现[1,2],但往往不能同时满足视频数据安全、实时和传输处理等实用需要,在很多场合不适用。其最难克服的缺陷是破坏编码格式。VLC码字作为编码视频数据中的重要成分必须重点加密,而有效的VLC码字远未遍历对应比特码空间。直接使用密码加密,必然随机产生大量非法的VLC码字,密文不可能符合编码格式。因此寻求VLC码字的理想加密方法是一个急需研究的课题。

1现有的方法

近年针对视频加密进行了大量研究,提出很多各有不同优缺点的方法[2],但仍很难解决VLC码字加密的难题。现有针对VLC码字的视频加密方法大致分为:①DCT系数乱序(Zig-Zag Permutation)[3]。其速度快,但乱序表固定或有限,对明、密文攻击都脆弱[1],且大幅降低了压缩率[2];块置乱(Block Shuffling)和块旋转(Block Rotation)[4]同样对明、密文攻击脆弱。由于没有加密宏块的运动矢量,视频的运动信息非常清楚,同时子带乱序[4]方式也降低了压缩率。②改变Huffman码表方法[5,6]。它不增加处理负担(Lightweight),可以不降低压缩率,但因密钥空间受限而降低了安全性,且产生密钥困难[5,6];密钥码表固定,不能抵抗明文攻击;码字出现依长度具有统计规律,便于唯密文分析。③VLC码字映射成定长索引加密[7,8]。其增加了加密比特数即计算量;不同长度码字统一处理(可为多个VLC码字数是2的幂的子集),降低了压缩率。④随机改变VLC码字符号位[9,10]。它不降低压缩率,但加密信息量过少,安全性不高。这些方法虽能保持编码格式,但均存在明显缺陷,实验还表明它们的视频信息隐藏效果不够。

本文提出利用密钥矩阵序列随机改变乱序表的视频乱序加密方法(Random Matrix Sequence Permutation,RMSP),通过帧内MB乱序来加密视频画面形状和帧间运动信息,通过块内VLC码字乱序来加密纹理细节信息,两者结合使明文视频信息完全隐藏;再由随机序列构造乱序密钥矩阵序列,通过使用每次随机变化的乱序表,使乱序接近一次一密的安全强度。RMSP方法速度快、完全保持编码格式、不降低压缩率,能同时满足安全、实时、传输处理、码流带宽等多项实用要求。

2基于密钥矩阵序列的变模乱序算法

乱序是保持明文的基本元素(如文本的字符、数据的比特位)相同,但顺序被打乱。利用乱序算法的特点,以VLC码字为基本元素而在加密时保证相同,就很容易保证VLC码字合法有效,解决格式兼容问题。由于视频信号数据量大,RMSP以帧为分组对MB乱序、以块为分组对VLC码字乱序,均便于操作。但每帧MB个数和每块VLC码字数都不固定,即每组元素个数不断变化。乱序分组的元素个数称为模数,模数可变的乱序称为变模乱序。

2.1乱序算法描述

2.3由随机序列生成乱序矩阵序列

一次一密被证明是绝对安全的密码体制,给序列密码的研究和应用以强大支持,并取得了不少高性能密钥序列的研究成果[11]。这些序列虽不能直接用于RMSP,但其随机性成果可以利用。RMSP设计了一种由随机序列构造变模乱序矩阵序列用于变模乱序的算法。

3RMSP算法及实现

RMSP方法同时使用MB乱序加密形状与VLC码字乱序加密纹理实现互补,达到完全隐藏画面视觉信息和互相消除相关性的效果,使用随机乱序矩阵序列实现一次一密。其增加计算量不多,可满足实时应用。

3.1MB乱序

当前广泛应用的编码标准的视频数据呈层次结构,每帧划分为16×16像素的宏块MB并按顺序传输,接收方按此逐块解码恢复原视频。若以每帧分组,以MB为基本元素乱序,速度快、不降低压缩率、完全保持编码格式,非法接收方也能正常解码,但原视频的形状信息被隐藏。块间差分的DC和预测帧运动矢量同时得到加密,PB帧密文完全不能理解。

MB乱序加密形状效果很好,但没有加密纹理细节。MB乱序效果如图1(b)所示。由于AC没有加密,MB内纹理可辨,尤其如边界清楚的数字、字母等。将各块差分DC置零(即DC为常数)时如图1(c)所示。为更清楚说明问题,图1(d)所示为破译了DC时的情况。相邻MB的边界像素值相关,DC加密使相邻边界像素值变得不相等,但其差值仍接近相等,这个未被加密的相关性为用拼接方法破译I帧提供了足够的条件。破译I帧就得到了主要视频信息,所以单独的MB乱序不安全,易被破译。

3.2VLC码字乱序

帧内压缩主要基于DCT和VLC等。数据一般分成8×8像素块(Block),经DCT得到8×8系数块。每个宏块包括四个亮度块和两个色差块。一般将游程编码与熵编码结合进行。每一非零DCT系数对应一个Event(Last,Run,Level),各Event查表得到VLC码字并顺序传输。

在每块中将VLC码字作为基本元素乱序。若块尾(最后一个)VLC码字改变位置,则将其(Last)置零,而让乱序密文的块尾VLC码字改为对应Last=1的码字。

该算法加密纹理效果好,画面细节、数字、字母等都无法识别,速度快,保持编码格式,也不降低压缩率。但是密文画面的轮廓可能很清楚,图2为仅采用VLC码字乱序的效果。

3.3两种乱序的同步实现算法

在RMSP中,MB乱序以帧(Frame)分组,VLC码字乱序以块分组,对应以MB和VLC码字为元素。MB乱序和VLC码字乱序结合进行,先分析一帧编码流并生成MB乱序密钥矩阵,按矩阵找到各宏块。针对其六个块生成VLC码字乱序密钥矩阵,按矩阵输出各VLC码字。

本文原文

在视频编码数据流中:①每帧编码宏块数和每块VLC码字数不恒定,因此每分组要产生相应不同阶数的密钥矩阵;②每元素的数据长度也是变化的,因此定义指示元素数据的结构,并用结构数组指示每分组的元素数据的起点和长度。

(4)MB直接送回缓冲区排队。

(5)分别对六个块执行VLC码字乱序。生成VLC码字乱序密钥矩阵并按元素指示将VLC码字送回缓冲区重新排队。每块若最后一个码字参与了乱序,则其对应Last=1要换为对应Last=0的码字;将乱序后的最后码字(对应Last=0)换为对应Last=1的码字。

(6)对MB乱序矩阵下一元素,重复执行(3)~(5),送出最后一个MB。

(7)返回第(1)步读下一帧数据。

接收方解密时只要将乱序密钥矩阵改为解乱密钥矩阵即可,其余算法相同。

4RMSP方法的性能分析

4.1加密效果

RMSP加密Clairec、Mobile序列后再按标准解码。I帧画面分别如图3(a)、(c)所示;预测帧效果分别如图3(b)、(d)所示,完全不能得到原视频信息。

4.2常规攻击方法

由于视频数据量大,RMSP又采用一次一密方式,只要选用足够随机的密钥流,常规攻击方法很难破译。穷举攻击几乎不可能,仅考虑对单帧的攻击情况。由于预测帧(PB帧)解码离不开参考帧(最终依靠I帧),攻击者必先破译I帧。I帧Cif方式有396个编码宏块,Qcif方式有99个,分别有396!和99!种排序。Qcif预测帧最少约20个编码宏块,在已破译I帧的前提下还有20!>>257种排序方式。

破译少量块数的块内VLC乱序没有意义。若要得到有价值的信息量,如1/3数量的块,Qcif应为198块,计算量非常巨大。已知明文或选择明文攻击也无效,由于VLC码字乱序和MB乱序双重互补加密,明文和密文很难对照找出乱序表得到密钥流,即使得到部分密钥流,只要很容易地选用线性复杂度比较高的密钥流,因为每帧每块的乱序表(码本)都是不同的,就难以得到其他视频信息。

4.3特殊攻击方法

VLC码字乱序和MB乱序也在抗攻击能力上互补。纹理清楚的块组成的MB的边界特征信息丰富,便于MB拼接。但是由于VLC码字多而乱序充分难破译,无法获得MB边界相关性。VLC码字少的块容易破译,但大部分这种MB的边界信息接近,所以VLC码字乱序使攻击者难以依靠边界相关性来分析拼接乱序的MB。另一方面,MB乱序消除了邻块间VLC码字的相关性,增加了VLC码字乱序的破译难度。

MB除边界相关性之外,在全帧中的分布依画面随机不同而不同,不容易找到可利用的规律。但由于视频数据的相关性,DCT系数具有分布规律。相关性强的块内像素能量集中于左上角DCT系数(DC及低频AC),使DCT系数从DC到低频AC再到高频AC在三个方面呈现统计规律:①系数非零的频率由高到低;②系数绝对值由大到小;③非零系数间的间隔由小到大。块内像素变化平缓。相关性越强,这种分布规律越明显,能量越集中;反之纹理越清楚,相关性越弱,能量分散,就没有明显的规律。RMSP注重加密纹理清楚、信息量大的块,使利用这些特性的分析方法失效。

4.3.1频数分析

根据不同位置系数的非零频率不同,若乱序表固定或有限,如ZigZag乱序,可通过统计各个位置出现非零系数的频率来破译。尤其容易破译DC和低频AC从而得到主要的视频信息[1]。但是RMSP每块都使用随机不同的乱序表,频数统计得不到明确的系数分布特征,无法反映其非零频率的真实分布。因此依靠频数分析的唯密文攻击难以有效实施。

由于每块乱序表不同,只要选用较高线性复杂度的密钥序列,攻击者不能由已知明文破获,就不能破译其余的视频。明文攻击显然也无效。

4.3.2幅值分析

根据AC幅值的分布规律,将系数按Level从大到小排序,可以得到相关性强的块接近明文的效果。但这类块中纹理比较平缓,信息量小。在纹理清楚的块中,高频丰富,高频AC的幅值也较大,按Level大小排序没有效果,所以能够破译的块信息量少,而纹理细节清楚的块又不易破译。仅VLC乱序后按Level排序破译的画面效果如图4(a)所示,与未经破译的画面接近。其配合MB乱序,更抗分析。RMSP加密后经按Level排序破译的视频画面如图5所示。4.3.3间隔分析

根据非零系数间隔(即Event中的Run参数)的分布规律,将Event按Run从小到大重新排序,可以破译相关性强的块。同样,这类块中纹理比较平缓,信息量小。在纹理清楚的块中,高频丰富、非零系数分布均匀、非零高频AC也比较集中,难以破译,因此能够破译的块含信息量小,而信息量大的块又难以破译。仅VLC乱序后按Run排序破译的画面效果如图4(b)所示,与未经破译的画面接近。RMSP加密后经按Run排序破译的视频画面与图5效果基本一致。

对块内VLC码字乱序而言,若块内像素相关性强,系数能量集中,量化后只有DC和少量低频AC。虽然易于破解但纹理平缓、信息量小且不含形状轮廓信息,边界信息接近故无助于MB拼接;块内纹理清楚或处于轮廓处的宏块,则必然高频丰富,AC能量分布均匀,非零系数多而乱序充分,破解就很困难。而仅知道DC和少量低频AC,不仅宏块内纹理不清楚,也不能为拼接破解宏块乱序提供相关性信息,配合难以正确拼接破译的MB乱序,视频画面仍不能理解。对RMSP方法,仅破译DC和少量低频AC是没有用的(若DC另用差分编码,则更难破译)。综合来看,RMSP方法使攻击者难以有效利用视频数据特性进行分析破译。

4.3.4其他性能

实验中硬件配置:P4 2.4 GHz CPU、256 MB DDRAM;编解码器采用MPEG-4校验模型[12];密钥流采用A5[12]和RC4[12]组合,RC4的输出作为A5的密钥,每图组I帧更换,便于同步,由A5输出序列生成乱序密钥矩阵序列;视频规格为Cif(Qcif)和YUV格式文件。

YUV视频数据分别选用Clairec(90 f)、Mobile(300 f)、Foreman(225 f)等序列,经压缩编码得到文件file_mpg,再经加密得到file_mpg_ecr,解密得到file_mpg_dcr,再解码得到file_dcr.yuv。

(1)速度。RMSP方法加/解密过程包括三步:①读入并分析视频流;②产生密钥序列并生成乱序(解乱)矩阵序列;③按密钥矩阵输出密(明)文视频流。①、③主要是比特流读写和数据提取定位,速度快且用时少。I帧宏块多,且要作块内DCT系数乱序,故用时较多,但不超过1 ms/f。只对非零DCT系数乱序,减少了计算量,速度远快于ZigZag乱序(约12倍)。②用时较多且主要在于密钥序列生成上,但仍比直接应用序列密码要快得多。因为用于生成乱序矩阵序列的密钥流约为被加密视频流的1/11,步骤②的软件实现不超过8 ms/f,整个加密过程不超过8 ms/f,可满足实时应用。

编码视频流1 020 544 Bytes(Foreman),需密钥流98 225 Bytes,相差约10.39倍,这说明比序列密码节省大量的密钥生成时间。每帧耗时如表1所示。表中列出采用相同算法生成密钥序列与编码视频流异或的序列密码耗时及与RMSP方法的比较。两者平均速度差约4.71倍。

(2)密文格式。不加密各层格式信息数据,两种乱序都保持移动后的数据合法,保持VLC码字块尾标志符合语法。file_mpg_ecr可直接按标准解码得到正常完整的视频(本实验为YUV文件),部分显示如图3所示。解码器不报错,说明加密过程完好保持了数据格式的兼容性。

(3)码流大小。两种乱序都只作视频流中的比特段移位,不改变原数据流大小。明文文件file_mpg、file_mpg_dcr长1 020 544 Bytes(Foreman),密文file_mpg_ecr长1 020 546 Bytes,说明未降低压缩率。

(4)抗误码能力。只要碰到正确的I帧,密文流与密钥流即可同步,正确解密。在第19帧(P帧)模拟误码,此后解密画面逐渐模糊。由于实验环境是文件存取,到第30帧(第二GOP的I帧)即重新恢复清晰。若是视频会议环境具有丢包重编I帧功能,同步更及时。

5总结和讨论

为了解决VLC码字加密的难题,达到视频加密同时满足安全、实时在线、保持压缩率、格式兼容等矛盾性要求,通过分析利用视频编码数据的特性,提出了RMSP方法。RMSP与现有方法比较具有更实用的特点:①兼容,完全保持编码标准格式,密文状态下传输处理方便;②安全,视频画面不能理解,充分消除了攻击者可利用的相关性,可选用随机序列密钥,达到对应序列密码的抗分析强度;③实时,速度比使用相同密钥的序列密码快四倍以上,可满足在线处理需要;④保持压缩率,完全不改变明文编码流长度;⑤丢包后恢复密钥流同步能力可靠,适用于主流编码标准,可制作独立模块。

参考文献:

[1]QIAO Lintian, NAHRSTEDT K. Comparison of MPEG encryption algorithms [J].Computer & Graphics,1998,22(4): 437-448.

[2]徐正全,杨志云,李伟,等.数字视频加密技术发展现状及展望[J].武汉大学学报,2005,30(7):570-574.

[3]TANG Lei. Methods for encrypting and decrypting MPEG video data efficiently:proceedings of the ACM Multimedia[C].Boston:[s.n.],1996:219-230.

[4]ZENG Wenjun, LEI Shanmin. Efficient frequency domain selective scrambling of digital video [J].IEEE Transactions on Multimedia,2003,5(1):118-129.

[5]SHI Changgui, BHARGAVA B.Light-weight MPEG video encryption algorithm:proceedings of the International Multimedia Conference on Multimedia[C].New Delhi:[s.n.],1998:55-61.

[6]KANKANHALLI M S, GUAN T T.Compressed-domain scrambler descrambler for digital video [J].IEEE Transactions on Consumer Electronics,2002,48(2):356-365.

[7]WEN Jiangtao, SEVERA M, ZENG Wenjun,et al. A format-compliant configu-rable encryption framework for access control of multimedia:IEEE the 4th Workshop on Multimedia Signal Processing[C].[S.l.]:[s.n.],2001:435-440.

[8]WEN Jiangtao, SEVERA M, ZENG Wenjun,et al.A format-compliant configurable encryption framework for access control of vi-deo [J].IEEE Transactions on Circuits and Systems for Video Technology,2002,12(6):545-557.

[9]SHI Changgui, BHARGAVA B.A fast MPEG video encryption algorithm:proceedings of the 6th ACM International Multimedia Confe-rence[C].Bristol:[s.n.],1998: 81-88.

[10]袁春,钟玉琢,贺玉文.基于混沌的视频流选择加密算法 [J].计算机学报,2004,27(2):257-263.

文明密码篇5

关键词:加密  解密  陷门收缩 算法

1.引言

   计算机网络技术使信息科学得到了飞速发展,同时也带来了一系列数据安全问题,需要有高强度的加密安全措施才能保证其安全。近年来,密码技术有着突飞猛进的发展,密码学的研究十分活跃,出现了众多公钥密码系统。本文设计了一种基于“陷门收缩”原理的一种公开密钥密码算法,给出了私有密钥的构造方法,并对密码长度、保密强度进行了分析。

2.设计思想

   根据merkle和hellman提出的经典陷门收缩算法的基本思想,“背包问题”在不知道“陷门信息”的情况下是难以计算求解的,如果知道了“陷门信息”,则求解就变得容易了。

    本文算法的私有密钥(解密密钥)是在数论的“陷门收缩”理论基础上由随机产生加复杂构造而生成,符合“收缩”计算规律,并利用陷门原理,由私有密钥导出公有密钥(加密密钥)。加密时根据公有密钥由明码导出密码;解密时,利用陷门原理,由密码及关键数导出中间密码,并根据私有密钥收缩求出明码。

    本算法的一般数学描述为:

    设x为明码

       为密码

       为中间密码

       为公有密钥 (公开)

       为私有密钥 (保密)

    加密过程:

    解密过程:①

              ②

    在密码分析的攻击中,密钥占有极其重要的地位,由于公开密钥密码体制自身的特点,私有密钥的设计成为该密码体制中的关键技术。本文所述的关键是以“陷门收缩”理论为基础构造产生出符合收缩计算规律的私有密钥。私有密钥的构造产生方法,体现了本算法的特点,使该算法具有较高的保密强度。

3.本算法的原理与方法

3.1  算法中用到的一些变量及私有密钥的构造原理

(1)设要求加密的数据为x(明文),即

     ,    ∈(0,1)

    (2)关键数据r,t,s满足

      ①(r,t)=1

      ②r>t

      ③t•s(mod  r)=1

    (3)设计构造一组私有密钥(解密密钥) 使其满足

      ① ,   =2,3,…,64

      ②r>

    算法中应将r,s,t, 私有保存。

    (4)求一组加密密钥  (公开),使其满足

           •t(mod  r)

3.2  加密过程

           密文:

3.3  解密过程

       (1)求关键数s,因为

          s•t(mod  r)=1

          (r,t)=1

    所以可利用欧几里得算法求得s。

       (2)求中间密码 ,有

           •s(mod  r)

       (3)收缩求解 ,有

           

                  1      当 时  

       即                 

0      其它

                 1      当 时

                                             ( =n-1,n-2,…,3,2,1 ) 

0         其它

4.  私有密钥的构造与密码长度分析

4.1  私有密钥的构造

私有密钥的设计构造是本文的目的和重点,也是实现本算法的关键。假设一个明码的长度为64bit,即为  ( 为0或1),私有密钥 的个数应与明码的长度相等,即i=64。由数论中的收缩理论可知私有密钥  应满足如下公式:

             =2,3,…,64

    因此对私有密钥可进行如下构造:

    (1)产生一组随机整数 ,0≤ ≤64

    (2)构造  ,    1≤n≤65

使 满足   ,为符合收缩计算规律的私有密钥。它是由困难的收缩问题转换为易解的收缩问题,求解明码x的关键所在, 也是算法的核心所在。对于掌握了私有密钥的人来说解密容易,而对于局外人,不知道私有密钥则求解却十分困难,包括解密与求解该私有密钥。

4.2  密码长度分析

    如前所述私有密钥 是由64个随机数  (0≤ ≤64),根据

              =2,3,…,64

    的理论按照公式   构造产生出来的,即:

          

    由于 ≤64,其最大值为 =64,据此可分析 可能达到的最大值。

因为

    那么取 =64,则

        

    因为r>

    又因为

    所以取r=

    已知 r-1

        

          

           •(r-1)

          

由此可知密文的最大长度可能达到 , 因此加密后的密码长度将大于或等于明码长度(64bit),因此若加密过程中每次从文件中取8个字节长的明码进行加密,那么解密过程中就要每次从加密后的文件中取10个字节长的密文进行解密。

5. 算法的保密强度分析

5.1  密码体制的安全性

    密码体制的安全性在于:一是密钥的管理。包括密钥的产生、选择、传递、改变以及取消等安全措施。二是加密、解密算法的设计。即使已知明文x 和相对应的密文y,甚至掌握了加、解密算法本身,也很难计算出密钥来, 因而就不可能根据未被破译的密文,得到原来的明文。由此可知,密码体制的保密性应取决于对密钥的保密,而不是算法的保密。这是一个好的密码体制所应该具备的特征。公钥密码体制正具备这样的优点:它公开加密算法和加密密钥,只对解密密钥进行保密。

    密码算法要能够挫败对方的攻击,必须使明文成为密文和密钥的一个足够复杂的数学函数,并使每个密钥成为密文和明文的一个足够复杂的函数。对于公钥密码体制来说,一般保密强度是建立在一种特定的已知问题求解困难这个假设之上的。如rsa公钥密码和背包公钥密码, 前者其密码强度建立在具有大素数因子的合数因子分解困难这个著名的数学难题之上,后者其密码强度建立在著名的古典背包问题的数学难题之上。因此,公钥密码算法本身就应具有较强的保密强度。

对于密钥,由于其在密码分析攻击中占有极其重要的地位,而公钥密码又只对其解密密钥进行保密,因此密钥的设计和保护就成为该加密体制的关键技术。

5.2  算法的保密强度分析

    一般来说,对密码的破译方法有两种手段:一是采用频率分析法(即穷举法),即以借助机器来试验可能的取值;二是采用对密文分析的手段,即找到密文中的一些特殊性,或在掌握了部分明文的基础上对密文进行分析。

     对于本算法采用第一种破译手段是不可行的, 由于该算法明文 的长度为64bit,则可能的x取值有

                 

若对x的每一取值计算 ,并将结果与密文 比较,若相等,则 就是所求。 假如用一台每秒作10亿次运算的处理器,进行上述算法的穷举试验的时间复杂性是o( ),所花费的机器时间需要约21296天,即大约58年的时间。若用1000个处理器,则需要21天,因此这种破译方法显然不切实际的。

    对于本算法采用第二种破译手段也是无效的。首先该算法即不是“变形”密码也不是“变位”密码,其密文不存在“变形”和“变位”特性:其次通过密码分析获知的信息来得知x成为计算上的不可行。 本算法是基于一种特定的陷门单向函数,利用秘密陷门信息 ,r,s,t,使公开密钥 不能为破译密文提供信息,在不知道 陷门信息的情况下,仅根据已知的 和加密算法,用求逆的方法求解 将会遇到特定的计算难题,在多项式时间内无解,并且至今尚无有效的求解算法。

    对于密钥的攻击,由于该算法的私有密钥(解密密钥)   ( =1,2,…,64) 的最大长度可达 ,因此, 由上述可知用穷举法来求解该算法的私有密钥是不可行的,64个私有密钥穷举其中一个,可能取值就有

      

其次该算法的私有密钥具有随机和构造双重性质,想通过已知的公钥 来推导出 也是不可能的。

       •t(mod  r)

       是随机产生加构造而确定

               ( 为随机整数)

      最大长度可达 bit,穷举法无效。

    r>

    r>t  ,且(r,t)=1

且 ,r,t都是保密的,因此无法由 •t(mod  r)求解出 。

6.结束语

本文基于“陷门收缩”原理的公钥算法,是以经典的陷门收缩算法为依据经改进而提出的一种公开密钥密码算法。它除具有公钥密码的一般优点外,还具有以下特点:以坚实的数论理论和密码学理论为基础,具有充分的理论依据和较高的可靠性,私有密钥具有随机性和复杂构造性,从而提高了私有密钥的保密强度和算法的安全性。

参考文献

1.[美] bruce schneier.《应用密码学(协议、算法与c源程序)》.机械工业出版社,2000.2

文明密码篇6

关键词:C++语言;加密;置换算法;移位

中图分类号:TP391

虽然已有多种技术可应用到计算机系统和网络的安全性,然而近几年来,国内外针对数据安全方面的研究比较注重在两个方面,首先是以密码学为基础的各种应用性加密措施(如公开密钥算法和保密密钥算法);其次是以计算机网络(尤其对象是以Intranet以及Internet)通信安全研究。数据加密技术仍然是在保障网络通信安全方面所依赖的主要技术。最基本的加密方法只有两种,即置换法和易位法,其它实现方法主要都是基于以上两种方法所构成的。为配合信息安全或网络安全的应用和实践,使用户更好地理解和掌握信息加密原理,本设计主要通过分析部分应用的置换算法,给出了该算法的程序具体实现步骤和设计方法,并提供一个比较完整的加密解密的C++源程序例子。

文件加密的原理:以二进制的形式,对要加密的文件逐个字符进行读取;按照新的编码原则,对原有的字符进行编码,形成的新的字符便是加密后的文件的内容。

1系统的基本要求

本文通过程序,将已有文件进行加密。其中要求加密方式不止一种,也就是说,运行程序后,提供给使用者不同的选择。用户可以根据自己的需求,选择相应的功能,就可以得到不同的结果。同时,也要将加密或解密后的程序予以保存。原文件和需要保存的文件路径由使用着自己确定。

算法描述

本文总共介绍三种比较简单而具有代表性的算法:

(1)单表移位算法;

(2)多表移位算法;

(3)置换算法。

其功能是将某一已知文件的数据(仅于英文字母)以字符形式读出,根据密钥或密码(用户通过键盘输入)将对应字符数据进行相应加密并输出结果。

2算法

2.1算法设计思想

实现加密置换算法一般是使用计算机程序编程,第一要设计良好密码源文件,建立密码源文件的方法与建立一般结构性文件的方法相似,这里假定已经设计好密码字典文件(提供的源程序中也有建立密码源文件数据的功能),文件名为“dictionary.dat”,密码源文件为了便于用户保存,可保存在可移动磁盘(如移动硬盘),加密解密时可将其插入磁盘驱动器(如移动硬盘驱动器)中。

2.2单表移位算法

单表移位算法是明文的一个字符用相应代替另一个密文字符。加密过程就是从明文字母表一一映射到密文字母表的。

该方法是通过将英文字a到z循环右移三位后,形成d、e、f、…、a、b、e字符序列,然后把移位后的序列中的字母去分别替换未被移位序列中所对应位置的字母,即利用g置换e,用f置换c等等。

随后出现的凯撒算法是移动K位[2]。然而单一移动K位的置换算法还是相当容易被破译的,进行映像是较好的置换算法,如表1所示,将上行的源字符在无规则地映像到下行的密码字符,利用表1上行源码字符逐一对应下行密码字符,可将明文译为密文,如将明文information加密后变为密文ofygkdqzogf,将明文computer加密后变为密文egdhxztk。

表1

源码 … a b c v w x y z … 1 2 6 …

密码 … q w e c v b n m … 0 9 / …

单表代替密码比较简单,因此很容易破译的。因为它没有把明文的不同字母的出现频率掩盖起来。但可以用于统计攻击次数。

2.3多表移位算法

多表代替密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。第一个密钥加密明文的第一个字符数据,第二个密钥加密明文的第二个字符数据等等。密码的周期就是在所有的密钥用完后,密钥又再循环使用,若有40个单个字符密钥,那么每隔40个字符的明文都被同一密钥加密。

人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。

假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:

TO BE OR NOT TO BE THAT IS THE QUESTION

当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:

密钥:RELAT IONSR ELATI ONSRE LATIO NSREL

明文:TOBEO RNOTT OBETH ATIST HEQUE STION

密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。

2.4置换算法(行列换位法)

置换算法是是不改变明文字符前提下,只把字符在明文中的排列顺序改变,从而实现明文信息的加密,也叫换位密码。

置换法比较与发电报类似,人们在发电报时把发报人所写的每一个文字转换成一个四位的数字代码发出,然后在接收电报时把接收到四位数字码译成汉文字记录送给收报人。两者的差异是电报码为公开的,而置换法的转换码为秘密的,加解密双方协定的。因此,建立一个转换码的密码源代码文件(即通常所说的密码本)是解决问题的关键,即每一个分量存放两个字符,一是源代码字符,二是密码字符。如表1可以用作某一密码源文件的一部分模块。

3程序设计:

3.1主函数

3.1.1主函数主要完成的功能包括

(1)提供给使用者选择界面;

(2)根据使用者的选择,执行不同功能。

函数中首先要对自定义函数进行声明。运行该函数,显示出程序能够完成的加密与解密功能,并提供给使用者自行选择的空间。使用者根据系统提示,选择相应的功能后,通过选择语句,执行相应的函数模块,以满足用户的要求。

3.2加密部分

加密部分是整个程序关键部分,对文件的加密过程要在这里完成。该部分包括三种不同的自定义函数:单表移位算法、多表移位算法以及置换算法。虽然是三个不同的函数,但总体思想是一致的。

3.3算法模块的区分以及实现(方框图表示)

图1单表移位算法方框图 图2单表移位算法流程

图3单表移位算法方框图 图4置换算法方框图

图5置换算法方框图图6置换算法方框图

4程序适用平台

本程序适用于VC++平台,将某一字符(英文字符)进行加密处理,根据用户实际应用需求,选择适当需求的加密算法进行加密处理。

5结论

本文通过C++语言具体实现加密算法,探讨了英文字符的加密问题,同时该算法能扩展到更多文字字符的加解密,另一方面来说这加解密问题的实现会复杂一点。

密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。

目前加密算法已被广泛的应用,随着计算机和Internet的普及,随着数字化和信息化社会的发展,密码学必将在经济交流、国家安全、网络安全及人民生活等方面发挥更大作用。

参考文献:

[1]WADE TRAPPE,LAWRENCE C WASHINGTON.密码学概论[M].北京:人民邮电出版社,2004.

[2]范辉,谢青松.操作系统原理与实训教程[M].第2版.北京:高等教育出版社,2006.

[3]黄明.21世纪进阶辅导C语言程序设计[M].大连:大连理工大学出版社,2005.

[4]马靖善.C语言程序设计[M].北京:清华大学出版社,2005.

[5]张毅坤.C语言程序设计教程[M].西安:西安交通大学出版社,2003.

文明密码篇7

由大整数因数分解的困难,人们研制成功一种“不可破译”的密码:RSA体制密码(见本刊2000年第6期《大整数的因数分解问题》一文).RSA密码是一种公开密钥密码,说它“不可破译”是形容破译之难,不过的确至今尚没找到破译的理论工具.

一般密码编制理论中,称要传递的原文为“明文”,经加密后实际传递的是密码构成的“密文”,收信方则将其解密,恢复为明文使其可理解,就完成了通信任务.这其中加密和解密要用通信双方约定的方法,这一方法就称为密钥.更一般地,人们首先给定一个加密算法,不太严格地说,可把这一算法视为函数,函数的值就是密钥,而解密算法可以说是加密算法的一个反函数,使用同一个密钥(原函数的值)可将密文惟一地译成明文.

密码的关键就在于通信双方约定密钥而不被外界所知,外界对密码的破译也就指向密钥了.而且为了防止外界可能的破译,就应尽力使外人不可能积累在同一密钥下的许多密文,否则可用统计分析法等确定出密钥,世界战争史、外交史上有许多破译成功的例子.这样就经常变换密钥,重要的通信要每天一换甚至通一次信换一次.

这么频繁换的密钥怎样送给对方?如果随其他信息(用无线电或网络)易于失密,每次派专人送又不可能,怎样解决这一问题呢?这就是RSA密码的长处了,它把密钥分成加密钥和解密钥.如A和B通信,A把加密钥公开送达B(可用明码电报或与上次通信同时),不怕外人知道,所以叫公开密钥,而解密钥留在自己处不送达B,B收到公开密钥后,用它加密要给A的信息,然后送回A(这也无须特别秘密),则A可用手中的解密密钥解密.

外人没有解密密钥,就无从破译密码了,那么加密钥和解密钥就没有关系了吗?当然不是,否则就无法解密了.不过这种关系正是建立在大整数因数分解困难的基础上.换句话说,由公开密钥得出解密钥要进行一个充分大的整数的因数分解,你无法分解也就无法破译.

具体的编码过程是,先找出两个不同的大素数p和q,再给定一个数r(一般是用计算机产生一个随机数或至少一个伪随机数,也可每次一换),使r与数(p-1)(p-1)互素,这三个数p、q、r就是解密密钥.

再求一个数m,使(rm-1)能被(p-1)(q-1)整除.严格表述为:求m,使

rm1(mod(p-1)(q-1)).

由于r与(p-1)(q-1)互素,所以m是一定可求出来的(有数论定理保证).再求出数n=pq.m、n为加密密钥,即公开密钥.

具体的加密方法为,设明文为x,可把x视为(或变为)一个大整数,设x<n,若x≥n,则将x表示为s进位的形式(s≤n,常用s=2t形式)的数,使其每一个数位上的数都小于n,再分数位进行编码.求一个数y(0≤y<n)使

yxm(modn)(可理解为,使(y-xm)能被n整除),y就是用m、n密钥加密后的密文.

解密过程为,求

z=yr(modn)(0≤z<n),

在限定的条件(0≤y<n,0≤z<n)下有(可严格证明)

δ=x,

即得出明文.

外人要想破译密码,就必须由m、n求出数r来.

由此可见,要找到r必须由n得出p和q,即对n进行因数分解,如p、q取得相当大,即n相当大,由于分解困难,无法破译这一密码.

由于运用现代计算机已可分解100位左右数的因数,因此n要取得相当大,从而p、q也要取得相当大,比如每个数80位以上,再求积,这在技术上是可能的.

文明密码篇8

数据加密技术

古典加密方法主要有两类,即替换密码和易位密码。替换密码的原理是将每个字母或每组字母用另一个或一组伪装字母所替换,例如字母a~z的自然顺序保持不变,但使之与D,E,F,G,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C对应。若明文为Caesarcipher,则对应的密文为FDHVDUFLSKHU。这种加密方法比较简单,容易破解。古典加密技术使用的算法相对简单,它主要是靠较长的密钥来实现信息的保密。今天的加密方法与传统加密技术相反,它使用很短的密钥,但算法设计非常复杂,主要是防止信息截取实现密码破译。这其中的关键是密钥,它是密码体制安全的重中之重。密码体制分为对称密码体制、非对称密码体制和混合密码体制。对称密码体制又名单钥密码体制,非对称密码又名双钥密码体制,而混合密码体制是单钥密码体制和双钥密码体制的混合实现。例如:分组密码和公开密钥密码体制。

1分组密码

分组密码属于对称密码体制(单钥密码体制)中的一种,它的原理是将整个明文进行分组,以组为单位来进行加密和解密。其中最常用的数据加密标准是DES(美国的数据加密标准)和IDEA(国际数据加密算法)。分组密码在加密时,首先将拟加密的数据信息按照64比特进行分组,然后用长度是56比特的密钥对数据分组进行变换。解密时,用相同的密钥将加密后的数据信息分组做加密变换的反变换,即可得到原始数据信息分组。

2公开密钥算法

公开密钥算法属于非对称密码体制,它是一种全新的加密算法。该系统在加密时所使用的密钥与在解密过程中所使用的密钥是完全不同的,而且在解密时所使用的密钥是不能够从加密时所使用的密钥中计算出来的。这种加密密钥是可以公开的,每个使用者都能使用加密密钥来加密自己所发送的信息数据,所以也被人们称之为公开密钥算法。但是,要想读懂发送者发出的信息数据内容,就必须要知道解密密钥,这种解密密钥被称之为私有密钥。在已经使用的公开密钥密码体制中,RSA算法使用得最为广泛。数学上,两个大素数相乘容易,但要对其乘积进行因式分解却极其困难,所以RSA算法将乘积公开作为加密密钥。

数字签名技术

上一篇:李煜浪淘沙范文 下一篇:擀面杖吹火范文