EvilZone
Hacking and Security => Hacking and Security => : Code.Illusionist July 09, 2013, 04:24:14 PM
-
Author: Code.Illusionist
Name: Null Encryption
Description: Null encryption is based on mobile phone keyboard. It's not completely same because it would be easy to crack but it's good enough for basic message exchange .
How it work?
First of all imagine keyboard like this:
(http://1.bp.blogspot.com/_1_9c-MJBXbw/TPtKE1VMNrI/AAAAAAAAAyA/gSKmHzbJiCg/s1600/559px-Mobile_phone_keyboard.svg.png)
Now, the whole idea is quite simple. Number 2 contain letters A, B and C . So, if you encode letter B with Null encryption, you will type 4. Why 4? Well B is on number 2, and it's squared by 2 because it take second place. Here you can see all characters I made:
Signs
. (dot) = 01
, (comma) = 02
! (exclamation mark) = 03
? (questionnaire) = 04
(space) = 05
@ (monkey) = 06
_ (underscore) = 07
# (hash) = 08
% (percent) = 09
Letters
A = 21 = 2
B = 22 = 4
C = 23 = 8
D = 31 = 3
E = 32 = 9
F = 33 = 27
G = 41 = 4 + 3 = 7
H = 42 = 16
I = 43 = 64
J = 51 = 5
K = 52 = 25
L = 53 = 125
M = 61 = 6
N = 62 = 36
O = 63 = 216
P = 71 = 7 + 3 = 10
Q = 72 = 49
R = 73 = 343
S = 74 = 2401
T = 81 = 8 + 3 = 11
U = 82 = 64 + 3 = 67
V = 83 = 512
W = 91 = 9 + 3 = 12
X = 92 = 81
Y = 93 = 729
Z = 94 = 6561
Numbers
0 = I
1 = J
2 = K
3 = L
4 = M
5 = N
6 = O
7 = P
8 = Q
9 = R
Example:
Hey there. Sup? (basic text)
1. H = 16
2. e = 9
3. y = 729
4. (space) = 05
5. t = 11
6. h = 16
7. e = 9
8. r = 343
9. e = 9
10. (dot) = 01
11. (space) = 05
12. S = 2401
13. u = 67
14. p = 10
15. ? = 04
After we encoded each character into appropriate number, we must add sign ! between each sign so the numbers don't mix up. Here is final result:
Hey there. Sup? = 16!9!729!05!11!16!9!343!9!01!05!2401!67!10!04
As you can see there is no person who could understand encoded text because it just has no sense for people who don't have key as you do. Decoding is completely the same. Just translate this numbers into appropriate letter or sign.
-
Very good idea. But it is an encoding, not an encryption. You should consider renaming it. ;)
-
This seems pretty cool. But, really, when would you need to encode a message from one use to another like this?
It takes extra time to write it out, so when would doing this be worth it?
-
It takes extra time to write it out, so when would doing this be worth it?
Not unless you have an automated version of this, like a script or a program.
@OP: this is awesome. Not what the CIA would use but still nice try :D +1
You could modify this to take in a user provided encoding key, which could be a number between 1 and 9 and that number would apply for every character of the given string... just an idea, dunno how secure would that be :P
-
Not unless you have an automated version of this, like a script or a program.
@OP: this is awesome. Not what the CIA would use but still nice try :D +1
You could modify this to take in a user provided encoding key, which could be a number between 1 and 9 and that number would apply for every character of the given string... just an idea, dunno how secure would that be :P
Okay I see how an automated version would make this pretty bad ass.
-
Thanks guys for comments. I am quite new into this encoding stuff and cryptography in general so the terms are quite unknown to me yet. Will edit title when I get on PC. Also, I can try to upgrade this current version of encoding by adding some feature. Atm, no idea what. And yes, nobody ever encode manualy, this is not middle age. You code application or script to do so while you do whatever you want. It can come in handy if you send someone encoded message like this on fb , since fb spy people. Cool to play around. You can add your own ideas on this basic idea, make it better, or even show me here. That's what I would like most. :)
-
Thanks guys for comments. I am quite new into this encoding stuff and cryptography in general so the terms are quite unknown to me yet. Will edit title when I get on PC. Also, I can try to upgrade this current version of encoding by adding some feature. Atm, no idea what. And yes, nobody ever encode manualy, this is not middle age. You code application or script to do so while you do whatever you want. It can come in handy if you send someone encoded message like this on fb , since fb spy people. Cool to play around. You can add your own ideas on this basic idea, make it better, or even show me here. That's what I would like most. :)
I'd consider downloading this and using it between the other party's I may have running a secret project. Let me know when it's finished.
-
Ok then. I will upgrade this basic idea into something waay better and then make application to do automatic encoding and decoding. :)
-
What language did you code it in?
-
I have no idea what language I should use. I could make HTML page and then use PHP code to ecnode / decode. Same with javascript. Or maybe in C, or maybe in Visual Basic.
-
I have no idea what language I should use. I could make HTML page and then use PHP code to ecnode / decode. Same with javascript. Or maybe in C, or maybe in Visual Basic.
Bro do it in C++! Lol I'm only saying that because that's the language I'm learning
-
I don't know C++ .
-
Interesting your idea now is to test in practice.
-
This is just a simple substitution cipher with a different alphabet than [a-zA-Z]. Probs for effort, but it is really easy to decode using simple letter frequency analysis.
Probs for effort when you just started in the area:-)
-
This is just a simple substitution cipher with a different alphabet than [a-zA-Z]. Probs for effort, but it is really easy to decode using simple letter frequency analysis.
Probs for effort when you just started in the area:-)
It's an encoding, not a cipher. The goal of an encoding is not to secure a text from being read, because the algorithm is all you need to know in order to decode it (and security by obscurity is sure not something desireable).
A cipher would have a key, so that the knowledge of the algorithm isn't enough to decrypt it and you can use different secrets for different messages (cracking one message won't help cracking all of the others immediately too, this way you can have different persons send messages to using different keys, without fearing that one person might be able to read the messages you send to the other)
Criticising null encoding for being easy to decode is the same as criticising base64 for being easy to decode. It doesn't make sense at all. An encoding should be easy to encode and decode.
-
herp derp makes no damn sense
Couldn't have said it better myself. +1
-
It's an encoding, not a cipher. The goal of an encoding is not to secure a text from being read, because the algorithm is all you need to know in order to decode it (and security by obscurity is sure not something desireable).
A cipher would have a key, so that the knowledge of the algorithm isn't enough to decrypt it and you can use different secrets for different messages (cracking one message won't help cracking all of the others immediately too, this way you can have different persons send messages to using different keys, without fearing that one person might be able to read the messages you send to the other)
Criticising null encoding for being easy to decode is the same as criticising base64 for being easy to decode. It doesn't make sense at all. An encoding should be easy to encode and decode.
A ciphertext does not have to be encrypted the way you define encryption (assymetric or symmetric keys). A substitution cipher is a weak encryption and one of the first described forms of creating cipher texts in history along with the caeser cipher.
Substitution cipher of the same word, but the cleartext is not "easily" known without knowing the alphabet/substitutions:
fpggrr
viuu66
fbppee
I'm sure you are well aware of all this, it's just for reference to other readers
The "null byte encoding" described is a fixed substitution, but it still is basically a substitution cipher and at first deciphering the method of cracking is the same as when the algorithm is unknown.
One reason compare the described encoding to a substitution cipher is TS's comment on "hiding"/securing text for people using the encoding.