gnunet-identity is a tool for managing egos. An ego is the persona that controls a namespace. It is
identical to a public-private ECC key pair.
gnunet-identity can be used to list all of the egos that were created locally, to create new egos, and to
delete existing egos (the namespace will continue to exist, but it will be impossible to add additional
data to it).
In addition, it is possible to encrypt and decrypt messages (arbitrary strings) using a given public key
(for encryption) or ego (for decryption).
Creating a new ego requires using the -C option together with an identifier (name) that is to be used for
the new ego. This identifier is only used locally for this peer and not shared with other peers. The
options are as follows:
-CNAME | --create=NAME
Creates a new ego with the given NAME.
-DNAME | --delete=NAME
Delete the ego with the given NAME.
-d | --display
Display all of our egos.
-eNAME | --ego=NAME
Perform "set" operation with the respective ego or restrict "display" operation to the respective
ego.
-h | --help
Print the help page.
-kPUBLIC_KEY | --key=PUBLIC_KEY
The public key to use for a message recipient. Use together with -W. The recipient can obtain
the desired ego's public key using the "display" operation.
-m | --monitor
Run in monitor mode, listing all ouf our egos until CTRL-C is pressed. Each ego is listed
together with a unique pointer value; if egos are renamed, that pointer value remains the same,
if egos are deleted, they are listed one more time with a name of "<null>".
-p | --private-keys
Print the private keys (in Crockford Base32 encoding), and not just the public keys. The second
column shows the public key, the third column shows the private key.
-q | --quiet
Be quiet, in particular outputs only the public key when listing egos.
-RMESSAGE | --read=MESSAGE
Decrypt (read) a message using the respective ego private key. Use together with -e. The message
consists of an ephemeral key and the ciphertext, separated by a dot. Such messages can be
created with -W.
-V | --verbose
Be verbose, in particular outputs the public key of freshly created egos.
-WMESSAGE | --write=MESSAGE
Encrypt (write) the given message for the identity given with -k. The output contains an
ephemeral message public key and the message separated by a dot. The entire line needs to be
transferred to the recipient, who can use -R to decrypt the message.
-X | --eddsa
Use EdDSA instead of ECDSA.