Académique Documents
Professionnel Documents
Culture Documents
2
Contents<
Preface................................................................................................................................. 4
OhjyA: The Algorithm........................................................................................................ 5
Ciphering......................................................................................................................... 5
Addition .......................................................................................................................... 6
Storm............................................................................................................................... 7
Numbers Mask ................................................................................................................ 8
Message Key................................................................................................................... 9
OhjyA: Pros & Cons ......................................................................................................... 11
Pros: .............................................................................................................................. 11
Cons: ............................................................................................................................. 11
OhjyA: Useful Tricks........................................................................................................ 12
OhjyA: Beyond Version 1 ................................................................................................ 13
Thanks to Allah, I’ve been working on it for around two months, in which I ran through
many obstacles, and got my C++ knowledge sharpened. ................................................. 13
<
3
Preface
In the Name of Allah,
Allah says: “Allah will exalt those who believe among you, and those who have
knowledge, to high ranks.” (Al-Mujadilah, Verse 11, The Holy Quran)
It was on 15 Nov. when first released OhjyA to public, in which I’ve ran through many of
programming errors, but thanks to Allah, I’ve overcame them.
Today I return with a new version: OhjyA 1. OhjyA 1 is a review release with small
updates for OhjyA algorithm.
Ghasan Al-Sakkaf
28 December 2010
4
OhjyA: The Algorithm
Ciphering
// Notice that any character out of listed above is ciphered with a numeric value of 90.
You’ll know later why I stopped at 90.
5
Addition
Before forwarding, I think it’s a good idea to include an example to work on. Let’s say
user entered this string “ABCDEFGHIJ” to encrypt, so the ciphered string will be
“11121314151617181920”. Also, let’s say that password is “123456”.
OhjyA loops over ciphered string one by one (Tens numbers basis), and at the same time,
loops over password string (Ones numbers basis). When looping over both ciphered
string and password string, OhjyA sums them together and produce a new value instead
of perspective element in ciphered string.
1. Takes 11 + 1 = 12
2. Takes 12 + 2 = 14
3. Takes 13 + 3 = 16
4. Takes 14 + 4 = 18
5. Takes 15 + 5 = 20
6. Takes 16 + 6 = 22
7. Takes 17 + 1 = 18 (OhjyA loops over password string again when it ends)
8. Takes 18 + 2 = 20
9. Takes 19 + 3 = 22
10. Takes 20 + 4 = 24
6
Storm
As we have seen till know, OhjyA treats with encrypted string as tens numbers, that is,
20, for example, is treated as whole. Strom, on the other hand, separates them into two
ones numbers, that is, 20 is treated as 2 and 0 separately from each other.
Notice when the new position is out of encrypted string length, OhjyA loops again over it
from the beginning, not like 0.5 beta 1 in which it stops. Plus, the last element now is
swapped also, not like the previous one.
7
Numbers Mask
First, OhjyA creates an integer array of 10 elements carries 0-9 numbers, that is, every
position carries the same value of its position. That is, position 0 = 0, position 1 = 1, and
so on. This is shown in the table below.
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
Every single number inside encrypted string will be masked as the previous table
indicates. So, encrypted string will be changed form “22620211180212244812” to
“55051588821585599285”.
8
Message Key
Message key is a process in which two single numbers are extracted from encrypted
string after numbers mask process. This process is optional but recommended.
Message key is the core change of OhjyA 1 from OhjyA 0.5, and meant to sophisticate
how encryption goes by increasing the number of possibilities and make it hard for
unauthorized persons to decrypt it.
Encrypted string is for now “55051588821585599285”, so user can extract any number
range form 1 to 20 (Encrypted string length), thus if 3 and 8 chosen;
“55051588821585599285”, encrypted string will be “555158821585599285”.
Notice that you’ll have to enter those numbers’ positions along with their numerical
value. (OhjyA Program tells you their values after encryption process)
9
Decryption is an inversed process of encryption algorithm. But the difference will happen
in undefined characters, which will be treated as one character, and will be decrypted to
[space] character.
I stopped the definition at 90 because of Strom technique. If I exceeded 90, let’s say 91,
and password element 9 come across it, the sum of both would be 100. 100 is a hundreds
number, whereas Storm, at least for the current stage, is able just to split tens numbers.
10
OhjyA: Pros & Cons
Pros:
• Speed: OhjyA is so fast especially when it comes to long texts.
• Message Key is a good plus for OhjyA 1.
• OhjyA encryption is unique, yet strong and extendible!
• OhjyA is written in Native C++, which means it can be built on other platforms
such as: Linux, Mac, etc. (OhjyA 0.5 beta 1 contains non-native code which have
been omitted for OhjyA 1)
• OhjyA Program and OhjyA C++ are free software under GNU/GPLv3 license.
(Refer to ‘COPYING.txt’ and ‘README.txt’ included with OhjyA 1 Bundle for
more detailed information)
• OhjyA can be used with other projects regarding chat clients, proxy websites, and
so on.
• If you find it weak, develop it yourself, and don’t wait anyone to do so.
Cons:
• Encryption of short text is weaker than long ones. The longer the text, the stronger
the encryption.
• When using message key it’s recommended to choose first number position to be
from 1-5.
• If password is a sequential numbers such as: 123456 and 456789 especially with
short text, then unauthorized decryption possibilities increases. (It’s okay for:
124567 and 456879)
• Self-Looping passwords such as: 73637363 and 6848968489 are treated if they
were: 7363 and 68489, because OhjyA itself loops over the password when it
ends.
11
OhjyA: Useful Tricks
Some OhjyA cons could be overcome as explained below:
• To avoid text detection tools, you are encouraged to use SMS language. That is,
instead of writing: Wait for me at the foyer, you can write: w8 4 me @ the foyr.
• It’s also possible to encrypt the encrypted string, but when doing so, it’s good to
change password used for first encryption, even by just one number. And then,
you’ll have to decrypt twice to get the actual text.
12
OhjyA: What’s next?
Thanks to Allah, I’ve been working on it for around two months, in which I ran through
many obstacles, and got my C++ knowledge sharpened.
I’m eager to learn lots of means of C/C++ to go on Windows API, for that reason, I’ll get
lack of time. That’s why it’s most likely I’ll stall developing OhjyA for the mean time,
and maybe will return later to enhance it.
Many thanks for those who stood beside me along the way.
13