用友软件首页

Linux简单介绍加密解密算法

2016-1-14 0:0:0 wondial

Linux简单介绍加密解密算法

Linux简单介绍加密解密算法

对称加密
加密方和解密方使用是同一个密钥,加密解密的速度都很快,先将数据明文
分成数据块儿,一般来讲是大小相同的,如果到最后剩下的不能与其他数据块儿的
大小相同,那么就给它添加一些填充物,然后对每个数据块儿逐个加密,
然后把加密后的数据块儿发给对方,每一次管理一块儿,
但是,加密后的块儿怎么处理,因为每一个块儿都是单独处理,对方在破解数据时
每一块儿独立破解,也就是说这样的加密过程对反破解并没有任何帮助,
对于加密以后的数据块儿的处理有以下两种方法
ECB:每一块儿单独加密,加密一个传递一个,
CBC:加密或密文块儿链,通过抑或运算实现,每一个数据块儿,在发送给对方
之前会实现将此数据块儿与此前的数据块儿做一次抑或运算,并把结果发送给对方
所以得不到第一个块儿,得到其他也就没有用,即使是第一块,也会和一个随机数
进行抑或运算
其最大好处在于,做两次抑或运算后可以将数据还原

算法:DES:数据加密标准,使用56位的密钥长度
AES:高级加密标准,可以使用128、192、256三种长度的密钥
3DES:对原有加密3次,
Blowfish
Twofish
RC6
IDEA
CAST5

缺陷:1、一个人跟众多对象通信的时候需要记的密码过多
2、密钥分发困难,是最大的难题,没有一种可靠的手段将密钥送给一个
没有见过面的对象

 

非对称加密

公钥加密算法:DSA,RSA,EIGamal
加密方和解密方使用不同的密钥
功能:加密解密
用户的身份认证,RSA两者都可以实现,而DSA只能加密数据
公钥,私钥
公钥是从私钥中抽出的一段特征,公钥隐含在私钥中
现在主流的密钥长度是2048


缺陷:1、加密速度慢,比对称加密慢3个数量级 1000倍,一个数量级10倍
2、公钥加密一般不用于加密数据,主要用于实现用户认证,数据加密
主要是通过对称加密实现的
如何实现用户认证:
现在假设,有两个通信的对象,一个较小黑,一个较小白,现在小黑给小白发了
一封电子邮件,但是,小白在接受邮件的时候不希望自己的邮件的内容被篡改,
这时小黑就将邮件内容加密且说自己是小黑,并产生一个公钥和一个私钥,
私钥小黑会随身携带
而且不能外泄,公钥则连同邮件一起发给小白,这是小白拿着小黑的公钥如果能够
解密,则说明小黑就是小黑...这就实现了认证,但是如果小黑加密的数据很大,再加上
公钥加密要用很久时间,等加密好,小黑也无语了,所以小黑加密的不是数据
而是这段数据的特征值,说到特征值,下面就说一下单向加密》》》


单向加密
雪崩效应:输入的数据有一点点不同,结果会有巨大不同,主要目的在防暴力破解

单向加密就是去计算一段数据的特征值,加密过程是不可逆的,是去计算一段数据的特征码,是独一无二的,用于对
数据完整性的校验

无论你输入的数据是多长,输出的结果都是一样长度
MD5:message digest,输出结果固定长度128bit
SHA1:secure hash algorithm安全的哈希算法,输出结果固定长度160bit

身份认证:
单向加密在实现用户身份认证的时候不会去加密整段数据,而是先去计算这段数据的特征值,
把它的特征值用私钥加密,加密以后附着在数据后面,一起发给对方,在对方收到以后,对方
可以验证两方面的内容,第一用户的身份,第二数据的完整性,接收方先用发送方的公钥对其解密
如果能解密就验证了对方了身份,此时接收方会获得这段数据的特征值,然后接收方也用相同的
算法进行运算,得到一个数据的特征值,如果这两个特征值相同,则说明数据在发送过程完好无损
如果不相同,则说明数据有改动

假设还是小黑和小白通信,双方都希望在数据的发送过程中,既能实现用户身份验证,
又能实现数据加密,还能实现数据的完整性,那该怎么办呢?

现在小黑在发送数据前,先将数据用单向加密,计算出特征值,然后再用私钥解密将特征值加密
接下来会再用产生一个一次性的密码,用小白的公钥将这个密码加密然后放在数据后,最后再用对称加密
将全部加密,这时就是密文了,到了小白那里以后,小白先用自己的私钥拿到那个密码,然后再用那个
密码解密,获得数据的特征值,然后再用单向解密计算出一个特征值,如果这两个值相同,则说明
数据完好,以上过程就实现了三重验证
这三项结合起来是现在电子商务的基础。
可以实现这整个过的工具:
opssh
gpg

