The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

unding - dark magic, encrypted wallet

VERSION

version 0.012

SYNOPSIS

This is an executable script, not a library. If you are a first time user, you might want to consult the "SETUP" section in this document first.

Encrypt a file. Content will be stored in unding. Attention: File will remain on disk!

 ./unding /path/to/file

Or you might want to encrypt output from another program. You can do so, using a dash.

 cat secret | perl unding -

Decrypt and display content stored in unding.

 ./unding

In all cases you must enter a password.

SETUP

Since this script needs write access on it self (yes!), it's best you copy it to your local directory before using. You can explicitly do this via the --init option:

 unding --init

If you want to take this script with you (e.g. on a flash drive) and run it on different machines (e.g. for looking at your encrypted secrets), you might also want to take all module dependencies with you. You can create a copy of this script which includes all needed modules inside itself. You need to install App::FatPacker and then just run something similar to the following (here with redirection of stdout):

 /usr/bin/unding --fatinit > my_packed_unding

You might also want to use the fatpack interface of App::FatPacker manually though.

MOTIVATION

Why «dark magic»? The script uses a technique which making use of, is higly disencouraged by intelligent programmers: Write to the DATA section in Perl

Why the name «unding»? unding derives from the German Un-Ding, meaning the negation of a thing, a Not-Thing (nothing). The negation can be meant pejoratively, relating to the dark magic invoced. But also descriptively, because the script transforms a thing (text) into a nothing (cypher text).

So what's in for me? The dark magic offers you your encrypted secrets together with the code to decrypt it in one single file. All you need to de- and encrypt is this file and a Perl environment. No separation of ciphertext and cryptologic.

WARNINGS

  • This is an early release. Use it at your own risk.

  • After encryption, the script does not delete the original file. You have to do this yourself. This may be considered a feature, since it might prevent loss of data.

  • Under Windows your password input is visible! As soon there is a technical solution, of how to hide the password on Windows, it will be implemented. Patches welcome.

AUTHOR

Boris Däppen <bdaeppen.perl@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Boris Däppen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.