Hi All,
this is my first post,
english is not my first language, sorry for my bad english
here, i want to ask about AES algorithm basic from rijndael algorithm
i want to make a program that can encrypt image using AES algorithm. i confused about how AES algorithm process.
please someone give me a clue,
thanks,
5 replies to this topic
#1
Posted 06 December 2011 - 10:41 PM
|
|
|
#2
Posted 06 December 2011 - 10:45 PM
Rijndael was elected as the advanced encryption standard (AES) if that is one of your questions, they are the same thing.
For your other question, the encryption cipher (its basic functioning) works on blocks of bytes (computer data) and can freely encrypt everything from text to binary to images.
If you have programming for AES then you do not need to change anything, you need only to feed the binary contents (as unsigned chars, or bytes, or characters) to the encryption function.
If you can use an existing encryption library of which supports AES, then you can likely do this in very few steps (I am not sure what exactly you are using at this point, if by hand or by some programming library)
Absolutely feel free to clarify, I will try to better form my reply if it is unclear.
Regards,
Alexander.
For your other question, the encryption cipher (its basic functioning) works on blocks of bytes (computer data) and can freely encrypt everything from text to binary to images.
If you have programming for AES then you do not need to change anything, you need only to feed the binary contents (as unsigned chars, or bytes, or characters) to the encryption function.
If you can use an existing encryption library of which supports AES, then you can likely do this in very few steps (I am not sure what exactly you are using at this point, if by hand or by some programming library)
Absolutely feel free to clarify, I will try to better form my reply if it is unclear.
Regards,
Alexander.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#3
Posted 07 December 2011 - 08:20 PM
thanks for answer, :)
i want to create my own library using this algorithm.
i just think, when i want to encrypt a file (jpg, txt,, or anything else). i must convert/get hex of that file right?.
so, i want to try encrypt image file with out using that way.
what if i want to create block of data from image file using pixel of that image.
is that posible?
my main question is, is it true that the important process of AES algorithm is to create block of hex of plaintext?
so when i get the block of hex, i just follow the encryption process from rijndael algorithm.
thanks,
*sorry for my bad english :D
i want to create my own library using this algorithm.
i just think, when i want to encrypt a file (jpg, txt,, or anything else). i must convert/get hex of that file right?.
so, i want to try encrypt image file with out using that way.
what if i want to create block of data from image file using pixel of that image.
is that posible?
my main question is, is it true that the important process of AES algorithm is to create block of hex of plaintext?
so when i get the block of hex, i just follow the encryption process from rijndael algorithm.
thanks,
*sorry for my bad english :D
#4
Posted 07 December 2011 - 08:46 PM
Quote
so when i get the block of hex, i just follow the encryption process from rijndael algorithm.
A string in most languages is simply a "string of bytes", that may be a block of text, but can generally be any sort of data as long as you know the string's length. You can freely read the image in chunks of bytes, and encrypt it, then write all of the chunks together as the encrypted file.
Quote
so, i want to try encrypt image file with out using that way.
what if i want to create block of data from image file using pixel of that image.
what if i want to create block of data from image file using pixel of that image.
Do you "require" the image to be broken down and encrypted, or had you just not understood it could be encrypted if read as binary?
As for the actual encryption, the algorithm is a little complex and it may be wise to use an existing library or implementation of Rijndael (especially if it is written in low level programming languages), it can still be used to encrypt images.
I can write a basic draft of how the Rijndael function works if you require it, and find a simple example code from scratch so that you at least know how it is done (unless you have a specific language in mind)
Alexander.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#5
Posted 08 December 2011 - 09:50 PM
Quote
I can write a basic draft of how the Rijndael function works if you require it, and find a simple example code from scratch so that you at least know how it is done (unless you have a specific language in mind)
Quote
Do you "require" the image to be broken down and encrypted, or had you just not understood it could be encrypted if read as binary?
thanks for explanation.
So, i just need to get an array of bytes from image then encrypt it to another array of bytes. Then again change thank array bak to image.
just like that right?
i want encrypt using AES from image plaintext to image chipertext. like chaos transformation encryption,
Again, thanks Alexander
#6
Posted 09 December 2011 - 04:31 PM
I am not sure what you are using to realize the theory, C is a good candidate however is complex if you have not learned the basics beforehand.
The main process is the key expansion, and round key selection from Rijndael's key scheduling process. A basic overview of this including steps to create code for yourself can be found here: Rijndael key schedule - Wikipedia, the free encyclopedia
Within the key scheduling process, if you had wanted to apply a method of the chaos theory then you would need to replace Rijndael's S-box implementation with its own. This could be possibly very complex, and I cannot find anything in quick search that would help you. There is in fact a paper (IEEE, pay-walled) that deals with implementing this feature in to AES: http://ieeexplore.ie...rnumber=5595158
As for specifics regarding languages (a draft for a program to implement the original Rijndael cipher) you may wish to look at existing cryptographical libraries. I've had a few that I had drafted in C before, however had lost them and the rough knowledge over time. There was one user asking and creating a simple AES library in C, he had used the steps in the Wikipedia link and made a roughly working draft if you search for it.
I am unsure further than what I have suggested, it has been a long time.
Alexander.
The main process is the key expansion, and round key selection from Rijndael's key scheduling process. A basic overview of this including steps to create code for yourself can be found here: Rijndael key schedule - Wikipedia, the free encyclopedia
Within the key scheduling process, if you had wanted to apply a method of the chaos theory then you would need to replace Rijndael's S-box implementation with its own. This could be possibly very complex, and I cannot find anything in quick search that would help you. There is in fact a paper (IEEE, pay-walled) that deals with implementing this feature in to AES: http://ieeexplore.ie...rnumber=5595158
As for specifics regarding languages (a draft for a program to implement the original Rijndael cipher) you may wish to look at existing cryptographical libraries. I've had a few that I had drafted in C before, however had lost them and the rough knowledge over time. There was one user asking and creating a simple AES library in C, he had used the steps in the Wikipedia link and made a roughly working draft if you search for it.
I am unsure further than what I have suggested, it has been a long time.
Alexander.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account

Back to top