但是这两个过程还存在问题,小白怎样去获得小黑的公钥呢?在传输公钥的时候也有可能
出现欺骗,这怎么解决了?

IKE:互联网密钥交换,实现双方使眼色交换密钥,和密钥本身不在互联网上
传播
PKI:公钥基础设施,或公钥基础架构,CA证书颁发机构,证书内放的就是通信人的公钥信息

怎样基于证书通信:
双方在通信时都出示证件,这个证件由某个权威机构发放,只要验证证件内的有效信息
就可以验证对方的身份,但是在发证的时候怎样防止中间出现欺骗呢?
这又是一个鸡生蛋,蛋生鸡的问题,想想该如何解决呢?
所以一些操作系统在安装时就已经将一些权威的发证机构的证书放在你的电脑里了,这样在一定程度
上可以解决一些问题


证书的格式:X509,PKCS
证书废弃列表:CRL


最常见的攻击“man in the middle”主要是双方身份无法验证
会话劫持,
数据插入,
数据篡改,
这些都是常见的威胁

加密解密用于:


1、用户密码/数据嗅探 password/data sniffing
2、数据操纵,data manipulation
3、authentication manipulation 认证
4、equivalent to mailing on postcards


这几个方面
加密算法的基本法则:kerckhoff's principle

1、一般来讲加密本身并不靠算法,算法固然很关键能将明文变成密文
但是一项真正的加密过程,你的数据是否会被破解,主要不能过强依赖于算法本身,
而要依赖于密码,算法的研究周期很长,更改一个密码很简单,但是更换一个算法就麻烦了
算法需要耗费很多精力,只要算法不公开,就无从下手破解
2、电子商务的过程中不仅要保证数据加密,还要保证不被别人看见

算法:
1、随机数来源靠得住


########openssl#########l
用C语言实现了很多种常见的加密算法:
三个组件:
1、libcrypto 库文件 专门实现加密解密的库文件,
2、libssl 库文件,主要是实现https这样协议
3、openssl 多用途加密工具,还可以制作一个CA出来


一般来讲openssl都会装上,使用一个openssl加一个错误的选项就能看见它的使用选项
单项加密时的用法:

 


openssl enc -des3 -salt -a -in inittab -out inittab.des3


实现对于一个文件加密 enc是加密 -des3是加密算法 -salt 加入杂质
-in后面跟文件名 -out加密后放在哪个文件里


openssl enc -d -des3 -salt -a -in inittab.des3 -out inittab


-d表示解密

openssl dgst -sha inittab 表示计算inittab文件的特征值

用户认证时passwd的用法,怎么去帮你生成一个类似于保存在/etc/shadow文件里的密码一样
openssl passwd -1 -1表示使用MD5算法


[root@server46 ~]# openssl passwd -1
Password:
Verifying - Password:

1
7HW0kv8y
IntkyNppqtTQ2fHAJ1FMk1

openssl passwd -1 -salt 杂质 这样计算结果就一样了

[root@server46 ~]# openssl passwd -1
Password:
Verifying - Password:

1
7HW0kv8y
IntkyNppqtTQ2fHAJ1FMk1
[root@server46 ~]# openssl passwd -1 -salt 7HW0kv8y
Password:

1
7HW0kv8y
IntkyNppqtTQ2fHAJ1FMk1

man sslpasswd可以查看用法


非对称加密:

openssl怎样发证:
切换目录到/etc/pki/tls/certs


make *.key就可以产生一个密钥
make *.cert可以生成一个证书,主要是看文件后缀生成文件,是redhat提供的便捷方式
make my.key就可以生成一个密钥


(umask 66;openssl genrsa 1024 > my.key)
生成私钥文件
这是在一个子shell里进行,umask只对后面的这一个命令有效,umask执行完以后就恢复到原来

提取公钥:


