Discussion:
minicrypt
(too old to reply)
Stefan Claas
2024-10-11 00:44:38 UTC
Permalink
Hi all,

a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.

https://github.com/706f6c6c7578/minicrypt

While it only handles one recipient, the nice thing is
that it only has two commands (-d decrypt, -g gen keys),
so that even Granny Smith can use it. :-)

Another nice thing is that it produces no meta data. :-)

Hope you like!
--
Regards
Stefan
Stefan Claas
2024-10-11 15:49:09 UTC
Permalink
Post by Stefan Claas
Hi all,
a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.
https://github.com/706f6c6c7578/minicrypt
While it only handles one recipient, the nice thing is
that it only has two commands (-d decrypt, -g gen keys),
so that even Granny Smith can use it. :-)
Another nice thing is that it produces no meta data. :-)
Hope you like!
Example pub key:

-----BEGIN PUBLIC KEY-----
tRxoeAmoI+0ygSbUYHBRpbYBDkC9+Q3rSTchzSXFHrU=
-----END PUBLIC KEY-----

Example message:

$ echo -n 'The quick brown fox jumps over the lazy dog.' | minicrypt stefan.pem

rtzEu9Ox1ZhlerV65F6KTw5xMR/a5RjlZP7swRYJ6BxUoZ0BIOQiQL7YXmahUmxI
Qcp9vYbhLT3o8rpRtdaxlFBiV5kIZTMIccd3Jq9wywM3Ws6fINauH4JDlM7RmWnU
ImRTdPacNNKevavohHPFFO5NWug=

(shorter than an age or GnuPG message. :-))
--
Regards
Stefan
Stefan Claas
2024-10-12 17:16:46 UTC
Permalink
Post by Stefan Claas
Hi all,
a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.
https://github.com/706f6c6c7578/minicrypt
My pub key, save it as stefan.pem:

-----BEGIN PUBLIC KEY-----
tRxoeAmoI+0ygSbUYHBRpbYBDkC9+Q3rSTchzSXFHrU=
-----END PUBLIC KEY-----
--
Regards
Stefan
Stefan Claas
2024-10-16 17:15:34 UTC
Permalink
Post by Stefan Claas
Post by Stefan Claas
Hi all,
a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.
https://github.com/706f6c6c7578/minicrypt
-----BEGIN PUBLIC KEY-----
tRxoeAmoI+0ygSbUYHBRpbYBDkC9+Q3rSTchzSXFHrU=
-----END PUBLIC KEY-----
Because my Usenet postings are usually signed with my Ed25519
'coffee' key, one can convert this key to PEM format, with my
hex2pem converter[1] and use this key instead, for encrypting
a message with minicrypt to me. :-)

Example:

$ echo -n 'c0ffee5a36e581eb10f60b2831b3cdb955d2e7ef680dd282a8d43ad8b84b357a' | hex2pem -p > stefan.pem

$ echo -n 'Hello World' | minicrypt stefan.pem
UYBgAMy/eAgzkMXlwJ+JoXHwSwuwdBsSxYZHE5g/G3rAYlpEeaZU+bvSzhhk5l4t
hjayeDmalMYvLKDzP4PzOMEYw/XbG/2ru/CGdmGbOohUhlw=

[1] https://github.com/706f6c6c7578/hex2pem
--
Regards
Stefan
Byrl Raze Buckbriar
2024-10-13 05:31:35 UTC
Permalink
On Fri, 11 Oct 2024 15:49:09 -0000
Post by Stefan Claas
Post by Stefan Claas
Hi all,
a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.
https://github.com/706f6c6c7578/minicrypt
While it only handles one recipient, the nice thing is
that it only has two commands (-d decrypt, -g gen keys),
so that even Granny Smith can use it. :-)
Another nice thing is that it produces no meta data. :-)
Hope you like!
-----BEGIN PUBLIC KEY-----
tRxoeAmoI+0ygSbUYHBRpbYBDkC9+Q3rSTchzSXFHrU=
-----END PUBLIC KEY-----
$ echo -n 'The quick brown fox jumps over the lazy dog.' | minicrypt stefan.pem
rtzEu9Ox1ZhlerV65F6KTw5xMR/a5RjlZP7swRYJ6BxUoZ0BIOQiQL7YXmahUmxI
Qcp9vYbhLT3o8rpRtdaxlFBiV5kIZTMIccd3Jq9wywM3Ws6fINauH4JDlM7RmWnU
ImRTdPacNNKevavohHPFFO5NWug=
(shorter than an age or GnuPG message. :-))
--
Regards
Stefan
What if Granny is not a golang programmer? How then would Granny proceed?

