Dear all,
On Thu, 2022-06-16 at 11:54 -0500, T Taylor Gurney wrote:
> > I'm also weary of "rolling your own crypto". Unless you are a
> > cryptographer, I have never heard that go well.
>
> I have heard of it going well (though admittedly not without major
> difficulties):
>
> https://loup-vaillant.fr/articles/implemented-my-own-crypto
>
>
>
> This person studied cryptography on his own for a while and then
> decided
> to roll his own crypto library. The result is a single .c file, about
> 3000
> lines, which received a favorable third-party audit. I humbly suggest
> it
> as an example of suckless cryptography.
>
Another interesting, and similar project is "Tiny AES in c" [0]
Small portable AES128/192/256 in C
To quote the author:
> This is a small and portable implementation of the AES ECB, CTR and
CBC encryption algorithms written in C.
There are some people that have self-implemented various LUKS/2 tools,
some are from known projects (grub, qemu)
WARNING: These are not meant to give you a solution, but to be used as
a learning exercise, their goals are completely different (often).
- luks2flt [1] Mainly for win32 (Please don't be sick!)
It's quite interesting.
- grub have a huge code base, the luks implementation seems 'light' [2]
Have a look at grub-core/disk/luks2.c and grub-core/lib/crypto.c
- libvirt/qemu [3] Another mastodon, but again, the implementation
looks neat (almost)
See src/qemu/qemu_block.c
And on GitHub/GitLab, there are plenty of other mini/home projects
meant to brute-force-crack an encrypted disk and/or block device. Often
they use cryptosetup, but sometimes are full self made.
Hope it helps ;-P
[0]
https://github.com/kokke/tiny-AES-c
[1]
https://github.com/Oknolynx/luks2flt
[2]
https://github.com/xoros-repo/grub
(just a mirror)
[3]
https://github.com/libvirt/libvirt
--
Antenore Gatta
Received on Wed Jun 22 2022 - 08:59:01 CEST