openssl rsa -in my.key -pubout -out myr.pubkey
[root@server46 certs]# (umask 66; openssl genrsa 1024 > my.key)
Generating RSA private key, 1024 bit long modulus
...++++++
........++++++
e is 65537 (0x10001)
[root@server46 certs]# cat my.key
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDRSlvZZ7p7sRbczdGhcw/8z5mzEKIjDZw63ffsxCDC9XWKO0vE
FaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT2GQ/wUTnjsbL8mNbSclV/2m8
K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0EVh9k2ULSV4f8B5QtywIDAQAB
AoGATNkA4NM1pjVgL7NjReT5+dpAlX+GCVj2BKd8YXOik/ONNTSQnW9X2ikteJfM
9KoPHdugl2FfwQ5GuFnQEBeQrUV5SnR09k2OZTsdOMVNXqamf4V/rXidOs+L3RVK
Q4X6vpasS1CJ1/q/fCcsi1Nl0nLcV9stLXbmEzYqE6+hwAECQQDqxrbF5W9j5vVM
ZkKmvx1ViojwTJovlkOtl6RSkqHMR3msnHhizbc+iGrGiP/vH9H+AvDK7AJPNVng
kHAa5YGbAkEA5DXX0dIajPoAdLvmNG1kNY1fp6IJjfR8UJRWeOwjhVjul1yp47hP
bM/f55OmowdsQamfNVwk4P5iYIcZ8uwfkQJBAJoXToLYsaF6Rumb/IcAzLoGMRa2
0EQHdegLrVhc0UEIcH2wPPtsVab/VkV0SbaixerX9z7YZDOkqpbPdiTRGZ0CQBWv
2DakVMmY6HovcQ0CaEd+i9yOVYIb/cRalG0hY67EaMgRkkOFvGaGyqxjJ67Ogccr
q2mSvB51jjvGGv0u20ECQQCHvgJkF3xHkQnahqCTTgym0CNocHhVfyo6KveIfBAk
Vz69+zsGK2kKBOseSbgRKqVmM21Iqu0aZatjEevHwZIo
-----END RSA PRIVATE KEY-----
[root@server46 certs]# openssl rsa -in my.key -pubout -out my.pubkey
writing RSA key
[root@server46 certs]# cat my.pubkey
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRSlvZZ7p7sRbczdGhcw/8z5mz
EKIjDZw63ffsxCDC9XWKO0vEFaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT
2GQ/wUTnjsbL8mNbSclV/2m8K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0E
Vh9k2ULSV4f8B5QtywIDAQAB
-----END PUBLIC KEY-----


发证步骤:
1、首先生成一对密钥(S/P密钥)
2、然后把公钥放在一个叫证书颁发请求里(里面包括你的公钥,姓名,地址,等一些列描述信息)
发送到证书颁发机构
3、CRT证书就生成了


自己成为CA:
1、cd /etc/pki/CA
有一个 private 文件,里面专门放CA的私钥文件
2、给自己生成一个密钥

(umask 66; openssl genrsa 2048 > private/cakey.pem[这里只能叫cakey.pem])
ll private
给自己发证书:


openssl req -new -x509 -key private/cake.pem -out cacert.pem
openssl req -new -x509 -key private/cake.pem -out cacert.pem


接下来会提示你输入一些信息
写完之后就是一个自签的证书
接下来就可以给别人发证了


view plaincopy to clipboardprint?
openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655
openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655

 

3、编辑cA的配置文件


view plaincopy to clipboardprint?
vim /etc/pki/tls/openssl.cnf这里定义了
vim /etc/pki/tls/openssl.cnf这里定义了


找到【 CA_default 】字段
修改 dir 改为绝对路径
这里有些目录没有需要我们手动建立,在这个配置文件内我们都能找到
然后还可以修改默认信息
到这里才 算是一个完整的CA

4、接下来给web服务器做一个证书:


view plaincopy to clipboardprint?
cd /etc/httpd
mkdir ssl
cd ssl
(umask 66;openssl genrsa 2048 > web.key)
cd /etc/pki/CA
mkdir certs crl newcerts
touch index.txt serial
echo 01 > serial
openssl req -new -key wed.key -out wed.csr 这是一个证书颁发请求
opssl ca -in wed.csr -out web.crt 颁发证书
cd /etc/httpd
mkdir ssl
cd ssl
(umask 66;openssl genrsa 2048 > web.key)
cd /etc/pki/CA
mkdir certs crl newcerts
touch index.txt serial
echo 01 > serial
openssl req -new -key wed.key -out wed.csr 这是一个证书颁发请求
opssl ca -in wed.csr -out web.crt 颁发证书


然后敲两次回车 就ok了

 


如果您的问题还没有解决,可以到 T+搜索>>上找一下答案

分享到:

微博关注

bj用友软件

最新信息

T+11.5,7月份启用的,7、8、9月也都做了凭证,记账了,但生成报表的时候,只能生成10月份的报表,选不到之前的月份

T+11.5,7月份启用的,7、8、9月也都做了凭证,记账了,但生成报表的时候,只能生成10月份的报表,选不到之前的月份 T+11.5,7月份启用的,7、8、9月也都做了凭证,记账了,但生成报表的时候,只能生成10月份的报表,选不到之前的月份[]

你在打开报表的时候可以选择月份
检查总账模块的启用期间。

本省其他区域的T1,没有注册过,可以用来升级和销售吗?

本省其他区域的T1,没有注册过,可以用来升级和销售吗? 本省其他区域的T1,没有注册过,可以用来升级和销售吗?[]

T1不受限制。
您好,T1不受地区控制,全国都可以使用。

热点文章

