Disclaimer: DO NOT Send Your Crypto to seeds generated with this program. Only use IOTA Foundation apps or generate your seed offline.
This GoLang package encrypts tryte strings, including for IOTA private seeds. This is based on vbakke's tryte-encrypt library that was written in JavaScript.
This package is not fully standardised to vbakke's library, notably CTR mode is not used due to some issues decoding keys, xChaCha20-Poly1305 is used.
go build cmd.go
go run cmd.go
Follow the instructions in command line to encrypt and existing seed or generate a new seed. Recommended use is offline on an air gapped machine.
Raw IOTA Seed (using the passphrase "test" at 4 difficulty)
A999TEST999SEED99999999999999999999999999999999999999999999999999999999999999999Z
Encrypted Seed
TCYABB9BQCABWACBVAVAWARCBBVAXAVAYAABZAWAXA9BUACBRCYAUACBZAWAPCSCTCPCUCVAWAABABVASCSCYAUAUC9BWAUASC9BCBSC9BUAYAVACBPC9BXA9BBBQCXAYAZAYABBABYACB9B9BZAUABBVAABUAPCYAZAZARCUCQCWARCUAUCABZATCRCPCSCYAABWAABXAWAYAQCPCRCYAUC9BUA9BAB9BZAPCWACBRCXAVAXAWAVAAB9BPCRCTCRCABSCQCYAWATCWAUCSCVAVAUCZATCSCQCABZAYATCBBUAPCBB9BWAZA9BCBRCRCPCPCRCSCUASCWAYAABRCXAWACBXAZAZAQCVA:T4
go build main.go
go run main.go
To make this simple to use, 3 endpoints were created. I do not recommend using this on a website to generate seeds, only if you build offline and generate yourself.
Endpoint | Form Data |
---|---|
/encrypt | seed: string, passphrase: string, difficulty: integer |
/decrypt | seed: string, passphrease: string |
/generate | passphrease: string, difficulty: string |
After running main.go, the server should start up at port 3000, allowing navigation to the server using http://127.0.0.1:3000 or localhost:3000.
The following enpdoints for this application, /encrypt and /decrypt each expect form-data.