Requirements
请用 Crypto++实现以下程序:
- (a) 读出一个名为“key.txt”的文件中的128 位的密钥,一个名为“plain.txt”的文件中的128位的明文,用 TripleDES 加密后,密文写入一个叫做“encrypted.txt”的文件。
- (b) 读出一个名为“key.txt”的文件中的128 bits的密钥,当明文大于128 bits时(例如:2048 bits,明文文件为“plain2048bits.txt”),请利用上述 TripleDES block cipher 分别实现 CBC mode 和 CTR mode 下 long-message encryption schemes。并将密文分别写入“encryptedCBC.txt”和“encryptedCTR.txt”。所有文件格式均为纯文本,密钥、明文、密文均用二进制书写,形如“00111010…”。 请提交全部源代码。
TripleDES
key: 128 bits from “key.txt”
plaintext: 128 bits from “plain.txt”
ciphertext: “encrypted.txt”
Encryption: TripleDES
TripleDES again
long-message encryption schemes
key: 128 bits from “key.txt”
plaintext: 2048 bits from “plain.txt”
Encryption: TripleDES block cipher
CBC mode
ciphertext: “encryptedCBC.txt”
CTR mode
ciphertext: “encryptedCTR.txt”
#Description
##Organization
###Source code
.
├── 3DES
│ └── Driver.cpp
├── Extended_3DES
│ ├── CBC_Driver.cpp
│ └── CTR_Driver.cpp
├── README.md
├── gen_key.cpp
└── test
After executing ./test
Note:
- “test” contents a series of commands to complie and execute.
- Current user should own executable permissions on “test” (You may add
sudo
).
.
├── 3DES
│ ├── Driver
│ ├── Driver.cpp
│ ├── encrypted.txt
│ ├── key.txt
│ └── plain.txt
├── Extended_3DES
│ ├── CBC_Driver
│ ├── CBC_Driver.cpp
│ ├── CTR_Driver
│ ├── CTR_Driver.cpp
│ ├── encryptedCBC.txt
│ ├── encryptedCTR.txt
│ ├── key.txt
│ └── plain2048bits.txt
├── README.md
├── gen_key
├── gen_key.cpp
└── test
Source Code
需要的朋友请留言!