密码知识教程一_安全相关

   谈起密码算法,有的人会觉得陌生,但一提起PGP,大多数网上朋友都很熟悉,它是一个工具软件,向认证中心注册后就可以用它对文件进行加解密或数字签名,PGP所采用的是RSA算法,以后我们会对它展开讨论。密码算法的目的是为了保护信息的保密性、完整性和安全性,简单地说就是信息的防伪造与防窃取,这一点在网上付费系统中特别有意义。密码学的鼻祖可以说是信息论的创始人香农,他提出了一些概念和基本理论,论证了只有一种密码算法是理论上不可解的,那就是 One Time Padding,这种算法要求采用一个随机的二进制序列作为密钥,与待加密的二进制序列按位异或,其中密钥的长度不小于待加密的二进制序列的长度,而且一个密钥只能使用一次。其它算法都是理论上可解的。如DES算法,其密钥实际长度是56比特,作2^56次穷举,就肯定能找到加密使用的密钥。所以采用的密码算法做到事实上不可解就可以了,当一个密码算法已知的破解算法的时间复杂度是指数级时,称该算法为事实上不可解的。顺便说一下,据报道国外有人只用七个半小时成功破解了DES算法。密码学在不断发展变化之中,因为人类的计算能力也像摩尔定律提到的一样飞速发展。作为第一部分,首先谈一下密码算法的概念。 
   密码算法可以看作是一个复杂的函数变换,C = F M, Key ),C代表密文,即加密后得到的字符序列,M代表明文即待加密的字符序列,Key表示密钥,是秘密选定的一个字符序列。密码学的一个原则是“一切秘密寓于密钥之中”,算法可以公开。当加密完成后,可以将密文通过不安全渠道送给收信人,只有拥有解密密钥的收信人可以对密文进行解密即反变换得到明文,密钥的传递必须通过安全渠道。目前流行的密码算法主要有DESRSA,IDEA,DSA等,还有新近的Liu氏算法,是由华人刘尊全发明的。密码算法可分为传统密码算法和现代密码算法,传统密码算法的特点是加密和解密必须是同一密钥,如DES和IDEA等;现代密码算法将加密密钥与解密密钥区分开来,且由加密密钥事实上求不出解密密钥。这样一个实体只需公开其加密密钥(称公钥,解密密钥称私钥)即可,实体之间就可以进行秘密通信,而不象传统密码算法似的在通信之前先得秘密传递密钥,其中妙处一想便知。因此传统密码算法又称对称密码算法(Symmetric Cryptographic Algorithms ),现代密码算法称非对称密码算法或公钥密码算法( Public-Key Cryptographic Algorithms ),是由Diffie 和Hellman首先在1976年的美国国家计算机会议上提出这一概念的。按照加密时对明文的处理方式,密码算法又可分为分组密码算法和序列密码算法。分组密码算法是把密文分成等长的组分别加密,序列密码算法是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或。当然当分组长度为1时,二者混为一谈。这些算法以后我们都会具体讨论。 
   RSA算法 
   1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 
   RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 
   密钥对的产生。选择两个大素数,p 和q 。计算: 
   n = p * q 
   然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足 
   e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 
   其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 
   加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是: 
   ci = mi^e ( mod n ) ( a ) 
   解密时作如下计算: 
   mi = ci^d ( mod n ) ( b ) 
   RSA 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证。具体操作时考虑到安全性和 m信息量较大等因素,一般是先作 HASH 运算。 
   RSA 的安全性。 
   RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前, RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解140多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。 
   RSA的速度。 
   由于进行的都是大数计算,使得RSA最快的情况也比DES慢上100倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。

时间: 2024-08-02 20:12:13

密码知识教程一_安全相关的相关文章

密码知识教程二_安全相关

   RSA的选择密文攻击.   RSA在选择密文攻击面前很脆弱.一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署.然后,经过计算就可得到它所想要的信息.实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:   ( XM )^d = X^d *M^d mod n   前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥.但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证工作过程中实体不对其他实体任

