数加密技术 发布时间: 2003113 作者:秩名 常需种措施保护数防止怀良心者破坏
信息时代信息帮助团体受益样信息构成威胁造成破坏
竞争激烈公司中工业间谍常会获取方情报
客观需种强力安全措施保护机密数窃取篡改
数加密解密宏观讲非常简单容易理解
加密解密方法非常直接容易掌握方便机密数进行加密解密
:数加密方法 传统种方法加密数流
方法软件容易实现知道密文时候容易破译加密算法(时原文密文时破译加密算法然容易已)
加密算法系统性没影响带优点
例家知道pkzip压缩数加密数
dbms软件包总包含加密方法复制文件功敏感数效者需户密码
加密算法高效加密解密力
幸运加密算法中简单种置换表算法种算法达加密需
数段(总字节)应着置换表中偏移量偏移量应值输出成加密文件
加密程序解密程序需样置换表
事实80x86 cpu系列指令xlat’硬件级完成样工作
种加密算法较简单加密解密速度快旦置换表方获加密方案完全识破
更进步讲种加密算法黑客破译讲相直接找置换表
种方法计算机出现前已广泛
种置换表方式改进2者更置换表表基数流中字节位置者基数流身
时破译变更加困难黑客必须正确做次变换
通更置换表伪机方式表种改进加密方法已变难破译
偶数位置数a表奇数位置b表黑客获明文密文想破译加密方案非常困难非黑客确切知道两张表
置换表相类似变换数位置计算机加密中
需更执行时间
输入中读入明文放buffer中buffer中重排序然序输出
解密程序相反序原数
种方法总加密算法混合破译变特困难
例样词变换起字母序slient 变listen字母没变化没增加没减少字母间序已变化
种更加密算法计算机做字字节循环移位xor操作
果字字节数流做循环移位变化方(左移右移)迅速产生加密数流
种方法破译更加困难更进步果xor操作位做异操作破译密码更加困难
果伪机方法涉产生系列数字fibbonaci数列
数列产生数做模运算(例模3)结果然循环移位结果次数破译次密码变fibbonaci数列种伪机方式产生密码解密程序讲非常容易
情况想够知道数否已篡改破坏时需产生校验码校验码插入数流中
样做数防伪程序身处
感染计算机程序病毒会意数程序否加密否数字签名
加密程序次load存开始执行时检查身否病毒感染需加解密文件做种检查然样种方法体制应该保密病毒程序编写者会利破坏程序数
反病毒杀病毒软件中定加密技术
循环冗余校验种典型校验数方法
数块位循环移位xor操作产生16位32位校验 丢失位两位错误定会导致校验出错
种方式久应文件传输例 xmodemcrc
方法已成标准详细文档
基标准crc算法种修改算法发现加密数块中错误文件否病毒感染效
二.基公钥加密算法 加密算法重特点具种力:指定密码密钥加密明文密码密钥产生密文
分两种方式:称密钥算法非称密钥算法
谓称密钥算法加密解密相密钥非称密钥算法加密解密密钥
非常著名pgp公钥加密rsa加密方法非称加密算法
加密密钥公钥解密密钥私钥非常
数学理讲没真正逆算法存
例输入a’执行操作结果b’基b’做相应操作导出输入a’
情况种操作确定值者该操作没定义(数0)
没定义操作讲基加密算法成功防止公钥变换成私钥
想破译非称加密算法找唯密钥唯方法反复试验需量处理时间
rsa加密算法两非常素数产生公钥私钥
公钥中通数分解私钥运算包含计算量非常巨现实行
加密算法身慢rsa算法加密量数变行
现实中加密算法基rsa加密算法
pgp算法(数基rsa算法加密方法)公钥加密称加密算法密钥然利快速称加密算法加密数
称算法密钥机产生保密密钥唯方法私
钥解密
举例子:假定现加密数密钥12345’
利rsa公钥rsa算法加密密钥12345’放加密数前面(面着分割符文件长度区分数密钥)然称加密算法加密正文密钥12345’
方收时解密程序找加密密钥利rsa私钥解密出然确定出数开始位置利密钥12345’解密数
样高效加密数安全传输解密
简单基rsa算法加密算法面站点找: 三.崭新步加密算法 现出现种新加密算法说破译
算法1998年6月1日正式公布
面详细介绍算法 系列数字(说128位密钥)产生重复高度机化伪机数字序列
次256表项机数序列产生密码转表示: 256机数放距阵中然进行排序样种方式(记住初位置)初位置产生表意排序表表中数字0255间
果明白做
面提供原码(面)明白做
现产生具体256字节表
机数产生器接着产生表中余数表
步shotgun technique技术产生解码表
基说果 a映射bb定映射ab[a[n]] n(n0255间数)
循环中赋值256字节解码表应刚步产生256
字节加密表
方法已产生样表表序机产生256字节机数二次伪机两额外16位密码现已两张转换表基加密解密样工作
前字节密文256字节表索引
者提高加密效果余8位值甚校验者crc算法产生索引字节
假定表256*256数组会面样子 crypto1 a[crypto0][value] 变量crypto1加密数crypto0前加密数(着前面加密数函数值)
然第数需种子种子 必须记住
果256*256表样做会增加密文长度
者产生出机数序列密码crc校验
便提作样测试 16字节产生表索引128位密钥作16字节初始种子
然产生出机数表加密数速度达秒钟100k字节
定保证加密解密时加密值作表索引两次定匹配
加密时产生伪机序列意设计成想序列
没关机序列详细信息解密密文现实
例:ascii码序列eeeeeeee转化成机没意义乱码字节赖前字节密文实际值
单字符种变换说隐藏加密数效真正长度
果确实理解产生机数序列考虑fibbonacci数列2双字(64位)数作
产生机数种子加第三双字做xor操作
算法产生系列机数
算法: unsigned long dw1 dw2 dw3 dwmask int i1 unsigned long arandom[256] dw1 {seed #1} dw2 {seed #2} dwmask {seed #3} this gives you 3 32bit seeds or 96 bits total for(i10 i1 < 256 i1 ) { dw3 (dw1 dw2) ^ dwmask arandom[i1] dw3 dw1 dw2 dw2 dw3 } 果想产生系列机数字说0列表中机数间数面方法: int __cdecl mysortproc(void *p1 void *p2) { unsigned long **pp1 (unsigned long **)p1 unsigned long **pp2 (unsigned long **)p2 if(**pp1 < **pp2) return(1) else if(**pp1 > *pp2) return(1) return(0) } int i1 unsigned long *aprandom[256] unsigned long arandom[256] same array as before in this case int aresult[256] results go here for(i10 i1 < 256 i1 ) { aprandom[i1] arandom i1 } now sort it qsort(aprandom 256 sizeof(*aprandom) mysortproc) final step offsets for pointers are placed into output array for(i10 i1 < 256 i1 ) { aresult[i1] (int)(aprandom[i1] arandom) } 变量aresult中值应该排序唯系列整数数组整数值范围均0255间
样数组非常例:字节字节转换表容易非常产生短密钥(常作机数种子)
样表处说:产生机字符计算机游戏中物体机位置等等
面例子身言没构成加密算法加密算法组成部分
作测试开发应程序测试面描述加密算法
程序身次优化修改提高机数真正机性防止会产生短重复加密机数
程序加密文件破解文件会需非常巨时间现实
四.结: 现实生活中确保敏感数相应权限确保信息传输程中会篡改截取需安全系统量应政府公司系统
数加密肯定破解想特定时期安全说密文破解应该足够困难现实尤短时间
参考文献: 1 pgp cyber knights(new link) (old link ) 2 crypto chamber 3 ssh cryptograph az (includes info on ssl and https) 4 funet cryptology ftp (yet another finland resource) a great enigma article how the code was broken by polish scientists 5 ftp site in uk 6 australian ftp site 7 replay associates ftp archive 8 rsa data security (why not include them too) netscapes whitepaper on ssl
netscapecomdocsmanualssecuritysslincontentshtm
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档