Important: This software is no longer being maintained. Use at your own risk
encryption-tool / plugin for notepad++ (https://notepad-plus-plus.org).
features: encryption/decryption with symmetric ciphers like aes. hash-functions like sha3. generation of random values (i.e. for passwords), various encoding options.
1.0.1.6:
kontakt (at) cerberus-design . de
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Well, first of all it would be quite hard to remember all the different options that were used for different encryptions. Secondly a lot of encryptions need additional data (IV, Salt, tag). Select this header together with your encrypted data and all this stuff will be parsed automaticly. Of course you can just delete the header and only select the encrypted data for decryption. But in this case you have to select all the right options yourself and provide the missing data (i.e. iv).
In the preferences-dialog you can specify a nppcrypt-file-extension (like mp3 doc etc.). If you futhermore check the "enable" box nppcrypt will now monitor all files you open and save with notepad++. for example: you specified the nppcrypt-file-extension "nbak" and now you save a file as "secret.nbak": the encryption dialog will automaticly open and you can choose the encryption-method of your liking. the next time you open this file you will be automaticly asked for your password. #IMPORTANT#: nppcrypt does NOT monitor the auto-backup-feature of notepad++. also: "save as" does not work for nppcrypt-files!
for example: aes/rijndael 256, gcm , 16-byte salt, scrypt (at least N=14, r=8, p=1, or better, see google), random iv
Sadly 1.0.1.6 is not backward compatible (mostly because of a changed header format). Obviously this is quite annoying and will be avoided in the future, but in this case it seemed worth it. Please download an older version (links above), replace nppcrypt.dll in Notepad++\plugins (< Notepad++ 7.6) or %PROGRAMDATA%\Notepad++\plugins\nppcrypt (>= Notepad++ 7.6.1), decrypt your data, then update to 1.0.1.6 and reencrypt. Sorry for the inconvenience...
1) bcrypt output is always 23 bytes long ( wikipedia ). therefore it is hashed by keccak-shake128 to get the needed key-length.
2) some cipher modes provide authentication (gcm/ccm/eax). In advanced mode you will have the possibility to add IV and Salt as additional authenticated data. Just click the checkbox "auth. IV/Salt".
3) nppcrypt can add an additional hmac value to authenticate the data (see auth-tab in encryption-dialog). for this purpose everything beween
Download repository, open nppcrypt.sln under projects/msvc2017 and compile the project "nppcrypt" or the project "cmdline" (Microsoft Visual Studio 2017 needed)
git clone https://github.com/jeanpaulrichter/nppcrypt.git
cd nppcrypt
make
sudo make install
(OR: sudo make install target=global to copy nppcrypt to /usr/bin instead of /usr/local/bin)
make clean
basic usage: nppcrypt [enc|dec|hash] input. see --help for information about options. Some options allow for additonal information to be passed via the seperator ":". i.e. "-k scrypt:16:9:2" means scrypt with (N=2^16,r=9,p=2) instead of the default values (N=14,r=8,p=1) you would get with "-k scrypt". examples:
decrypt .nppcrypt file:
nppcrypt dec test.nppcrypt
encrypt file "test.txt" with default settings and save as test.nppcrypt:
nppcrypt enc test.txt -o test.nppcrypt
get md5, sha1 and sha3 hash of file "download.zip" (and optionally check hex-string against it):
nppcrypt download.zip
get blake2s hash of "teststring"
nppcrypt hash blake2s teststring
the notepad++ plugin will work with utf16/ucs-2 files, but if you want to use nppcrypt it is recommended that you only use utf8 files. the commandline tool writes only utf8 files and can cannot read utf16-encoded nppcrypt-files.
1.0.1.6 introduces "easy mode" for new users that only asks for a password and hides all other options. In this mode a set of default options will be used for encryption. You can change the default encryption by editing the preferences file %APPDATA%/notepad++/plugins/config/nppcrypt.xml. look for
For everything except the "convert" dialog nppcrypt uses RFC 4648 base64 and DUDE base32. The "convert"-dialog (Nppcrypt->Convert) by default uses RFC 4648 for both base64 and base32. You can change the alphabets used by the convert-dialog in the preferences file: %APPDATA%/notepad++/plugins/config/nppcrypt.xml.