各种系统中密码文件的位置_安全相关

   相信很多的黑客朋友当进入一台远程电脑的时候最想得到的就是密码文件,然后自己破解一下就是这台电脑的系统管理员了,嘿嘿!可是密码文件在哪呢?听小编给你说一说! AIX 3 /etc/security/passwd ! or /tcb/auth/files/ of userna / A/UX 3.0s /tcb/files/auth/?/* BSD4.3-Reno /etc/master.passwd * ConvexOS 10 /etc/shadpw * ConvexOS 11 /etc/sh

CentOS下重置MySQL的root密码的教程_Mysql

本人在CentOS6.4上安装万mysql后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码. 首先,你必须要有操作系统的root权限了.要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤. PS:赋予用于root权限 方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注释(#)去掉 ## Allows people in group wheel to run all c

怎么查看已连接wifi密码 查看wifi的密码的教程

如何查看wifi密码方法一: 192.168.1.1进入路由器,这个可以直接查找到了,这个是非常的简单了. 如何查看wifi密码方法二: 在手机安装一个"RE管理器"和wifi万能钥匙  好像需要获得手机root权限.下面是RE管理器的密码获取教程. 步骤一:打开你的wifi万能钥匙的应用,点击一键查询万能钥匙, 步骤二:然后我们会看到后面有一个蓝色钥匙的标志 步骤三:意思是说是可以连接上网的,如我们点击CCCCCCCCCC这个连接 步骤四:打开你的额RE管理器,(前提是你的手机一定要

iPhone6 plus访问限制密码忘记了怎么办?iPhone6访问限制密码找回教程

iPhone6 plus访问限制的作用可以分为几大块. 一是对系统自带的应用进行限制,比如相机,Safari,安装删除应用程序等. 二是对不良的音乐,视频,图书等进行分级限制. 三是对手机的隐私,如定位,照片,蓝牙,日历,通讯录等进行限制. 四是对帐户的限制. iPhone6访问限制密码找回教程(未越狱) 打开iTools,在左侧菜单栏找到"文件系统",依次打开/private/var/keychains/,在keychains文件夹下我们会看到keychain-2.db文件,为防止意

QQ空间相册密码怎么破解 QQ空间相册密码破解教程

本文章介绍的破解方法是不需要工具了,可以直接使用缓存文件来进行破解了,具体步骤如下. 第一步.如我们打开一个要查看并且加密的相册了,然后我们打开"IE浏览器-工具-Internet选项"如下图所示. 第二步.之后我们在打开的对话框中点击"常规"然后找到 "Internet临时文件夹" 之后我们把 "删除cookies"和"删除Internet临时文件; 如下图所示 第三步.好了现在我们再点击 设置,进入之后再找到&q

密码破解全教程_安全相关

   在日常的计算机操作中,我们随时随地都离不开密码--开机要使用CMOS密码.进Windows  98要使用用户密码.编辑Word文档要设置文档密码--,所有这些都为用户的数据安全提供了必要的安全保障!不过随着密码应用范围的增加,遗忘密码的情况也在与日俱增(谁也无法保证自己绝对不会忘记密码)!在忘记密码之后如何破解这些密码,尽可能减少损失就成为广大用户所关注的一个话题.为方便用户的使用,现将常用计算机密码的破解方法向大家作一简要介绍:  一.开机密码  根据用户设置的不同,开机密码一般分为两种

NT完全入侵教程(新手篇)_安全相关

   现在的企业当中一般都是使用的NT系统,也不得不承认,NT系统的确是非常适合企业使用的操作系统,然而"黑客"的攻击引来了企业信息安全危机-- 得到了NT的管理员密码还能做什么,还不是想做什么就做什么呗.但到底能做什么呢?能详细答出来的只怕不会很多,而且很多企业系统管理员就认为密码为空没什么,因为他们压根就不知道"黑客"会怎么做.本文介绍的就是得到NT的管理员密码以后入侵一个企业计算机群的初级和中级手法,尤其是在一个大型企业当中,企业系统管理员的密码往往关系着整个

Serv-U得到管理员密码新招 (转)_安全相关

有时候我们在获得WebShell后很高兴地用Serv-U的本地权限提升漏洞来实现完全控制肉鸡的目的,但总会出错.我们在WebShell输入的命令一般是这样的: D:\WEB\su.exe "net user 1 1 /add"  很多情况下不能成功,一般会返回如下的信息: <220 Serv-U FTP Server v6.0 for WinSock ready... >USER LocalAdministrator <331 User name okay, need