用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心信息化信息技术

数据加密技术

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 15:18:43
个双字来做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 32-bit seeds, or 96 bits total

for(i1=0; 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

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(i1=0; 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(i1=0; i1

{

aresult[i1] = (int)(aprandom[i1] - arandom);

}

...



    变量aresult中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在0到255之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。



    作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。



  四.结论:

    由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。







参考文献:



1 . pgp!   http://www.pgpi.com/

cyber knights(new link)   http://members.tripod.com/cyberkt/

(old link:   http://netnet.net/~merlin/knights/ )

2 . crypto chamber   http://www.jyu.fi/~paasivir/crypt/



3 . ssh cryptograph a-z (includes info on ssl and https)   http://www.ssh.fi/tech/crypto/



4 . funet cryptology ftp (yet another finland resource)   ftp://ftp.funet.fi/pub/crypt/

a great enigma article, how the code was broken by polish scientists

http://members.aol.com/nbrass/1enigma.htm



5 . ftp site in uk   ftp://sable.ox.ac.uk/pub/crypto/



6 . australian ftp site   ftp://ftp.psy.uq.oz.au/pub/



7 . replay associates ftp archive   ftp://utopia.hacktic.nl/pub/replay/pub/crypto/



8 . rsa data security (why not include them too!)   http://www.rsa.com/

netscapes whitepaper on ssl

http://developer1.netscape.com/docs/manuals/security/sslin/contents.htm

上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:37,140.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号