- 中查找“数据加密技术”更多相关内容
- 中查找“数据加密技术”更多相关内容
- ·上一篇文章:网页设计制作规范
- ·下一篇文章:合并院校图书馆计算机网络系统的管理软件选型
数据加密技术
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
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论