加密解密以及数字证书
加密解密以及数字证书
原创
©著作权归作者所有:来自51CTO博客作者马久荣的原创作品,请联系作者获取转载授权,否则将追究法律责任
在网络中的应用:http(访问网站) ftp(上传资料) telnet(管理网络设备) smtp(邮件传输协议) pop3(接收邮件的服务器) imap4(交互式数据消息访问协议)
为了提高网络信息的机密性和完整性,我们就要采用各种方案来实现,加密则为最有效的方案之一。
加密技术的分类
加密技术的原理及主要算法
为什么要加密呢?
1.信息是当今社会的一种重要资源
2.用户要求信息保密、完整和真实
3.现代信息系统必须具备有信息安全技术措施
4.信息加密是信息安全的主要措施之一
对称加密(私有密钥算法),往往用于会话加密
非对称加密(公有密钥密码)
通过使用加密,可以提供的安全服务(保密性,完整性,不可否认性)
置换
1.置换使用一个特定的值替换另一个特定值的而过程
2.置换需要通信双方事先知道置换的方法
3.置换比较简单,频繁使用会找到规律
移位
1.把某个字母以其前或期后几位的某个特定的字母代替
2.移位具有规律,容易被攻破
加密强度主要取决于三个主要因素:
算法的强度
密钥的保密性
密钥强度
加密算法(DES IDEA RC系列 CAST Blowfish)
数字签名
1.不是手写签名的数字图像
2.是一种可以提供认证的加密形式
3.转向安全无纸环境的一个途径
密钥管理
1.密钥的管理容易出现漏洞
2.密钥是最有价值的信息
3.密钥管理包含建立密钥、分发密钥、验证密钥以及取消密钥
[root@localhost ~]# rpm -qa |grep openssl
openssl-devel-0.9.8e-12.el5
openssl-0.9.8e-12.el5
root@localhost ~]# mkdir dir1
[root@localhost ~]# cd dir1
[root@localhost dir1]# ll
total 0
[root@localhost dir1]# cp /etc/inittab
cp: missing destination file operand after `/etc/inittab'
Try `cp --help' for more information.
[root@localhost dir1]# cp /etc/inittab ./
[root@localhost dir1]# ll
total 4
-rw-r--r-- 1 root root 1666 Apr 22 06:33 inittab
[root@localhost dir1]# vim inittab
[root@localhost dir1]# openssl des3 -salt -in inittab -out inittab.out
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:
[root@localhost dir1]# ll
total 4
-rw-r--r-- 1 root root 1666 Apr 22 06:33 inittab
[root@localhost dir1]# vim inittab.out
[root@localhost dir1]# openssl des3 -salt -in inittab -out inittab.out
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:
[root@localhost dir1]# ll
total 8
-rw-r--r-- 1 root root 1666 Apr 22 06:33 inittab
-rw-r--r-- 1 root root 1688 Apr 22 06:55 inittab.out
CA 要想运行,必须有自己的私钥
库文件 /lib/.libcrypto.so.0.9.8e.hmac 加密
/lib/libssl.so.6 为了实现ssl和tls证书的过程
指定的文件在哪个目录下
-in filename
the input filename, standard input by default.
输出结果
-out filename
the output filename, standard output by default.
加密
-salt
use a salt in the key derivation routines. This option should
ALWAYS be used unless compatibility with previous versions of
OpenSSL or SSLeay is required. This option is only present on
OpenSSL versions 0.9.5 or above.
解密
-d decrypt the input data.
EXAMPLES
Just base64 encode a binary file:
openssl base64 -in file.bin -out file.b64
Decode the same file
openssl base64 -d -in file.b64 -out file.bin
Encrypt a file using triple DES in CBC mode using a prompted password:
openssl des3 -salt -in file.txt -out file.des3
Decrypt a file using a supplied password:
openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword
Encrypt a file then base64 encode it (so it can be sent via mail for
example) using Blowfish in CBC mode:
openssl bf -a -salt -in file.txt -out file.bf
Base64 decode a file then decrypt it:
openssl bf -d -salt -a -in file.bf -out file.txt
Decrypt some data using a supplied 40 bit RC4 key:
openssl rc4-40 -in file.rc4 -out file.txt -K 0102030405
[root@localhost dir1]# openssl genrsa -out key.pem 1024
Generating RSA private key, 1024 bit long modulus
..................................++++++
...........++++++
e is 65537 (0x10001)
[root@localhost dir1]# openssl genrsa 1024 > key.pem 1024
Generating RSA private key, 1024 bit long modulus
...................++++++
..................++++++
e is 65537 (0x10001)
[root@localhost ~]# ll
total 17884
drwxr-xr-x 2 root root 4096 Apr 12 07:59 Desktop
-rw------- 1 root root 1175 Apr 11 22:10 anaconda-ks.cfg
-rw-r--r-- 1 root root 982243 Apr 14 02:17 apr-1.4.6.tar.gz
-rw-r--r-- 1 root root 829779 Apr 14 02:17 apr-util-1.5.1.tar.gz
drwxr-xr-x 2 root root 4096 Apr 22 07:03 dir1
-rw-r--r-- 1 root root 852 Apr 15 06:18 httpd
-rw-r--r-- 1 root root 4780289 Apr 14 02:17 httpd-2.4.4.tar.bz2
-rw-r--r-- 1 root root 35236 Apr 11 22:10 install.log
-rw-r--r-- 1 root root 3995 Apr 11 22:09 install.log.syslog
-rw-r--r-- 1 root root 16661 Apr 19 11:00 php-mcrypt-5.1.6-5.el5.i386.rpm
-rw-r--r-- 1 root root 4483812 Apr 19 11:00 phpMyAdmin-2.11.10.1-all-languages.zip
-rw-r--r-- 1 root root 6547757 Apr 19 11:00 phpMyAdmin-3.5.8-all-languages.zip
-rw-r--r-- 1 root root 537287 Apr 18 09:57 webalizer-2.23-05-src.tgz
[root@localhost ~]# cd dir1
[root@localhost dir1]# openssl rsa -in key.pem -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTsOxFT1RowFinl+u2kyCd2Eok
rhMqWHiVc/w3mWwzfXjVYB0fn5amP2QNenGlrCPE55AnyqDztrQh8+rNEVUnxG3e
JjWwHno7OzRvOLEMuLig2SKbzCYPP3tW+ye4ya6GMin7DJNmgFl3GTUImk+jg8I+
F78+4uE4gOWjs7BHZQIDAQAB
-----END PUBLIC KEY-----
[root@localhost dir1]# openssl rsa -in key.pem -pubout -out public.key
writing RSA key
[root@localhost dir1]# ll
total 8
-rw-r--r-- 1 root root 0 Apr 22 06:58 inittab
-rw-r--r-- 1 root root 0 Apr 22 06:56 inittab.out
-rw-r--r-- 1 root root 887 Apr 22 07:03 key.pem
-rw-r--r-- 1 root root 272 Apr 22 07:46 public.key
[root@localhost dir1]# vim public.key
[root@localhost pki]# cd CA
[root@localhost CA]# mkdir certs newcerts cr1
[root@localhost CA]# touch index.txt serisl
[root@localhost CA]# echo "01" >serial
[root@localhost CA]# ll
total 24
drwxr-xr-x 2 root root 4096 Apr 22 08:21 certs
drwxr-xr-x 2 root root 4096 Apr 22 08:21 cr1
-rw-r--r-- 1 root root 0 Apr 22 08:21 index.txt
drwxr-xr-x 2 root root 4096 Apr 22 08:21 newcerts
drwx------ 2 root root 4096 Jun 30 2009 private
-rw-r--r-- 1 root root 3 Apr 22 08:22 serial
-rw-r--r-- 1 root root 0 Apr 22 08:21 serisl
[root@localhost CA]# cd ..
[root@localhost pki]# ll
total 32
drwx------ 6 root root 4096 Apr 22 08:22 CA
drwxr-xr-x 2 root root 4096 Apr 11 21:56 nssdb
drwxr-xr-x 2 root root 4096 Apr 11 21:57 rpm-gpg
drwxr-xr-x 5 root root 4096 Apr 22 08:21 tls
[root@localhost pki]# openssl genrsa 1024 >CA/private/cakey.pem
Generating RSA private key, 1024 bit long modulus
..................++++++
.........++++++
e is 65537 (0x10001)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
摘要 数字签名 数字证书 加密 国密 OpenSSL OpenSSH
摘要 数字签名 数字证书 国密 对称加密 非对称加密 openssl工具 openssh
加密算法 数字签名 数字证书 国密 对称加密 -
摘要, 加密, 数字签名, 数字证书以及加密通信简要介绍
关于摘要, 非对称与对称加密, 数字签名, 数字证书以及加密通信的简要介绍.
web 网络 算法 数字证书 加密算法