新闻资讯

  • 【新年首签】天津用友&通广集团签署战略协议

    【新年首签】天津用友&通广集团签署战略协议

    天津用友软件技术有限公司(以下简称天津用友)和天津通信广播集团有限公司(以下简称通广集团)就企业信息化建设事宜进行战略签约。

    参加此次会议有天津用友总经理赵永春,天津用友副总经理王成岩、通广集团副总经理马严、通广集团科技质量部部长尹刚、七一二公司技术质量部部长门国梁、七一二公司技术中心主任黄建尧等。

    image

  • 会计职场堪比宫斗剧

    会计职场堪比宫斗剧

     近几年,各种宫斗剧火爆,《甄嬛传》《芈月传》等等都脍炙人口,许多人经常打趣自己像某个人物,若是在古代能活到第几集。让人不禁想起,会计职场又何尝不是一场宫斗,每天要察言观色,明了领导的内心,就像后宫谁也不敢惹皇后一样。但当你坐上领导位置的时候,盯着你的眼睛就会很多,稍有不慎就会被取代。就像后宫的嫔妃一样,就算坐上了皇后的位置也要时刻担心有没有人觊觎。

    image

知 识 库

  • 会计电算化条件下的电算化审计

    会计电算化条件下的电算化审计

    会计电算化条件下的电算化审计会计电算化条件下的电算化审计

            摘要:地区,电算化审计的重要性越来越明显。文章分析7会计电算化发展对审计造成的影响,列举了电算化审计的内容,提出了建立和完善我国电算化审计的方法。

      关键词:电算化审计  审计软件

      会计电算化的普及,提高了会计数据处理的及时性和准确性,从深度和广度上扩展了会计数据,但对审计工作也产生了重大影响。

  • 用友t3怎么备份

    用友t3怎么备份

    用友t3怎么备份

    用友软件提供两种备份方式:手工备份和自动备份,下面我们讲解这两种方式的备份账套数据操作步骤(T6和U8与T3备份恢复方法相同,此处以T3为例):

    ㈠、手工备份

    1、先在硬盘上建立一个空文件夹

    打开我的电脑(双击)D(或E、F)盘,(空白处右击右键)新建文件夹,把这个新建的文件夹,改名为如用友数据手工备份。(双击)打开用友数据手工备份,(右击)出现新建文件夹,把所新建的文件夹改名为当天的备份日期如2016-12-16后退出

  • 最新文章排行
  • 热门文章排行

管理软件

  • T3卸载就会跳到安装界面去,用360工具也卸载不了。请问这种情况哪位老师遇见过,我们应该如何处理。谢谢、在线等。

    T3卸载就会跳到安装界面去,用360工具也卸载不了。请问这种情况哪位老师遇见过,我们应该如何处理。谢谢、在线等。

    T3卸载就会跳到安装界面去,用360工具也卸载不了。请问这种情况哪位老师遇见过,我们应该如何处理。谢谢、在线等。 T3卸载就会跳到安装界面去,用360工具也卸载不了。请问这种情况哪位老师遇见过,我们应该如何处理。谢谢、在线等。[]

    备份好账套,这种情况只能强制删除了,请备份好账套之后,停止数据库服务和T3产品服务,自动备份服务;然后删除T3安装路径以及C盘下ufcomsql文件夹,然后使用360清除无用注册表,最后重启电脑即可;

  • 用友T3无法补录现金流量项目,流量按钮为灰

    用友T3无法补录现金流量项目,流量按钮为灰

    用友T3无法补录现金流量项目,流量按钮为灰 用友T3无法补录现金流量项目,流量按钮为灰

    指定了现金流量科目,增加了项目大类,想补录现金流量项目,点开凭证,流量按钮为灰色,无法补录。反记账之后没有反审核,从审核凭证的界面点开,流量按钮就为灰色,只能点退出。1.反记账后的凭证还要反审核,用审核人的操作员重新登录软件;2.总账-凭证-审核凭证-选中月份,点确定-随意双击点开一张凭证-审核-成批取消审核;3.再用记账人的操作员重新登录软件,点开填制凭证,“流量”按钮就可以点了。如有其它问题,请在下面回复疑问,我们将第一时间与您联系,帮助您解决问题。同时您也可以联系用友畅捷通专业服务商-用友天龙瑞德。用友天龙瑞德专业销售用友软件用友财务软件,维护用友T3用友T6用友U8畅捷通T+。我们将竭诚为您服务。联系电话:010-59798025。网址:http://www.kuaiji66.com

关于我们 | 公司动态 | 获奖记录 | 联系我们 | 招聘信息 | 用友产品中心 | 用友云基地
Copyright ©  www.kuaiji66.com  All Rights Reserved 天龙瑞德
京ICP备11046295号-1 技术支持 北京天龙瑞德信息技术有限责任公司   北京海淀上地十街辉煌国际大厦3号楼6层 总机:010-59798025   售后:4009908488
北京天龙瑞德信息技术有限责任公司