In case of broken links or downloads, read the whole page products, chances are that you will find a supercede version of the software that you are looking with a different project name, as an example the MP3 OCX is now project rsppmp3 at

Last update: Thu Sep 10 13:39:48 2009

RSP Encrypt OCX 3.4.1

Release date (Thu Sep 10 13:39:48 2009)

rspencrypt300.png (9503 bytes)

rspencrypt300-2.png (6378 bytes)

ActiveX OCX to encrypt files with a very fast implementation of AES 256 bits and standard RC4


If possible use the RSP Encrypt DLL , it is a better and newer implementation of this ocx ( recommended )

What is new in the version 3.4.3 (Fri Oct 09 12:19:33 2009) Added full support to long files ( above 2gb )

What is new in the version 3.4.1 (Thu Sep 10 13:35:56 2009) Small update to reflect the changes

What is new in the version 3.4.0 (Fri Jun 06 09:32:00 2008) :Fixed incompatibility with Windows Vista , minor modifications

What is new in the version 3.3.0 (Mon Aug 08 14:55:15 2005) : Fixed incompatibility with Win XP SP2 , minor bugs fixed , the upgrade is recommended

What is new in the version 3.2.0 (06/Jan/2005 15:59) : Added a new mode of AES encryption called CTR mode , in this mode the original block cipher is converted to a stream cipher , then , no more padding required when the string or file is not multiple of 16 , and this new mode also will make the output data to be indistinguishable from random noise no matter what kind of input is sent to the encryption code , the speed execution is slightly slower than the normal AES mode , and this is the mode of choice for maximum security , notice that both old mode and new modes are available in the control , minor modifications also

What is new in the version 3.1.0 (05/Jan/2005 16:26) : Added full support to multiples instances of the control in the same form using normal method or CreateObject , modified the termination of the control to avoid possible VB crashes , enhanced the speed execution of the encryption/decryption , now the control is 10 percent faster when encrypting RC4 files and 40 percent faster when encrypting AES 256 files , minor bugs fixed

What is new in the version 3.0.0 (26/Aug/2004 10:55) : Added CRC data detection on the encrypted file , now the control can check whether the correct password was entered , added new functions to avoid the break of compatibility with older versions , then the control can work in old mode or in the new mode in the same environment , the new functions are NewEncryptFileAES , NewDecryptFileAES , NewEncryptFileRC4 and NewDecryptFileRC4 , added detection of valid encrypted files , now the control will detect whether a file passed to the encryption functions are encrypted or not before unencrypting , notice that it only applies to the new functions added , when using the old functions the new mode is just deactivated , minor bugs fixed

What is new in the version 2.5.0 (01/Mar/2004 18:38) : Added string encryption code , added Unicode support to encryption of strings , fixed a bug that may occur when very large passwords are passed to the control , in this case the control can just crash due to memory corruption on the stack , added string size verification code to both files and strings encryption , minor bugs fixed

What is new in the version 2.0.0 (16/Feb/2004 20:52) : Added cpu detection code , added pause , resume and cancel functions , extended the execution to make the encryption and decryption functions to return immediately while the process is executing in the background , added progress event function , added wait mode execution to make the functions to return only after the end of the execution , added process priority selection , minor bugs fixed


This control can encrypt files or strings using AES 256 , AES 256 CTR or RC4 encryption methods

The code is optimized to very fast code execution on Win32 when new AMD or Intel processors are available

Ability to pause , resume and cancel the encryption of files

Progress event to report the progress of the execution

In the case of encryption of strings , the string will be converted to hexadecimal notation since the encrypted string is binary information that can have characters that cannot be shown in textboxes

This conversion will cause the size of the string to double , and when Unicode is used , the size will be 4 times the size of the original string

This occur because in Unicode support method each character is stored as a 16 bits value , and with the hexadecimal conversion the size of the original string will be four times the size of the original string

Unicode support is important to make it possible to show any character set available today , including chinese and others characters sets that has simbols instead of ANSI character codes

Description of the encryption methods

The AES ( Advanced Encryption Standard ) is adopted by NIST as an encryption standard to be used when very strong encryption is required

The RC4 is the standard RC4 encryption developed by RSA

The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm that can be used to protect electronic data.

The AES algorithm is a symmetric block cipher that can encrypt (encipher) and decrypt (decipher) information.

Encryption converts data to an unintelligible form called ciphertext; decrypting the ciphertext converts the data back into its original form, called plaintext.

The AES algorithm is capable of using cryptographic keys of 128, 192, and 256 bits to encrypt and decrypt data in blocks of 128 bits.

Notice that this control implements the 256 bit version of the AES encryption

What is the AES 256

In cryptography, the Advanced Encryption Standard (AES), also known as Rijndael, is a block cipher adopted as an encryption standard by the US government, and is expected to be used worldwide and analysed extensively, as was the case with its predecessor, the Data Encryption Standard (DES).

It was adopted by National Institute of Standards and Technology (NIST) as US FIPS PUB 197 in November 2001 after a 5-year standardisation process (see Advanced Encryption Standard process for more details).

The cipher was developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen, and submitted to the AES selection process under the name "Rijndael", a portmanteau comprised of the names of the inventors.

