____ _ _ _ ______ _____ _ ___ _
| _ \| | | | |/ / _ \_ _| |/ (_) |_
| | | | | | | ' /| |_) || | | ' /| | __|
| |_| | |_| | . \| __/ | | | . \| | |_
|____/ \___/|_|\_\_| |_| |_|\_\_|\__|
A golang tool to generate keys required for using 3DES-DUKPT
$ go get -u github.com/hashlab/dukptkit
Generating a BDK identifier (KSI)
$ dukptkit generate-ksi
BDK identifier (KSI): D56D 0AFA 76
Generating a component key
$ dukptkit generate-component --force-odd
Component Key: AD31 4062 6EEF BCE0 E313 5B45 73EA F794
KCV: D1FD6C
Odd Parity: true
Combining 3 component keys to generate a combined key
$ dukptkit combine --show-combined-key
? Enter the component key 1: ********************************
? Enter the component key 2: ********************************
? Enter the component key 3: ********************************
KCV from Component Key 1: 461F68
KCV from Component Key 2: 2EC7BC
KCV from Component Key 3: B69F03
Combined Key: B329 9B2A 38BC 9D8C 3EEC 0BCE 9237 F17F
Final KCV: 9F1DBF
Odd Parity: true
1º Clone dukptkit repo
$ git clone git@github.com:hashlab/dukptkit.git
2º Enter in dukptkit directory
$ cd dukptkit
3º Run the builder
$ make build
4º Run the CLI
$ ./bin/cli
Addding files on repo
git commit -m "Add filename"
Updating files on repo
git commit -m "Update filename, filename2, filename3"
Removing files on repo
git commit -m "Remove filename"
Renaming files on repo
git commit -m "Rename filename"
Fixing errors and issues on repo
git commit -m "Fixed #issuenumber Message about this fix"
Adding features on repo
git commit -m "Add feature: nameoffeature Message about this feature"
Updating features on repo
git commit -m "Update feature: nameoffeature Message about this update"
Removing features on repo
git commit -m "Remove feature: nameoffeature Message about this"
Bug reports and pull requests are welcome on GitHub at https://github.com/hashlab/dukptkit. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
- Fork it hashlab/dukptkit
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am "Add some feature"
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
If you have any problem or suggestion please open an issue here.
Check here.