english português brasileiro

Binho's Portal

RbCripto

RbCripto is an academic program to encrypt and decrypt files. I implemented it for my course completion assignment of post-graduate in information security I did in ITA.

It is a simple program that combines the modern elliptic curve algorithm with 568bits (using Diffie-Hellman) and the fast AES algorithm with 256-bit. This combination ensures the security of your information quickly and effectively.

You can generate a key pair for EC 568bits to ensure maximum security of your encrypted file. By distributing your public key, anyone can encrypt a file that only you, with your private key, can decipher.

Additionally, you can use the program only with symmetric key AES 256-bit, so anyone who has the password can decrypt the file.

In any case, the program was able to encrypt a file over 4GB in about 12 minutes on a computer with 1.9GHz processor and 1GB RAM. It is the time it would take to burn a DVD with the same size in 16x.

RbCripto is totally free, you can download it and use it for any purpose. The only version is available for Windows, but I will implement Linux version and make available the source code also. For other languages​​, change the language of the page (flags above).

RbCripto download (USA English)

RbCripto manual download (USA English)

RbCripto with manual download (ZIP file)

RbCripto Manual

About RbCripto

RbCripto is a simple program that was designed with academic purposes. It can perform file encryption and decryption using the modern concept of elliptic curves combined with Diffie-Hellman algorithm and associated with AES 256-bit symmetric key.

Requirements

The program consists only a small executable with less than 1MB and requires no installation, so it can be kept in flash drive or memory card. Its operation requires no more than 10MB of memory. To encrypt or decrypt files, requires memory and disk space according to the size of the file. For example, for a 30MB file, it requires the same 30MB of disk space and preferably 30MB of RAM. For large files, for example, 5GB, you need 5GB of disk space and the more free memory, the better. RbCripto has an algorithm to optimize memory allocation, thus avoiding the pagination (situation where the system uses disk space when there is not much free memory).

Sample statistics

RbCripto was tested in a computer based on the AMD X2 1.9GHz with 1GB of RAM and SATA2 HD. For a file with 4.2 GB (the size of a home DVD player), it needed 12 minutes to perform the encryption and 9 minutes to perform the decryption. For this work it used about 700MB RAM free. For a 300MB file, it took 1 minute and a half to encrypt and decrypt.

Symmetric encryption versus asymmetric encryption

The difference between the two concepts is simple: in symmetric encryption, the same key used to encrypt the file should be used to decrypt it; in asymmetric encryption, the keys are distinct and have a correlation based on complex mathematical concepts. RbCripto supports both types. To use symmetric encryption, the user must enter a password, which will be converted into cryptographic key to encrypt the file. To decrypt it, you should remember the same password to enable the reverse process. To use asymmetric encryption, the user need only generate a key pair, which will be saved in files.

Using the program

Generation of asymmetric keys

Asymmetric keys are used to make the encryption and decryption of the file without using passwords. Works as follows: the user creates an asymmetric key pair within RbCripto:

Screen 01

The program automatically generates keys and opens dialog boxes to save files.

The first file to be written is the private key - this file should be stored carefully and never be published:

Screen 02

The second file is the public key - this file must be distributed and other people will use it to encrypt files which can only be decrypted with its private key, which was guarded with care:

Screen 03

This is an example of a RbCripto key:

Screen 04

Encryption

It's very simple, click the ENCRYPT function:

Screen 05

RbCripto opens the box to choose the file to be encrypted:

Screen 06

After choosing, it opens a box of options like this:

Screen 07

If you want to use asymmetric encryption, just use the SEARCH button next to "public key file" to locate the corresponding file:

Screen 08

In the example below, any person (or So-and-So himself) will encrypt a file which can be decrypted only by So-and-So, because he alone has the corresponding private key:

Screen 09

If you want to use symmetric encryption, you must enter and confirm a password:

Screen 10

In any case, it is recommended to select "Use Advanced Method", so RbCripto will use variations on algorithm to make the file more secure without requiring more time for that. During processing, RbCritpo displays a progress bar like this:

Screen 11

Decryption

To decrypt a file, the process is even simpler. Choose the DECRYPT function:

Screen 12

Select the file to be decrypted:

Screen 13

RbCripto automatically detects the options used in encryption and acts accordingly. If you have been used symmetric encryption, it asks for a password in a box like this, in which the user must enter the same password used to encrypt:

Screen 14

If the user has opted for asymmetric cryptography, RbCripto need the private key file corresponding to file public key used to encrypt. For example, if someone (or So-and-So himself) used the So-and-So's public key to encrypt, the program will need the So-and-So's private key (only So-and-So has) and it asks for file which has this key. When it open the box, just select the correct file:

Screen 15

And the file can be decrypted normally:

Screen 16

During processing, RbCritpo displays a progress bar like this:

Screen 17

Advanced – public key by sending e-mail

For asymmetric encryption, you must distribute the public key. It is clear that e-mail is the first idea to the distribution. How these days many ISPs block e-mail attachments, the public key file (RBP extension) attachment can cause problems. But there is a way around this: just open the file with Wordpad, for example, copy and paste its contents in the message body. The only restriction is that the message can not have HTML formatting (any e-mail program or webmail interface on the Internet allows this option). The person receiving the e-mail simply need to paste the text into Wordpad window and save the file with RBP extension.

Copyright © Binho RbSoft, 2014 – 2024