概述
區(qū)塊鏈離不開非對(duì)稱加密,本文章將簡(jiǎn)單介紹一下非對(duì)稱加密的一些基本概念,體驗(yàn)密鑰的生成和加密解密的過程。
基本概念
PKCS: The Public-Key Cryptography Standards (PKCS)是由美國(guó)RSA數(shù)據(jù)安全公司及其合作伙伴制定的一組公鑰密碼學(xué)標(biāo)準(zhǔn)。
x.509: 是密碼學(xué)里公鑰證書的格式標(biāo)準(zhǔn)。
RSA: 一種非對(duì)稱加密算法。1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出。RSA就是他們?nèi)诵帐祥_頭字母拼在一起組成的。
openssl: 是目前最流行的 SSL 密碼庫(kù)工具,其提供了一個(gè)通用、健壯、功能完備的工具套件,用以支持SSL/TLS 協(xié)議的實(shí)現(xiàn)。
加解密初體驗(yàn)
生成一個(gè)密鑰:
$ openssl genrsa -out test.key 1024
根據(jù)密鑰生成公鑰:
$ openssl rsa -in test.key -pubout -out test_pub.key
隨意創(chuàng)建一個(gè)hello的文本文件,寫入一些字符。然后加密該文件:
$ echo "Hello RSA!" > hello.txt
$ openssl rsautl -encrypt -in hello.txt -inkey test_pub.key -pubin -out hello.en
解密文件并查看:
$ openssl rsautl -decrypt -in hello.en -inkey test.key -out hello.de
$ cat hello.de
正常情況下,解密結(jié)果應(yīng)該和原文件一致。
參考文獻(xiàn):