111 skills found · Page 1 of 4
TakeScoop / SwiftyRSARSA public/private key encryption in Swift
dpc / RdedupData deduplication engine, supporting optional compression and public key encryption.
soyersoyer / SwCryptRSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and OS X
pablocelayes / Rsa Wiener AttackA Python implementation of the Wiener attack on RSA public-key encryption scheme.
spikex / StrongboxSecures ActiveRecord attributes with public key encryption
EOSIO / Eosjs EccElliptic curve cryptography functions: Private Key, Public Key, Signature, AES, Encryption, Decryption
Kitura / BlueRSARSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).
vapor / Open Crypto🔑 Hashing (BCrypt, SHA2, HMAC), encryption (AES), public-key (RSA), and random data generation.
dajiaji / Hpke JsA Hybrid Public Key Encryption (HPKE) module built on top of Web Cryptography API.
vlucas / PikirasaPKI public/private RSA key encryption using the OpenSSL extension
abhir98 / RansomwareProject Summary This project was developed for the Computer Security course at my academic degree. Basically, it will encrypt your files in background using AES-256-CTR, a strong encryption algorithm, using RSA-4096 to secure the exchange with the server, optionally using the Tor SOCKS5 Proxy. The base functionality is what you see in the famous ransomware Cryptolocker. The project is composed by three parts, the server, the malware and the unlocker. The server store the victim's identification key along with the encryption key used by the malware. The malware encrypt with a RSA-4096 (RSA-OAEP-4096 + SHA256) public key any payload before send then to the server. This approach with the optional Tor Proxy and a .onion domain allow you to hide almost completely your server. Features Run in Background (or not) Encrypt files using AES-256-CTR(Counter Mode) with random IV for each file. Multithreaded. RSA-4096 to secure the client/server communication. Includes an Unlocker. Optional TOR Proxy support. Use an AES CTR Cypher with stream encryption to avoid load an entire file into memory. Walk all drives by default. Docker image for compilation. Building the binaries DON'T RUN ransomware.exe IN YOUR PERSONAL MACHINE, EXECUTE ONLY IN A TEST ENVIRONMENT! I'm not resposible if you acidentally encrypt all of your disks! First of all download the project outside your $GOPATH: git clone github.com/mauri870/ransomware cd ransomware If you have Docker skip to the next section. You need Go at least 1.11.2 with the $GOPATH/bin in your $PATH and $GOROOT pointing to your Go installation folder. For me: export GOPATH=~/gopath export PATH=$PATH:$GOPATH/bin export GOROOT=/usr/local/go Build the project require a lot of steps, like the RSA key generation, build three binaries, embed manifest files, so, let's leave make do your job: make deps make You can build the server for windows with make -e GOOS=windows. Docker ./build-docker.sh make Config Parameters You can change some of the configs during compilation. Instead of run only make, you can use the following variables: HIDDEN='-H windowsgui' # optional. If present the malware will run in background USE_TOR=true # optional. If present the malware will download the Tor proxy and use it to contact the server SERVER_HOST=mydomain.com # the domain used to connect to your server. localhost, 0.0.0.0, 127.0.0.1 works too if you run the server on the same machine as the malware SERVER_PORT=8080 # the server port, if using a domain you can set this to 80 GOOS=linux # the target os to compile the server. Eg: darwin, linux, windows Example: make -e USE_TOR=true SERVER_HOST=mydomain.com SERVER_PORT=80 GOOS=darwin The SERVER_ variables above only apply to the malware. The server has a flag --port that you can use to change the port that it will listen on. DON'T RUN ransomware.exe IN YOUR PERSONAL MACHINE, EXECUTE ONLY IN A TEST ENVIRONMENT! I'm not resposible if you acidentally encrypt all of your disks! Step by Step Demo and How it Works For this demo I'll use two machines, my personal linux machine and a windows 10 VM. For the sake of simplicity, I have a folder mapped to the VM, so I can compile from my linux and copy to the vm. In this demo we will use the Ngrok tool, this will allow us to expose our server using a domain, but you can use your own domain or ip address if you want. We are also going to enable the Tor transport, so .onion domains will work without problems. First of all lets start our external domain: ngrok http 8080 This command will give us a url like http://2af7161c.ngrok.io. Keep this command running otherwise the malware won't reach our server. Let's compile the binaries (remember to replace the domain): make -e SERVER_HOST=2af7161c.ngrok.io SERVER_PORT=80 USE_TOR=true The SERVER_PORT needs to be 80 in this case, since ngrok redirects 2af7161c.ngrok.io:80 to your local server port 8080. After build, a binary called ransomware.exe, and unlocker.exe along with a folder called server will be generated in the bin folder. The execution of ransomware.exe and unlocker.exe (even if you use a diferent GOOS variable during compilation) is locked to windows machines only. Enter the server directory from another terminal and start it: cd bin/server && ./server --port 8080 To make sure that all is working correctly, make a http request to http://2af7161c.ngrok.io: curl http://2af7161c.ngrok.io If you see a OK and some logs in the server output you are ready to go. Now move the ransomware.exe and unlocker.exe to the VM along with some dummy files to test the malware. You can take a look at cmd/common.go to see some configuration options like file extensions to match, directories to scan, skipped folders, max size to match a file among others. Then simply run the ransomware.exe and see the magic happens 😄. The window that you see can be hidden using the HIDDEN option described in the compilation section. After download, extract and start the Tor proxy, the malware waits until the tor bootstrapping is done and then proceed with the key exchange with the server. The client/server handshake takes place and the client payload, encrypted with an RSA-4096 public key must be correctly decrypted on the server. The victim identification and encryption keys are stored in a Golang embedded database called BoltDB (it also persists on disk). When completed we get into the find, match and encrypt phase, up to N-cores workers start to encrypt files matched by the patterns defined. This proccess is really quick and in seconds all of your files will be gone. The encryption key exchanged with the server was used to encrypt all of your files. Each file has a random primitive called IV, generated individually and saved as the first 16 bytes of the encrypted content. The algorithm used is AES-256-CTR, a good AES cypher with streaming mode of operation such that the file size is left intact. The only two sources of information available about what just happen are the READ_TO_DECRYPT.html and FILES_ENCRYPTED.html in the Desktop. In theory, to decrypt your files you need to send an amount of BTC to the attacker's wallet, followed by a contact sending your ID(located on the file created on desktop). If the attacker can confirm your payment it will possibly(or maybe not) return your encryption key and the unlocker.exe and you can use then to recover your files. This exchange can be accomplished in several ways and WILL NOT be implemented in this project for obvious reasons. Let's suppose you get your encryption key back. To recover the correct key point to the following url: curl -k http://2af7161c.ngrok.io/api/keys/:id Where :id is your identification stored in the file on desktop. After, run the unlocker.exe by double click and follow the instructions. That's it, got your files back 😄 The server has only two endpoints: POST api/keys/add - Used by the malware to persist new keys. Some verifications are made, like the verification of the RSA autenticity. Returns 204 (empty content) in case of success or a json error. GET api/keys/:id - Id is a 32 characters parameter, representing an Id already persisted. Returns a json containing the encryption key or a json error The end As you can see, building a functional ransomware, with some of the best existing algorithms is not difficult, anyone with some programming skills can build that in any programming language.
daviddahl / Domcryptfast, native Public Key Encryption exposed to JavaScript/DOMWindows for Firefox
cfrg / Draft Irtf Cfrg HpkeHybrid Public Key Encryption
jayrbolton / Dat Wot[WIP] A decentralized public key network with encryption utilities for data collaboration
nowsecure / Nscrypto CppA C++11 library providing simple API for public-key encryption
twitchax / RatrodA TCP / UDP tunneler that uses public / private key authentication with encryption.
ysmood / GoeA simple lib to load, parse and share environment variables.
Calvin-LL / SecretDrop.ioPublic key encryption for everyone
atulmahind / PEKSImplementation of Public Key Encryption with Keyword Search
ygoseo / VPN Proxy Master Pro Free Fast Connect Unlimited VPN ProxyVPN Proxy Master Pro application masks your true IP address and location, encrypt your internet traffic, secures you from public Wi-Fi and helps unblock sites and apps on your Android phone so that you can access any restricted content, connect safely and anonymously. Our servers ensure high availability, security and anonymity of VPN services. ‘VPN Proxy Master Pro’ is very secure VPN app for android devices with In App Purchases integrated which means users can purchase fastest servers from the app also if they want to upgrade to fastest servers. In app purchases is divided into 3 plans. One Month Subscription: in which user will be able to use VPN and for ONE MONTH without ads and upgrading to fastest servers. Six Month Subscription: in which user will be able to use VPN and for SIX MONTHS without ads and upgrading to fastest servers. Twelve Month Subscription: in which user will be able to use VPN and for TWELVE MONTHS without ads and upgrading to fastest servers. Why choose ‘VPN Proxy Master Pro’? • Zero-buffering speeds: safe connection isn’t just a private VPN-it’s a fast, free and secure VPN as well! • Stay safe on the move: strong end-to-end data encryption keeps you safe on every public Wi-Fi hotspot, making it the best & secure VPN wifi app. • Hide IP address: protect your privacy with VPN by hiding real IP address that can be connected to your digital identity. Stay Safe! • Safest protection: VPN Virginia provides its users end - to - end encryption to guard sensitive information. • No logs, no tracking: We really have no idea what you’re doing online when VPN proxy service is enabled. We care for your privacy! • Budget-friendly: VPN For Android the best value VPN subscription plans. How to Use ‘VPN Proxy Master Pro’ (Safe-guard VPN app)? Step 1: Download the app Step 2: Select country you want to connect to Step 3: Click on "Start" That’s it! Features: • Fastest Super-Fast VPN Proxy • One Touch Connection • Auto Connect with Fastest Server • Unlimited Servers • Fastest Speed • Limitless Usage • IN APP Purchases • Multiple Ad Networks • Switch Between Ad Networks any Time • One signal Push Notifications • Fast Servers without Limit • Clean, Modern and Stunning UI Design • Android Studio Code • Error Free Source Code • Online Documentation • Android 11 Supported • Easy to Install • Complete Step by Step Installation Guide • Better User Experience • Available anytime for any support. Main Features of Free VPN on Android: Incognito Browsing: Using netherlands VPN you’ll be able to browse the web with complete anonymity. Security: Your network is fully encrypted, making it near impossible for anyone to see what you’re doing online. Stream from anywhere: Using free VPN client, sites or content on those sites that may be blocked in your region become readily available, making it possible to access & surf any site and service from virtually anywhere in the world. Avoid network throttling: VPN privacy resets your online network to its original settings and allow you to surf, stream, and download without having to worry about slow-loading sites. Find better deals online: By connecting to proxy hotspot server outside your home region and comparing prices online, you might be able to get better deals. You'll need a VPN in the following instances: * Visiting websites and launching apps blocked by your Internet Service Provider. * Willing to conceal from your Internet Service Provider for a fact of visiting certain websites. * VPN provides anonymous access to websites and apps- your Internet Service Provider is only notified of you being connected to a VPN - all the web-traffic is encrypted with a 1024-bit key. * Connecting to open Wi-Fi networks (password-less). All the data in these networks is transmitted in the clear (without encryption). * Website may be intercepted by ill-intentioned persons. VPN encrypts traffic and prevents it from being read even in case of open Wi-Fi networks.