Sponsored Content
Top Forums Programming Write own decryption application Post 302494815 by fpmurphy on Tuesday 8th of February 2011 01:16:43 PM
Old 02-08-2011
The .NET Framework RijndaelManaged Class simply accesses the managed version of the .NET Framework Rijndael algorithm.

Rijndael was the winner of the NIST competition to select the algorithm that eventually become AES. There are however some differences between Rijndael and the official FIPS-197 specification for AES which was first published in 2001.

Rijndael allows for both key and block sizes to be chosen independently from 128, 160, 192, 224, 256 bits and the key size does not have to match the block size. FIPS-197 selected a subset of Rijndael and specifies that the block size must always be 128 bits and that the key size may be either 128, 192, or 256 bits (AES-128, AES-192 and AES-256)

Since .NET RijndaelManaged is an implementation of Rijndael, it allows you to select different block sizes (both block and key sizes must be either 128, 192, or 256 bits as 160 and 224 bit are unsupported.) Also .NET RijndaelManaged implementation adjusts block size to match the feedback size in CFB mode, i.e. if you use CFB (and I believe OFB) and a block size of 128 bits, but a feedback size which is not 128 bits you again will not be compatible with AES. As far as I know .NET RijndaelManaged is not FIPS certified.

I am not sure what you mean by .NET SHA512Managed generating "a 64-byte hash key but then it only uses the first 32 bytes as the key" Do you mean, as I suspect you mean, that Rijndael is using a 256-bit key? If this is the case any AES-256 decrypt routine will work for you so long as you know the symmetric key (typically derived from a passphrase.)

You need to clarify block and key sizes if you expect us to be able to help you.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Decryption software

whats the most sufficient way to make decryption software? What are the recoomendations for one? (3 Replies)
Discussion started by: Phatress
3 Replies

2. UNIX for Advanced & Expert Users

which port to write my server application?

I want to write a server application that would accept HTTP requests from client. The server would be on a machine that has no connection to the INTERNET. The clients that would be posting their HTTP requests would be doing so through webbrowser .Thus it would be sort of intranet application.... (0 Replies)
Discussion started by: rraajjiibb
0 Replies

3. Programming

how to write application for 32 com port

Dear Sir, i m going to use NP5610-16 moxa device for multiport serial communication. i m using fedora-core 6 o.s. after installation it will detect serial ports as /dev/ttyr0,/dev/ttyr1...ttyr32. there are total 32 com ports. now i want to write application which monitor all serial ports and... (6 Replies)
Discussion started by: amitpansuria
6 Replies

4. IP Networking

read/write,write/write lock with smbclient fails

Hi, We have smb client running on two of the linux boxes and smb server on another linux system. During a backup operation which uses smb, read of a file was allowed while write to the same file was going on.Also simultaneous writes to the same file were allowed.Following are the settings in the... (1 Reply)
Discussion started by: swatidas11
1 Replies

5. Shell Programming and Scripting

Password decryption

Hi, I don't know if I am in a correct category with my question. I want to know what decryption-method is used for this password: (1) The first stadium is (its stored in the settings.xml of my software):... (2 Replies)
Discussion started by: Mogli1977
2 Replies

6. Shell Programming and Scripting

decryption issue!

Hi, Something bizarre is happening while decrypting the files. I had a decrypt script which was working smoothly on uname -a Linux ######### 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:33:05 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux After the front-end application was moved to uname -a Linux... (2 Replies)
Discussion started by: dips_ag
2 Replies

7. UNIX for Dummies Questions & Answers

decryption of .cpt file

Hi i have the path for encrytion file in unix and i want to decrypt the .cpt file in unix and change the password how can i do that . (3 Replies)
Discussion started by: lily
3 Replies

8. Shell Programming and Scripting

String encryption and decryption

Hello All, There are so many questions on this and I didn't find any concluded answer. I want to encrypt a string in the script, actually this is a password. I tried using openssl (I am a newbie to openssl), but it is generating a long one which we can't remember. I want to encrypt the... (5 Replies)
Discussion started by: karumudi7
5 Replies

