Ransomware gang REvil breached Sol Oriens at some point last month. Sol Oriens is described consulting firm that works with government agencies to carry out 'complex programs'. As noted in the article, they appear to also work with nuclear weapons systems like the W80-4. If the information stolen by the ransomware gang includes schematics or sensitive information regarding these weapons or other military projects that Sol Oriens may have been working on, that information may now be in the hands of the highest bidder. REvil has said that may forward the information they have to military agencies of their choice. Without a doubt, the situation is precarious as U.S. nuclear weapons information may now be in the hands of seemingly profit-focused threat actors. If an enemy of the country gets ahold of this information the results could be catastrophic. REvil has released information featuring employee payroll records, including social security numbers. They have also released contract ledgers and training material from Sol Oriens. It will be interesting to see what the response is to this attack, and whether REvil is bluffing about the information they have, or if they really do have nuclear secrets.
PGPy is a library for python that enables the creation, storage, and encryption/decryption of PGP keys and files in python. Recently, in a small project to reacquaint myself with python, I used PGPy for key generation and encryption and decryption. That project can be found in my github at https://github.com/lpowell . The goal of the project was to use command-line switches to control the program, and to provide basic encryption and decryption capabilities, along with rot13 and base64 encoding. First, to load in a key use key, _ = pgpy.PGPKey.from_file(keyfilename) . This loads the key from either a binary or ASCII armored file. You can swap out .from_file for .from_blob , if you plan on using a key stored in a string or bytes object rather than a file. In my example code, I pull the key from a file, as I found it to be the simpler method. Next, you'll need to open a file or create a string or bytes object that contains the message you wish to encrypt. We'll call this file