Skip to content
This repository has been archived by the owner on Jan 23, 2018. It is now read-only.

a collection of reusable scripts for elliptic curve cryptography

License

Notifications You must be signed in to change notification settings

io-digital/eccrypto-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eccrypto-scripts

testing
brew install bats
./tests
functions
# decrypt
./decrypt "$private_key" \
          "$input_vector" \
          "$ephemeral_public_key" \
          "$mac" \
          "$cipher_text" > decrypted.json

# or

echo -n $ciphertext | ./decrypt "$private_key" \
              "$input_vector" \
              "$ephemeral_public_key" \
              "$mac" > decrypted.json

# derive
./derive "$private_key" "$public_key" > shared_secret.json

# encrypt
cat my-message.txt | ./encrypt "$public_key" > encrypted.json
# or
./encrypt "$public_key" "$message" > encrypted.json

# sign
cat my-message.txt | ./sign "$private_key" > signature.json
# or
./sign "$private_key" "$message" > signature.json

# verify
cat my-message.txt | ./verify "$public_key" "$signature" > verification.json
# or
./verify "$public_key" \
         "$signature" \
         "$message" > verification.json

# new-keypair
./new-keypair > my-keypair.json
# or
./new-keypair --plain my-keypair.txt
all together now...
# this snippet requires jq (https://github.com/stedolan/jq)
read -r pub_a priv_a <<< $(./bin/new-keypair --plain)
read -r pub_b priv_b <<< $(./bin/new-keypair --plain)
./bin/encrypt $pub_a < file-from-b > encrypted_a
signable_a="${pub_a}|$(cat encrypted_a)"
read -r signature_b <<< $(echo -n $signable_a | ./bin/sign $priv_b | jq -r -c -M '.signature')
echo -n $signable_a | ./bin/verify $pub_b $signature_b
read -r iv_a ep_a ct_a mc_a <<< $(cat encrypted_a | jq -r -c -M '.iv, .ephemPublicKey, .ciphertext, .mac')
echo -n $ct_a | ./bin/decrypt $priv_a $iv_a $ep_a $mc_a

About

a collection of reusable scripts for elliptic curve cryptography

Resources

License

Stars

Watchers

Forks

Packages

No packages published