-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcipher-references.tex
123 lines (93 loc) · 4.51 KB
/
cipher-references.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Revocation still doesn't work
https://www.imperialviolet.org/2014/04/29/revocationagain.html
频率分析破解密码
https://blog.csdn.net/qq_37523868/article/details/82500223
社会工程学
https://baijiahao.baidu.com/s?id=1551415368544324&wfr=spider&for=pc
https://www.freebuf.com/column/177144.html
OCSP Must-Staple
https://scotthelme.co.uk/ocsp-must-staple/
openssl RSA
https://www.jianshu.com/p/9da812e0b8d0
Enigma
https://en.wikipedia.org/wiki/Enigma_machine
https://zh.wikipedia.org/wiki/%E6%81%A9%E5%B0%BC%E6%A0%BC%E7%8E%9B%E5%AF%86%E7%A0%81%E6%9C%BA
https://baike.baidu.com/item/%E6%81%A9%E5%B0%BC%E6%A0%BC%E7%8E%9B%E5%AF%86%E7%A0%81%E6%9C%BA/5691350?fr=aladdin#3
RC4
https://zh.wikipedia.org/wiki/RC4
DES
https://www.tutorialspoint.com/cryptography/pdf/data_encryption_standard.pdf
https://en.wikipedia.org/wiki/DES_supplementary_material
3DES
https://www.cryptomathic.com/news-events/blog/3des-is-officially-being-retired
分组密码和流密码
https://www.jianshu.com/p/bea06300a56e
分组密码的分组模式
https://blog.csdn.net/android_jiangjun/article/details/79343782
1. 生成密钥
openssl genrsa -out key.pem 1024
-out 指定生成文件,此文件包含公钥和私钥两部分,所以即可以加密,也可以解密
1024 生成密钥的长度
rongl@jetdembp ~ $ openssl genrsa -out key.pem 1024
Generating RSA private key, 1024 bit long modulus
....++++++
.........++++++
e is 65537 (0x10001)
rongl@jetdembp ~ $ cat key.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDClRj3zB46Z/Fc1BjPOKxvaZaLQg4R8MdtteYkyTVdeHPeknJY
Y+JZs/eOZPkHXNFuVOUD/eMBB5guTAV4zBToBR8ujXvDT6Q5AU5SzzM/GU8wTMtH
CXGNRHwtPekHPGizsaDrhwIzLhdFnNySCOvtQ0e8YgLLLWsiTqiATLZfhwIDAQAB
AoGAJkVhBcv13hL3nARzZL6G29ruqzEwx0KOVvvB6lZQ0rOQRqSTLONob7A/7pfZ
iyMsZgD4klJrRZaSzfhR0zKAodH1MHV9UnFSByJz7vfNMUi8fBgyFellrT5ZLC4U
zCeROEy3GThLs5Id3FLZAqAOIA/kqhpA52MmElGyg8oakmECQQDuHQ1V8aa7+4c9
/KdRv+FGnDm1q5zeKp7aORjvXYdyb5SIbIBHHAird8AZwoq1V8iV3oV54UcQ+LmL
bR+zEyVJAkEA0TLwMCfiNtyuBQkclIZzWmO+Xzuqaur3Et5B9fLEsniMZOq9AcHx
g78hZt+cI4qbo/uV3FqFvRaV49N6aATuTwJADrFkPUVoEHl44u5QNM8uS3kgZoFs
cJkYrEaRr1OKJBmWhMSNNdYZAtuk0vIaNQ5xpi3Q9rBb/kQazuuw5Q/tYQJBALjg
GE2mYY70VUGT/NLxQu4Fqc7FjuRwA6uECazOP7AtQn1IyYHNIJ+6gE1Gndj2/Hbd
tmGHChvB4vL1CH72pJcCQBJOYpWKRySJC3G4o1WHiqajx0X7nu5Y/gE8WNWMjQFb
fUEJ2pgM5FwBe47vw8RTCk1axZdQwNOsNU1CYaHxg9I=
-----END RSA PRIVATE KEY-----
2. 提取PEM格式公钥
openssl rsa -in key.pem -pubout -out pubkey.pem
-in 指定输入的密钥文件
-out 指定提取生成公钥的文件(PEM公钥格式)
rongl@jetdembp ~ $ openssl rsa -in key.pem -pubout -out pubkey.pem
writing RSA key
rongl@jetdembp ~ $ cat pubkey.pem
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDClRj3zB46Z/Fc1BjPOKxvaZaL
Qg4R8MdtteYkyTVdeHPeknJYY+JZs/eOZPkHXNFuVOUD/eMBB5guTAV4zBToBR8u
jXvDT6Q5AU5SzzM/GU8wTMtHCXGNRHwtPekHPGizsaDrhwIzLhdFnNySCOvtQ0e8
YgLLLWsiTqiATLZfhwIDAQAB
-----END PUBLIC KEY-----
3. 提取PEM RSAPublicKey格式公钥
openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
-in 指定输入的密钥文件
-out 指定提取生成公钥的文件(PEM RSAPublicKey格式)
rongl@jetdembp ~ $ openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
writing RSA key
rongl@jetdembp ~ $ cat pubkey.pem
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAMKVGPfMHjpn8VzUGM84rG9plotCDhHwx2215iTJNV14c96Sclhj4lmz
945k+Qdc0W5U5QP94wEHmC5MBXjMFOgFHy6Ne8NPpDkBTlLPMz8ZTzBMy0cJcY1E
fC096Qc8aLOxoOuHAjMuF0Wc3JII6+1DR7xiAsstayJOqIBMtl+HAgMBAAE=
-----END RSA PUBLIC KEY-----
4. 公钥加密文件
openssl rsautl -encrypt -in plaintext.file -inkey pubkey.pem -pubin -out ciphertext.file
-in 指定被加密的文件
-inkey 指定加密公钥文件
-pubin 表面是用纯公钥文件加密
-out 指定加密后的文件
rongl@jetdembp ~ $ echo "hello, world." >> plaintext.file
rongl@jetdembp ~ $ cat plaintext.file
hello, world.
rongl@jetdembp ~ $ openssl rsautl -encrypt -in plaintext.file -inkey pubkey.pem -pubin -out ciphertext.file
rongl@jetdembp ~ $ cat ciphertext.file
��^<؎j"��"6�)t�%ZUh�{�H�&@YT]o7""��pȎ�����[#�Fh�W�2��S��)�R��N,L� ���U�L�7�E��?��`}�TW�|��zn��"仌��>�褪w�l>�
5. 私钥解密文件
openssl rsautl -decrypt -in ciphertext.file -inkey key.pem -out plaintext.file
-in 指定需要解密的文件
-inkey 指定私钥文件
-out 指定解密后的文件