The purpose of the application is to provide convenient tools for encryption and decryption of text and files. The application provides the following methods for encryption and decryption: affine cryptosystem for Latin text (26 letters), affine cryptosystem for Cyrillic text (30 letters), RSA cryptosystem and АSЕ cryptosystem.
Affine cryptosystem, are examples of private key cryptosystems. In a private key cryptosystem, once you know an encryption key, you can quickly find the decryption key. So, knowing how to encrypt messages using a particular key allows you to decrypt messages that were encrypted using this key. For example, when a shift cipher is used with encryption key k, the plaintext integer p is sent to c =(p+k)mod26. Decryption is carried out by shifting by −k; that is, p =(c−k)mod26. So knowing how to encrypt with a shift cipher also tells you how to decrypt.
In the application affine ciphers which use functions of the form f(p) = (ap + b) mod 26, where a and b are integers, chosen so that f is a bijection. The function is a bijection if and only if gcd(a,26) = 1. p ≡ ā(c− b) (mod 26) is used to determine p in Z26 = {0,1,2...25}. In the application for encrypting Latin text and files, a=5 and ā=21 is used. The parameter b is chosen from a list. For encrypting Cyrillic text and files, a=7 and ā=13 is used and Z30 = {0,1,2...29}. The parameter b is also chosen from a list.
The RSA (Wikipedia: Rivest–Shamir–Adleman) cryptosystem is a public-key cryptosystem, one of the oldest widely used for secure data transmission. In a public-key cryptosystem, the encryption key is public and distinct from the decryption key, which is kept secret (private). An RSA user creates and publishes a public key based on two large prime numbers, along with an auxiliary value. The prime numbers are kept secret. Messages can be encrypted by anyone, via the public key, but can only be decrypted by someone who knows the private key.
The security of RSA relies on the practical difficulty of factoring the product of two large prime numbers, the "factoring problem". Breaking RSA encryption is known as the RSA problem. Whether it is as difficult as the factoring problem is an open question. There are no published methods to defeat the system if a large enough key is used.
The Advanced Encryption Standard (AES), also known by its original name Rijndael (Wikipedia) is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant of the Rijndael block cipher. Rijndael is a family of ciphers with different key and block sizes. For AES, NIST selected three members of the Rijndael family, each with a block size of 128 bits, but three different key lengths: 128, 192 and 256 bits.