|
| 01 Feb 2016 10:19 PM |
Even though in the grand scheme of things, I suck at this and probably got all of the politically correct terms incorrect, I tried, and that's what counts!
Yes that's right, encryption! Introducting, Starlight's HXA2! HXA (Huffman XOR Addition) is a project of mine and I wanted to introduce the latest version to the public. Feel free to require() it (since it's a PrivateModule).
require(357989120) -->Returns a small library
Try these functions with print(): Info() --Prints a bunch of documentation in the output. The stupid thing isn't in the same font as the script window so it might look warped. I made it as bearable as possible for now. Enc("Hello world! This is Stanley calling! #Anon","MyKey!",true) --Encrypts Hello world! with MyKey! and turns on verbosity. Hold onto your seat, it's gonna get loud (and complicated) in the output.
Dec(CIPHERTEXT_FROM_ABOVE,'MyKey') --Attempts to decrypt ciphertext with incorrect key, which will return a honeyed message. Why honeyed? Because it's like a honeypot but with table indices.
Tell me what you think in the comments below! |
|
|
| Report Abuse |
|
|
| |
|
|
| 02 Feb 2016 08:18 PM |
| Come on, people! Has anyone even tried it yet? |
|
|
| Report Abuse |
|
|
| |
|
| |
|
| |
|
sayhisam1
|
  |
| Joined: 25 Nov 2009 |
| Total Posts: 2092 |
|
|
| 02 Feb 2016 08:25 PM |
| Why not just use private modulescripts instead of encrypting anything? :o |
|
|
| Report Abuse |
|
|
|
| 02 Feb 2016 08:26 PM |
| Wouldn't y be able to see the encryption being pushed through the the Stack? |
|
|
| Report Abuse |
|
|
|
| 02 Feb 2016 08:27 PM |
Well here's more information, in case that's the issue:
This method can encrypt and decrypt the string "Hello world!" using the key "mykey" in 0.02 seconds with the block size root (param. 4 of 'Enc' and 'Dec') set to 16. It can take any positive integer as this value, but make sure you know it's the square root of the keystream length.
Here's the output when I input the following command (VERY LONG due to the key multiplier):
> x = require(game.ServerScriptService.MainModule); print(x.Enc("Hello world!","mykey",true)) Encrypting String: Hello world! Key: mykey Stage 1 (Raw Encode Bin) Data: 010101010000101011010110001111010100100000111010110010111011111011110000100000010001100001000 Key: 11010101011011101110000010110 Stage 2 (Length Modulation Bin) Data: 010101010000101011010110001111010100100000111010110010111011111011110000100000010001100001000000 Key: 1101010101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111011100000101100101011011101110000010110011011101110000010110010101101110111000001011011100000101100101011011101110000010110011011101110000010110010101101110111000001011011101110000010110010101101110111000001011001101110111000001011001010110111011100000101100000101100101011011101110000010110011011101110000010110010101101110111000001011011101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110101100101011011101110000010110011011101110000010110010101101110111000001011011101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110000010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111011100000101100101011011101110000010110011011101110000010110010101101110111000001011000101011011101110000010110011011101110000010110010101101110111000001011011101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110000010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110000010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111011100000101100101011011101110000010110011011101110000010110010101101110111000001011010110010101101110111000001011001101110111000001011001010110111011100000101101110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111000001011001010110111011100000101100110111011100000101100101011011101110000010110111011100000101100101011011101110000010110011011101110000010110010101101110111000001011000001011001010110111011100000101100110111011100000101100101011011101110000010110111011100000101100101011011101110000010110011011101110000010110010101101110111000001011011100000101100101011011101110000010110011011101110000010110010101101110111000001011011101110000010110010101101110111000001011001101110111000001011001010110111011100000101100000000000000000000000000000 Stage 2.25 (KeyStream Generation) Key: 0101101000010111011001101010101101010011001001001100111101010100010011111111011101110010111110100100110000101011111011100111111111011111100110011101000101000101101101010100001100100101010101110110010011111110010110100001011110010010101101011110101111011101100011100010010011011100000011000110110110110100100011010001000101111010101101101101000100000010101111110011101111011010011101100110111111000000010101000101100011111010101000100001001001010111100110010001110110110000111010011101111101011100110000110011011001110111110110101110011100010111000001101110011011100010101101111100000111000011010011000100001101101001000011110001010111111010100001111011001100000011100100000000100010000110001000011110010110000001001001010011110110010111000100011100010001010110011001010000111001010000100101111000011000011000010111101110111110011010100110001000000010010110110100001001101000010100111101000011000110010101000001111001100001100100011010000001101110001101010100100001111110010000011110101101110101010011011100100111111110010011 Stage 2.5 (XOR) Data: 000011110001110110110000100101100001101100011110000001001110101010111111011101100110101010111010 Stage 3 (Hexadecimal) Data: 0F1DB0961B1E04EABF766ABA Key: 5A1766AB5324CF544FF772FA4C2BEE7FDF99D145B543255764FE5A1792B5EBDD8E24DC0C6DB48D117AB6D102BF3BDA766FC05458FAA21257991DB0E9DF5CC33677DAE71706E6E2B7C1C34C43690F15FA87B30390088621E581253D9711C456650E509786185EEF9A988096D09A14F43195079864681B8D521F907ADD53727F93 Stage 4 (Addition 1) Data: 6A3527427F43D44F0F7EEDB5
-->6A3527427F43D44F0F7EEDB5
And if you decrypt that from the module I supplied, it should come out in plaintext. |
|
|
| Report Abuse |
|
|
| |
|
|
| 02 Feb 2016 08:43 PM |
Ah, I didn't see you there. My apologies.
Well, it's software encryption so that's the deal lol |
|
|
| Report Abuse |
|
|
Darkenus
|
  |
| Joined: 17 Jul 2014 |
| Total Posts: 1997 |
|
|
| 02 Feb 2016 09:40 PM |
o
this seems cool - ill probably look into it when i need to
speaking of encryptions=== im probably going to have to make one myself, as i am sending data from a roblox server and passing it to a JS file, and this 'data' is VEYR VERY VERY VERY VERY VERY precious and i will not allow scrubs to see it |
|
|
| Report Abuse |
|
|
|
| 03 Feb 2016 08:23 PM |
Just use this one! The thing about it is that, to brute force it, you'd have to solve the keyblock...and good luck with 1.7*10^308 combinations. The most anyone can do is attack your passwd if all they have is the ciphertext. I'm working on a way to crack my own cipher, but it hasn't worked yet lol
But flood has. Twice. |
|
|
| Report Abuse |
|
|
71428
|
  |
| Joined: 06 Aug 2015 |
| Total Posts: 339 |
|
|
| 03 Feb 2016 08:46 PM |
"Well, it's software encryption so that's the deal lol"
In the real world this type of encryption would not fly by at all, and especially since checkplate is correct. You'd be able to see what's going on, including the key. Alas it's only Roblox and not a bank so who cares. Pretty cool though, but if I was to encrypt my data and store it somewhere on Roblox's server I would come up with a more obtuse method that only I know because I don't trust your library. It's a security thing, nothing personal. What's to stop you from adding some sort of backdoor on it? |
|
|
| Report Abuse |
|
|
jody7777
|
  |
| Joined: 22 Feb 2009 |
| Total Posts: 1343 |
|
|
| 03 Feb 2016 10:02 PM |
when would this actually be used in real practice
FOR THE CAUSE |
|
|
| Report Abuse |
|
|
|
| 03 Feb 2016 10:03 PM |
Well I suppose it's all a ruse and I'm just putting your code in with my public-key type modifier that I can undo at any time...
...But here, have some source code:
https://raw.githubusercontent.com/Starlight-Inc/StarFire-Intracomm/master/HXA2_Source
*never had to personally utilize github before*
Oh, and I separated the massive tables out of that main body. Trust me you don't want to scroll through that lol. But they're on there too, close by. |
|
|
| Report Abuse |
|
|
|
| 03 Feb 2016 10:17 PM |
| Release a public module. A lot less sketchy. |
|
|
| Report Abuse |
|
|
|
| 04 Feb 2016 09:27 AM |
| Yeah I just realized that you have absolutely no way of knowing what it is. So there's the main library that's returned by the module. There are three tables left out due to sheer size, but they're in the repository as well. |
|
|
| Report Abuse |
|
|
| |
|
iMung
|
  |
| Joined: 11 Jul 2013 |
| Total Posts: 328 |
|
|
| 04 Feb 2016 01:10 PM |
To crack the code:
A for loop with no waits which runs for 3 hours. |
|
|
| Report Abuse |
|
|
|
| 04 Feb 2016 04:09 PM |
You know what, that's exactly what I'm gonna do.
And it isn't /no/ wait; it's minimal wait. I have a nested loop that runs without waiting, but a buffer loop to allow it room to breathe so it doesn't just freeze. |
|
|
| Report Abuse |
|
|