Rijndael was a refinement of an earlier design by Daemen and Rijmen, Square;

Square was a development from Shark.

Unlike its predecessor DES, Rijndael is a substitution-permutation network, not a Feistel network.

AES is fast in both software and hardware, is relatively easy to implement, and requires little memory.

As a new encryption standard, it is currently being deployed on a large scale.


AES Security

As of 2004, no successful attacks against AES have been recognised.

The National Security Agency (NSA) reviewed all the AES finalists, including Rijndael, and stated that all of them were secure enough for US Government non-classified data.

In June 2003, the US Government announced that AES may be used for classified information:

"The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level.

TOP SECRET information will require use of either the 192 or 256 key lengths.

The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use."

What is the RC4

In cryptography, RC4 (or ARCFOUR) is the most widely-used software stream cipher and is used in popular protocols such as Secure Sockets Layer (SSL) (to protect Internet traffic) and WEP (to secure wireless networks).

RC4 was designed by Ron Rivest of RSA Security in 1987; while it is officially termed "Rivest Cipher 4", the RC acronym is alternatively understood to stand for "Ron's Code"

RC4 was initially a trade secret, but in September 1994 a description of it was anonymously posted to the Cypherpunks mailing list.

It was soon posted on the sci.crypt newsgroup, and from there to many sites on the Internet.

Because the algorithm is known, it is no longer a trade secret.

RC4 is often referred to as "ARCFOUR", to avoid possible trademark problems.

It has become part of some commonly used encryption protocols and standards, including WEP and WPA for wireless cards and SSL.

RC4 generates a pseudorandom stream of bits (a "keystream") which, for encryption, is combined with the plaintext using XOR as with any Vernam cipher; decryption is performed the same way.

To generate the keystream, the cipher makes use of a secret internal state which consists of two parts: A permutation of all 256 possible bytes.

Two 8-bit index-pointers .

The permutation is initialised with a variable length key, typically between 40 and 256 bits, using the key-scheduling algorithm (KSA).

Once this has been completed, the stream of bits is generated using the pseudo-random generation algorithm (PRGA).

RC4 security

If security is the goal , then use AES

AES have several more levels of security than RC4

RC4 can be used "only" when speed is important and security isnot the major concern

AES 256 encryption modes of operation


Mode electronic codebook (ECB)

Ecb_encryption.gif (9584 bytes)

Ecb_decryption.gif (10237 bytes)


The simplest of the encryption modes is the electronic codebook (ECB) mode, in which the message is split into blocks ( 16 bytes ) and each is encrypted separately

The disadvantage of this method is that identical plaintext blocks are encrypted to identical ciphertext blocks; it does not hide data patterns.

And notice also that to avoid the padding of the files or strings that are not multiples of 16 bytes , the slice of the file or string that are different of a multiple of 16 is encrypted with RC4 , so , the destination file or string will always be the size of the original file or string with no padding bytes

The ECB mode is used in the following functions:









For security reasons and to avoid data paterns in the encrypted data use the CTR mode


Mode counter (CTR)

Ctr_encryption.gif (13359 bytes)

Ctr_decryption.gif (13726 bytes)


Counter mode turns a block cipher into a stream cipher.

It generates the next keystream block by encrypting successive values of a "counter".

The counter can be any simple function which produces a sequence which is guaranteed not to repeat for a long time, although an actual counter is the simplest and most popular.

CTR mode has very similar characteristics to OFB, but also allows a random access property for decryption

This is the recommended mode of execution of the AES encryption

Since it transform the original block cipher to a stream cipher , no padding bytes are required

This mode is implemented in the following functions:







This is the recommended mode to be used for maximum security


AES Encryption samples


Original binary file with a sequence of 0

enc1.png (2504 bytes)

Encrypted file with AES 256 ECB mode

enc2.png (12849 bytes)

Encrypted file with AES 256 CTR mode

enc3.png (14193 bytes)


As the samples show , when the CTR mode is selected the output is indistinguishable from random noise.

This avoid possible attacks


Documentation of the RSP Encrypt OCX 3.3.0 will be available soon

Documentation of the RSP Encrypt OCX 3.0.0

Documentation of the RSP Encrypt OCX 2.5.0

Documentation of the RSP Encrypt OCX 1.0.0



- Execute register_ocx.exe , if Vista then as admin


- Execute unregister_ocx.exe , if Vista then as admin

Operating System Compliance

Windows 95 , Windows 98 , Windows Millenium , Windows NT 4.0(sp6a) , Windows 2000 , Windows XP


RSP Encrypt OCX 3.4.3 SourceForge

RSP Encrypt OCX 3.4.1

RSP Encrypt OCX 3.4.0 link 1

RSP Encrypt OCX 3.3.0 link 1


RSP Encrypt OCX 3,1,0 link 0

RSP Encrypt OCX 2.5.0 link 0

RSP Encrypt OCX 2.0.0 link 0

RSP Encrypt OCX 1.0.0 link 0


This control is available to register at Shareit! , click in the link below to register

Link to register version 3.4.0

After the registration the licensed version will be emailed to you , thanks for considering the registration

Home   Contact   About   Development   C Programming  

Processor Research   Products   License   Mirrors

Free Web Counter