openssl1.1.1 ecc生成密钥,非对称加密解密命令
时间: 2023-08-10 07:02:55 浏览: 213
以下是 OpenSSL 1.1.1 中使用 ECC 生成密钥并进行非对称加密和解密的完整步骤:
1. 生成 ECC 密钥对:
```
openssl ecparam -name secp256k1 -genkey -noout -out ecc_private_key.pem
openssl ec -in ecc_private_key.pem -pubout -out ecc_public_key.pem
```
这会生成一个名为 ecc_private_key.pem 的私钥文件和一个名为 ecc_public_key.pem 的公钥文件。
2. 使用公钥进行加密:
```
echo "Hello, World!" > plaintext.txt
openssl pkeyutl -in plaintext.txt -out ciphertext.txt -inkey ecc_public_key.pem -encrypt -pkeyopt ec_scheme:ECIES
```
这会将 "Hello, World!" 这个字符串写入 plaintext.txt 文件中,然后使用公钥 ecc_public_key.pem 对该文件进行加密,并将结果输出到 ciphertext.txt 文件中。
3. 使用私钥进行解密:
```
openssl pkeyutl -in ciphertext.txt -out decrypted.txt -inkey ecc_private_key.pem -decrypt -pkeyopt ec_scheme:ECIES
```
这会使用私钥 ecc_private_key.pem 对 ciphertext.txt 文件进行解密,并将结果输出到 decrypted.txt 文件中。
4. 验证解密结果:
```
cat decrypted.txt
```
这会显示解密后的内容,即 "Hello, World!"。
请注意,这里使用的是 ECIES(ECC Integrated Encryption Scheme)加密方案,您也可以根据需要选择其他加密方案,如 ECDH(ECC Diffie-Hellman)或 ECDSA(ECC Digital Signature Algorithm)。另外,您需要将 plaintext.txt 文件替换为要加密的实际文件名,以及将 ciphertext.txt 文件和 decrypted.txt 文件替换为要解密的实际文件名。
阅读全文