forked from STI/Astroport.ONE
49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
To use `natools` for message encryption (to destination) and signature (from sender), you would typically follow these steps:
|
|
|
|
### 1. Generate Key Pairs:
|
|
- Both the sender and the recipient need to generate their key pairs (public and private keys). You can use the `natools` script to generate keys.
|
|
|
|
```bash
|
|
# Sender generate keys
|
|
python3 natools.py privkey -k ~/.zen/game/sender_secret.dunikey -f cred
|
|
python3 natools.py pubkey -k ~/.zen/game/sender_secret.dunikey -o sender_public_key
|
|
|
|
# Recipient generates keys
|
|
python3 natools.py privkey -k ~/.zen/game/myswarm_secret.dunikey -f cred
|
|
python3 natools.py pubkey -k ~/.zen/game/myswarm_secret.dunikey -o recipient_public_key
|
|
```
|
|
|
|
### 2. Encrypt the Message:
|
|
- The sender uses the recipient's public key to encrypt the message.
|
|
|
|
```bash
|
|
python3 natools.py encrypt -i plaintext.txt -k recipient_public_key -o encrypted_message.bin
|
|
```
|
|
|
|
### 3. Sign the Message:
|
|
- The sender signs the original message using their private key.
|
|
|
|
```bash
|
|
python3 natools.py sign -i plaintext.txt -k sender_private_key -o signature.bin
|
|
```
|
|
|
|
### 4. Verify the Signature:
|
|
- The recipient uses the sender's public key to verify the signature.
|
|
|
|
```bash
|
|
python3 natools.py verify -i plaintext.txt -p sender_public_key
|
|
```
|
|
|
|
- The script will output "Signature OK!" if the verification is successful.
|
|
|
|
### 5. Decrypt the Message:
|
|
- The recipient uses their private key to decrypt the message.
|
|
|
|
```bash
|
|
python3 natools.py decrypt -i encrypted_message.bin -k recipient_private_key -o decrypted_message.txt
|
|
```
|
|
|
|
Now you have successfully performed message encryption to the destination and signature from the sender using the `natools` script. Adjust the file paths and content as needed for your specific use case.
|
|
|
|
Note: Ensure that both sender and recipient securely store their private keys. Public keys can be shared openly. The encrypted message, signature, and decrypted message are intermediate files used for illustration; adjust as needed in your application.
|