How does Granny download and include the golang modules required to compile this?

How does Granny configure the GOROOT and GOPATH env variables?

Answers like, 'Become a go programmer', and 'Read the manual' are not valid.

If Granny is going to use it, she needs a quick and simple solution.

Here is my guess on how to start:

$ go mod init minicrypt
$ go mod tidy

A build or makefile would be useful to Granny.

It would be nice to have a makefile that sets up the GOPATH and GOROOT in the local directory then runs goget, gomod and build. Trying to configure all of that manually is confusing and error-prone for non-go programmers.
--
Byrl Raze Buckbriar . OCTADE . < https://octade.net >
Hacker Hotline . voice & SMS . (781) OCT-AGON
KeyOxide . < https://keyoxide.org/***@octade.net >
Stefan Claas
2024-10-13 08:01:04 UTC
Permalink
Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
On Fri, 11 Oct 2024 15:49:09 -0000
Post by Stefan Claas
Post by Stefan Claas
Hi all,
a little program for encrypting messages with Ed25519
and XChaCha20#poly1305.
https://github.com/706f6c6c7578/minicrypt
While it only handles one recipient, the nice thing is
that it only has two commands (-d decrypt, -g gen keys),
so that even Granny Smith can use it. :-)
Another nice thing is that it produces no meta data. :-)
Hope you like!
-----BEGIN PUBLIC KEY-----
tRxoeAmoI+0ygSbUYHBRpbYBDkC9+Q3rSTchzSXFHrU=
-----END PUBLIC KEY-----
$ echo -n 'The quick brown fox jumps over the lazy dog.' | minicrypt stefan.pem
rtzEu9Ox1ZhlerV65F6KTw5xMR/a5RjlZP7swRYJ6BxUoZ0BIOQiQL7YXmahUmxI
Qcp9vYbhLT3o8rpRtdaxlFBiV5kIZTMIccd3Jq9wywM3Ws6fINauH4JDlM7RmWnU
ImRTdPacNNKevavohHPFFO5NWug=
(shorter than an age or GnuPG message. :-))
--
Regards
Stefan
What if Granny is not a golang programmer? How then would Granny proceed?
How does Granny download and include the golang modules required to compile this?
How does Granny configure the GOROOT and GOPATH env variables?
Answers like, 'Become a go programmer', and 'Read the manual' are not valid.
The quick solution for Granny is to omit all the steps and download a binary
for her platform from the Releases, which I provide.
If Granny is going to use it, she needs a quick and simple solution.
Yes, download from the Releases.

https://github.com/706f6c6c7578/minicrypt/releases
$ go mod init minicrypt
$ go mod tidy
and $ go build -ldflags "-s -w" for an optimezed version,
instead of using $ go build.
A build or makefile would be useful to Granny.
I normally don't do this, but maybe in the future I will
inlude go.mod and go.sum, so that Granny can just run
the build command.
It would be nice to have a makefile that sets up the GOPATH and GOROOT in the local directory then runs goget, gomod and build. Trying to configure all of that manually is confusing and error-prone for non-go programmers.
When Granny downloads Go, from the official site, it is explained
there how to set GOPATH and GOROOT. And if Granny likes to compile
for Grandpa and friends, she can use my script, which compiles for
different platforms https://github.com/706f6c6c7578/go-build-all
--
Regards
Stefan
Loading...