Astroport.ONE/BOOKS/HowTo_natools.py.md

2.0 KiB

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.
# 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.
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.
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.
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.
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.