9. Web Development

Apache2 web application- Submit button - write data into a file

Hello, I am newbie on php-mysql and just know only installation. I have an apache2+php5+mysql installed VPS. What I would like to do is that when visitor enters requested data shown in index.html, submit button will run a script to save each field into a file. Here is an example shown in... (1 Reply)
Discussion started by: baris35
1 Replies

10. UNIX for Advanced & Expert Users

How to write if condition in shell script for application server?

Hi all, I have a code to create folder in application server through shell script and i want to create if conditional based folder folder=$HOME/test/sample/whatever if ; then echo "$folder already exists, not created." else mkdir -p "$folder" > /dev/null 2>&1 ... (7 Replies)
Discussion started by: Boost
7 Replies
MCRYPT_ENCRYPT(3)							 1							 MCRYPT_ENCRYPT(3)

mcrypt_encrypt - Encrypts plaintext with given parameters

SYNOPSIS
string mcrypt_encrypt (string $cipher, string $key, string $data, string $mode, [string $iv]) DESCRIPTION
Encrypts the data and returns it. PARAMETERS
o $cipher -One of the MCRYPT_ciphername constants, or the name of the algorithm as string. o $key - The key with which the data will be encrypted. If it's smaller than the required keysize, it is padded with ' '. It is better not to use ASCII strings for keys. It is recommended to use the mhash functions to create a key from a string. o $data - The data that will be encrypted with the given $cipher and $mode. If the size of the data is not n * blocksize, the data will be padded with ' '. The returned crypttext can be larger than the size of the data that was given by $data. o $mode -One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream". o $iv -Used for the initialization in CBC, CFB, OFB modes, and in some algorithms in STREAM mode. If you do not supply an IV, while it is needed for an algorithm, the function issues a warning and uses an IV with all its bytes set to " ". RETURN VALUES
Returns the encrypted data, as a string. EXAMPLES
Example #1 mcrypt_encrypt(3) Example <?php # --- ENCRYPTION --- # the key should be random binary, use scrypt, bcrypt or PBKDF2 to # convert a string into a key # key is specified using hexadecimal $key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3"); # show key size use either 16, 24 or 32 byte keys for AES-128, 192 # and 256 respectively $key_size = strlen($key); echo "Key size: " . $key_size . " "; $plaintext = "This string was AES-256 / CBC / ZeroBytePadding encrypted."; # create a random IV to use with CBC encoding $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); # creates a cipher text compatible with AES (Rijndael block size = 128) # to keep the text confidential # only suitable for encoded input that never ends with value 00h # (because of default zero padding) $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaintext, MCRYPT_MODE_CBC, $iv); # prepend the IV for it to be available for decryption $ciphertext = $iv . $ciphertext; # encode the resulting cipher text so it can be represented by a string $ciphertext_base64 = base64_encode($ciphertext); echo $ciphertext_base64 . " "; # === WARNING === # Resulting cipher text has no integrity or authenticity added # and is not protected against padding oracle attacks. # --- DECRYPTION --- $ciphertext_dec = base64_decode($ciphertext_base64); # retrieves the IV, iv_size should be created using mcrypt_get_iv_size() $iv_dec = substr($ciphertext_dec, 0, $iv_size); # retrieves the cipher text (everything except the $iv_size in the front) $ciphertext_dec = substr($ciphertext_dec, $iv_size); # may remove 00h valued characters from end of plain text $plaintext_dec = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec); echo $plaintext_dec . " "; ?> The above example will output: Key size: 32 ENJW8mS2KaJoNB5E5CoSAAu0xARgsR1bdzFWpEn+poYw45q+73az5kYi4j+0haevext1dGrcW8Qi59txfCBV8BBj3bzRP3dFCp3CPQSJ8eU= This string was AES-256 / CBC / ZeroBytePadding encrypted. See also mcrypt_module_open(3) for a more advanced API and an example. PHP Documentation Group MCRYPT_ENCRYPT(3)
All times are GMT -4. The time now is 10:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy