It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I wanted to test something, so i encrypted the following:

In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decipher a ciphertext back to plaintext and access the original information. Encryption does not itself prevent interference but denies the intelligible content to a would-be interceptor.

For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is possible to decrypt the message without possessing the key but, for a well-designed encryption scheme, considerable computational resources and skills are required. An authorized recipient can easily decrypt the message with the key provided by the originator to recipients but not to unauthorized users.

Historically, various forms of encryption have been used to aid in cryptography. Early encryption techniques were often utilized in military messaging. Since then, new techniques have emerged and become commonplace in all areas of modern computing. Modern encryption schemes utilize the concepts of public-key and symmetric-key. Modern encryption techniques ensure security because modern computers are inefficient at cracking the encryption.
Obviously it's from wikipedia...

The encryption key is 'meow' and the resultant text is...

Fb8aJCb 3tFd9uKBe l2XZmP0gPe 4oM6ZyfdFKvcW0Wx cqXB I pzpQ32SQ z+dZS i qjc /bIa 3 hQx2D uG5DeNkv3 q Fc xfXlr3W Pg1l A n4T i l 8Rr1 U j oPbgS HQ U Tm7 xAv7TgSqN 9apRu cuy8t F cvmtN g n7KoL Dc59PnEmTX UzWX/g auHRnD0nw vj E2c ugySRwUcZTPIT3 onX 7Ya QFE5Czh2fcE Aq+bUG sFFD VUzn3MdQJIiwH Q UVc ITImVr+DI 7uuC8f HvUVSQ jX1OC1v9OU ahr 4xjSpVv 0TH s kKN 9h P3p I W w lY7y r2h0 9dV l LQY zPWm8O34rhrxS3Pb l WY6W +r qTAwTG2 OH8YeKL4SYoXZ4gDX BO H9t74AwW Xe r5zW ug+p zBoylOYpkr TpaW nhV3Jf7k6g nTrn Fk m ux 1UP R1ecEC/Ni yOgnsLjYwxy 37lRKU8cvlBRxk a3qSWF8t8RMdQ Y0E Gec mVc 5QFdeN1ZQpk CTu1YfUr2ZNrQC UAyzkNPZUxqbI27 qWWKTo LG Nf/vqZ5UL RWO O F3 iK6 b7 m F c22 02eg eIDFiEn BQ Lj DntsF0C x TZu1sKt z4DGzawT xSk78rG xL2 C YkECyvi Jrxm n 1oBU0mlp pb5KR X+ZYwk/Hh r7th 7tFpnq U p7sdXg8jamVjo4/B K7gAxxWKM1LGa ma 5lYvzAp5Gam U Zv 2 aAw523ncV0RgqkvIf7IutU 9JXBhPVW g +UaypX 1c r6m UBq uci26cCEsx 57 j0mBM ldS kutIqi vzE GUqa9 cDu qT1txXKZehQ4 Ysbu76DHDS0g PX l b8N S C/ B//6Ie+qP6f d w iX bn TbiK A =
The challenge for the forum is, well, how did i do it? And, yes, i tested it. It decodes just fine. Your only reward is recognition. Also, i used really weak encryption techniquest to do this. If there's enough interest in the post, I'll post the php files used.


EDIT: As a side challenge, try to figure out why i took each of the steps i took.
Post edited January 28, 2021 by kohlrak
No posts in this topic were marked as the solution yet. If you can help, add your reply
You're recruiting for the Fuzz and I claim my £5 :p
well first the spacing is inconsistant with the original input. seeing the = at the end also hints it's actually base64 encoded, so remove spacing and it decodes into a binary block.

that results in the following hex code:
15 bf 1a 24 26 f7 b4 57 7d b8 a0 5e 97 65 d9 98 fd 20 3d ee 28 33 a6 72 7d d1 4a bd c5 b4 5b 17 2a 5c 12 29 ce 94 37 d9 24 33 f9 d6 52 8a a8 dc fd b2 1a de 14 31 d8 3b 86 e4 37 8d 92 fd ea 15 cc 5f 5e 5a f7 58 f8 35 94 09 f8 4e 29 7c 46 bd 54 8e 83 db 81 21 d0 51 39 bb c4 0b fb 4e 04 aa 37 d6 a9 46 e7 2e cb cb 45 72 f9 ad 36 09 fb 2a 82 c3 73 9f 4f 9c 49 93 5d 4c d6 5f f8 1a b8 74 67 0f 49 f0 be 31 36 72 e8 32 49 1c 14 71 94 cf 21 3d e8 9d 7e d8 69 01 44 e4 2c e1 d9 f7 04 02 af 9b 50 6b 05 14 35 54 ce 7d cc 75 02 48 8b 01 d0 51 57 08 4c 89 95 af e0 c8 ee eb 82 f1 f1 ef 51 54 90 8d 7d 4e 0b 5b fd 39 46 a1 af 8c 63 4a 95 6f d1 31 ec 90 a3 7d 84 fd e9 21 6c 25 63 bc ab da 1d 3d 75 59 4b 41 8c cf 5a 6f 0e df 8a e1 af 14 b7 3d b9 56 63 a5 be ae a4 c0 c1 31 b6 38 7f 18 78 a2 f8 49 8a 17 67 88 03 5c 13 87 f6 de f8 03 05 97 7a be 73 5a e8 3e a7 30 68 ca 53 98 a6 4a d3 a5 a5 a7 85 5d c9 7f b9 3a 82 74 eb 9c 59 26 bb 1d 54 3d 1d 5e 70 40 bf 36 2c 8e 82 7b 0b 8d 8c 31 cb 7e e5 44 a5 3c 72 f9 41 47 19 1a de a4 96 17 cb 7c 44 c7 50 63 41 06 79 c9 95 73 94 05 75 e3 75 65 0a 64 09 3b b5 61 f5 2b d9 93 6b 40 25 00 cb 39 0d 3d 95 31 a9 b2 36 ee a5 96 29 3a 0b 18 d7 ff be a6 79 50 b4 56 38 e1 77 88 ae 9b ee 61 5c db 6d 36 7a 07 88 0c 58 84 9c 14 0b 8c 39 ed b0 5d 02 c5 36 6e d6 c2 ad cf 80 c6 cd ac 13 c5 29 3b f2 b1 b1 2f 60 98 90 40 b2 be 22 6b c6 69 f5 a0 15 34 9a 5a 69 6f 92 91 5f e6 58 c2 4f c7 86 be ed 87 bb 45 a6 7a 94 a7 bb 1d 5e 0f 23 6a 65 63 a3 8f c1 2b b8 00 c7 15 8a 33 52 c6 6a 66 b9 95 8b f3 02 9e 46 6a 65 19 bf 66 80 c3 9d b7 9d c5 74 46 0a a4 bc 87 fb 22 eb 54 f4 95 c1 84 f5 56 83 e5 1a ca 95 f5 72 be a6 50 1a ae 72 2d ba 70 21 2c c7 9e e3 d2 60 4c 95 d4 a4 ba d2 2a 8a fc c4 19 4a 9a f5 c0 ee a9 3d 6d c5 72 99 7a 14 38 62 c6 ee ef a0 c7 0d 2d 20 3d 79 5b f0 d4 82 fc 1f ff e8 87 be a8 fe 9f 77 08 97 6e 74 db 88 a0
for 'simple' encryption the next step is likely testing it with xor, add subtract or another simple method to see if we can't decode the regular text. xoring 'm' against the first characer doesn't result immediatley into 'I'.
avatar
rtcvb32: well first the spacing is inconsistant with the original input. seeing the = at the end also hints it's actually base64 encoded, so remove spacing and it decodes into a binary block.

that results in the following hex code:

15 bf 1a 24 26 f7 b4 57 7d b8 a0 5e 97 65 d9 98 fd 20 3d ee 28 33 a6 72 7d d1 4a bd c5 b4 5b 17 2a 5c 12 29 ce 94 37 d9 24 33 f9 d6 52 8a a8 dc fd b2 1a de 14 31 d8 3b 86 e4 37 8d 92 fd ea 15 cc 5f 5e 5a f7 58 f8 35 94 09 f8 4e 29 7c 46 bd 54 8e 83 db 81 21 d0 51 39 bb c4 0b fb 4e 04 aa 37 d6 a9 46 e7 2e cb cb 45 72 f9 ad 36 09 fb 2a 82 c3 73 9f 4f 9c 49 93 5d 4c d6 5f f8 1a b8 74 67 0f 49 f0 be 31 36 72 e8 32 49 1c 14 71 94 cf 21 3d e8 9d 7e d8 69 01 44 e4 2c e1 d9 f7 04 02 af 9b 50 6b 05 14 35 54 ce 7d cc 75 02 48 8b 01 d0 51 57 08 4c 89 95 af e0 c8 ee eb 82 f1 f1 ef 51 54 90 8d 7d 4e 0b 5b fd 39 46 a1 af 8c 63 4a 95 6f d1 31 ec 90 a3 7d 84 fd e9 21 6c 25 63 bc ab da 1d 3d 75 59 4b 41 8c cf 5a 6f 0e df 8a e1 af 14 b7 3d b9 56 63 a5 be ae a4 c0 c1 31 b6 38 7f 18 78 a2 f8 49 8a 17 67 88 03 5c 13 87 f6 de f8 03 05 97 7a be 73 5a e8 3e a7 30 68 ca 53 98 a6 4a d3 a5 a5 a7 85 5d c9 7f b9 3a 82 74 eb 9c 59 26 bb 1d 54 3d 1d 5e 70 40 bf 36 2c 8e 82 7b 0b 8d 8c 31 cb 7e e5 44 a5 3c 72 f9 41 47 19 1a de a4 96 17 cb 7c 44 c7 50 63 41 06 79 c9 95 73 94 05 75 e3 75 65 0a 64 09 3b b5 61 f5 2b d9 93 6b 40 25 00 cb 39 0d 3d 95 31 a9 b2 36 ee a5 96 29 3a 0b 18 d7 ff be a6 79 50 b4 56 38 e1 77 88 ae 9b ee 61 5c db 6d 36 7a 07 88 0c 58 84 9c 14 0b 8c 39 ed b0 5d 02 c5 36 6e d6 c2 ad cf 80 c6 cd ac 13 c5 29 3b f2 b1 b1 2f 60 98 90 40 b2 be 22 6b c6 69 f5 a0 15 34 9a 5a 69 6f 92 91 5f e6 58 c2 4f c7 86 be ed 87 bb 45 a6 7a 94 a7 bb 1d 5e 0f 23 6a 65 63 a3 8f c1 2b b8 00 c7 15 8a 33 52 c6 6a 66 b9 95 8b f3 02 9e 46 6a 65 19 bf 66 80 c3 9d b7 9d c5 74 46 0a a4 bc 87 fb 22 eb 54 f4 95 c1 84 f5 56 83 e5 1a ca 95 f5 72 be a6 50 1a ae 72 2d ba 70 21 2c c7 9e e3 d2 60 4c 95 d4 a4 ba d2 2a 8a fc c4 19 4a 9a f5 c0 ee a9 3d 6d c5 72 99 7a 14 38 62 c6 ee ef a0 c7 0d 2d 20 3d 79 5b f0 d4 82 fc 1f ff e8 87 be a8 fe 9f 77 08 97 6e 74 db 88 a0
avatar
rtcvb32: for 'simple' encryption the next step is likely testing it with xor, add subtract or another simple method to see if we can't decode the regular text. xoring 'm' against the first characer doesn't result immediatley into 'I'.
Consider, too, that something might've happened prior to xor encryption. Check the byte count.
Post edited January 29, 2021 by kohlrak
avatar
kohlrak: Consider, too, that something might've happened prior to xor encryption. Check the byte count.
Perhaps. I haven't tried to continue figuring it out just yet, though it shouldn't be hard

Though i have hidden a message... through obfuscation!
Attachments:
test.png (2 Kb)
Post edited January 29, 2021 by rtcvb32
avatar
kohlrak: Consider, too, that something might've happened prior to xor encryption. Check the byte count.
avatar
rtcvb32: Perhaps. I haven't tried to continue figuring it out just yet, though it shouldn't be hard

Though i have hidden a message... through obfuscation!
Yeah, those are a pain. Did you reverse it? The result, either by coincidence, had "test.txt" which tells me something got lost.

00000000: 1f8b 0808 466f 1360 0403 7465 7374 2e74 ....Fo.`..test.t
00000010: 7874 0092 8e36 31cf 5520 1b48 471b e472 xt...61.U .HG..r
00000020: 0d5b 3380 1c03 0071 65a0 0141 0cc4 d0ff .[3....qe..A....
00000030: ffeb 83e8 91e5 f156 6a0b bcf6 6e32 a349 .......Vj...n2.I
00000040: b70a 9ef3 9c85 cf2f c3f0 4fd6 aa19 7a37 ......./..O...z7
00000050: 0c9d 503d 567d 5687 2981 a9da bea7 e2a2 ..P=V}V.).......
00000060: 6f7a e2ae eef4 6476 078e f92f 33e3 eb74 oz....dv.../3..t
00000070: f462 27fa 8443 7251 a526 432d ec1a f28d .b'..CrQ.&C-....
00000080: a957 2e19 53b1 b84d f469 90dd d9cc f3db .W..S..M.i......
00000090: 973b e49d c6ce 15ea 3881 cf26 abe2 9c83 .;......8..&....
000000a0: 7748 383f 7cfb 1be6 7557 fa9c 66f4 d940 wH8?|...uW..f..@
000000b0: ff2e 799f 0c6e 27bc 4f07 b853 bcbf bf29 ..y..n'.O..S...)
000000c0: 8cb6 a901 7a6d e94b 640c 0000 ....zm.Kd...
I'm getting the feeling we ended up doing the same thing at this point...

EDIT: We did. But that extra QR code there was a really, really nice touch. I like it. Not a bad idea, but 1 QRCode, let alone 2, is unfit for the purpose i had with this code. I thought about improving it to make the text look more like langauge. So, can you figure out why i put the random spaces in?
Post edited January 29, 2021 by kohlrak
avatar
kohlrak: EDIT: We did. But that extra QR code there was a really, really nice touch.
Meaning it was compressed, and i hadn't tried to decode it all yet. Which more or less is expected, i considered the possibility.
avatar
kohlrak: I like it. Not a bad idea, but 1 QRCode, let alone 2, is unfit for the purpose i had with this code.
Meh, i installed qrencode and it had an ANSI option, i tried it out and got a screenful of text/QRCode by catting it. I thought it was so cool! So i did that! Just seemed like a fun thing to do.
avatar
kohlrak: I thought about improving it to make the text look more like langauge. So, can you figure out why i put the random spaces in?
Off hand, no... other than if you don't have any spacing it makes a REAAAAAAAALY long line that is never broken.

Though if it has significance then each non-space equals a letter as a text hint probably, should you count it.
Attachments:
Post edited January 29, 2021 by rtcvb32
Well i quickly compiled and made a file of 'meow' and xored the data, then found it was zlib (not gzip). Not quite what i expected but file was helpful. But could easily add a header and it decoded just fine to your original string. So yeah...

Had i finished it originally without you commenting we did the same thing i'd probably have come to the same conclusion hours ago. But didn't want to fight with the details in case it wasn't right.

Note: I ONLY used base64 in mine in order to put it in a QR Code. It just happened to obfuscate it slightly :P

Note2: Also if you use ADVANCE COMP tools (using Zopfli) you can get a little more extra compression on zlib/gzip/png streams
Attachments:
zlib.png (11 Kb)
Post edited January 29, 2021 by rtcvb32
avatar
kohlrak: I like it. Not a bad idea, but 1 QRCode, let alone 2, is unfit for the purpose i had with this code.
avatar
rtcvb32: Meh, i installed qrencode and it had an ANSI option, i tried it out and got a screenful of text/QRCode by catting it. I thought it was so cool! So i did that! Just seemed like a fun thing to do.
Yeah, that was a nice touch.
avatar
kohlrak: I thought about improving it to make the text look more like langauge. So, can you figure out why i put the random spaces in?
Off hand, no... other than if you don't have any spacing it makes a REAAAAAAAALY long line that is never broken.

Though if it has significance then each non-space equals a letter as a text hint probably, should you count it.
There's actually a purpose: i came up with this idea based on the gamefaqs forums. Before i left, because i knew the mods were targeting users for political reasons (i got them to actually admit as much publicly later, and it would seem the mod team has completely undermined CBS, but they don't care), I was trying to find ways to encrypt posts and get a thing started so it would become too much for the mods to decrypt every post. However, some sneaky bastard was already watching my posts in particular ('cause every single one, regardless of forum, got deleted when my encrypted text showed up). Moreover, it beat automatic swearing filters and such. The problem is, base64 encoding makes those really long strings, and alot of forums apparently automatically target posts with "words" that are "too long," thus breaking base64 encoding. Random spacing was added to break that protection.
avatar
rtcvb32: Well i quickly compiled and made a file of 'meow' and xored the data, then found it was zlib (not gzip). Not quite what i expected but file was helpful. But could easily add a header and it decoded just fine to your original string. So yeah...

Had i finished it originally without you commenting we did the same thing i'd probably have come to the same conclusion hours ago. But didn't want to fight with the details in case it wasn't right.

Note: I ONLY used base64 in mine in order to put it in a QR Code. It just happened to obfuscate it slightly :P

Note2: Also if you use ADVANCE COMP tools (using Zopfli) you can get a little more extra compression on zlib/gzip/png streams
<title>HIDDEN</title>
<?php function xorenc($text, $key){
$text_len = strlen($text);
$key_len = strlen($key);
for($i = 0; $i < $text_len; $i++){
$temp = $text[$i] ^ $key[$i % $key_len];
if($temp != '') $text[$i] = $temp;
}
return $text;
}

function addspace($text){
$temp = '';
$text_len = strlen($text);
for($i = 0; $i < $text_len; $i++){
if(rand()%5 == 0) $temp = $temp . ' ';
$temp = $temp . $text[$i];
}
return $temp;
}

function removespace($text){
$temp = '';
$text_len = strlen($text);
for($i = 0; $i < $text_len; $i++)
if($text[$i] != ' ') $temp = $temp . $text[$i];
return $temp;
}

if(isset($_POST['mode']) && isset($_POST['key']) && isset($_POST['text'])){
$key = $_POST['key'];
$text = $_POST['text'];
if($_POST['mode'] == "0") echo addspace(base64_encode(xorenc(gzcompress($text, 9), $key))) . "\n";
else echo nl2br(htmlspecialchars(gzuncompress(xorenc(base64_decode(removespace($text)), $key))) . "\n");
exit(0);
}
?>
Warning: Decryption here is very, very weak. Only intended to bypass AI.<br>
<form method="POST">
<input type="radio" id="encrypt" value="0" name="mode"><label for="encrypt">Encrypt</label>
<input type="radio" id="decrypt" value="1" name="mode"><label for="decrypt">Decrypt</label>
<br>Key: <input type="text" name="key"><br>
<textarea name="text"></textarea><br>
<input type="submit">
</form>
Originally it was some command line php. I ended up making it web-page compatible and putting it live in a hidden location (i have special access to this guy's server and wanted to show him the idea for inspiration). Compression is recommend prior ro xor, because it helps prevent your xor key from being exposed due to pattern identification (i have a file from a steam game that was xor encrypted with DEZ, which you can tell simply because opening it you see "DEZDEZDEZDEZ" all over the damn file since they didn't consider all the null-characters in the OGG format). Moreover, it helps lower the added entropy from the base64 encoding (which helps prevent characters getting lost). Notice that any character that results in null ends up not getting encoded (because it could result in the string getting cut short, since we generally use null-terminators to specify end of string).

The compression, I didn't particularly care about. I just wanted something quick and easy in php that wouldn't require any extra-special encoding. I'm familiar with a few other compression techniques that are especially good with text in particular.

An alternative idea of mine is to do the compression and find a dictionary of small words that are 6 letters or less (and exist in more tha just english) and assign them to a DB and use modulous to do something similar. This would be easy to spot by human eyes as encrypted, but impossible for AI, thus preventing automatic filters and such from deplatforming someone. This way, people could post whatever they wanted on facebook without getting thrown on an FBI watch list or deplatformed, while also making it easy for DHS or something to actually watch known terrorists.
avatar
kohlrak: The result, either by coincidence, had "test.txt" which tells me something got lost.
Nah that's just gzip holding the default 'original filename' in it's header meta data.
avatar
kohlrak: There's actually a purpose: i came up with this idea based on the gamefaqs forums. Before i left, because i knew the mods were targeting users for political reasons (i got them to actually admit as much publicly later, and it would seem the mod team has completely undermined CBS, but they don't care), I was trying to find ways to encrypt posts and get a thing started so it would become too much for the mods to decrypt every post.....
Interesting. Well as things are standing if you don't believe burning down the white house while orange man is there your an ist-phobe and a terrible person; But so much as sneeze while the girl sniffer is there, you're to be burned at the stake. Blatant bias and often uneven enforcement of the rules similar to seen on Twitter and Youtube probably.
avatar
kohlrak: Compression is recommend prior ro xor, because it helps prevent your xor key from being exposed due to pattern identification (i have a file from a steam game that was xor encrypted with DEZ, which you can tell simply because opening it you see "DEZDEZDEZDEZ" all over the damn file since they didn't consider all the null-characters in the OGG format).
Yeah, just making it a hair smaller also helps. Or in some cases very small. I do care about the extra compression, but i'm odd like that. But those large sections in binary blocks made me see xor as a very weak and fairly useless cipher overall. Also if you xor it first, it doesn't compress nearly as well. I've been more interested in actual ciphers, or at least ones i can actually follow or making my own.
avatar
kohlrak: An alternative idea of mine is to do the compression and find a dictionary of small words that are 6 letters or less (and exist in more than just english) and assign them to a DB and use modulus to do something similar. This would be easy to spot by human eyes as encrypted, but impossible for AI
Not impossible. If they write and use a simple syntax style language for a particular language (say in Yacc or Bison) and run it through, the pattern will likely include way too many of verbs nouns and things that are in the wrong order. True people have varied ways of writing, but it still has to flow more or less following the basic syntax rules.

(Curiously in the book Yacc/Flex, it actually gives an example of doing one for the english language, in a basic pattern of normal human speech)

Though with all this you could have just used ROT13 (add 13 to the letter, if it goes past z, subtract 26). It's a fairly well known cipher and has been known to weakly encrypt books on an ebook site (for protection)
Whfg fbzrguvat irel fvzcyr. Jrr!!
Post edited January 29, 2021 by rtcvb32
avatar
kohlrak: The result, either by coincidence, had "test.txt" which tells me something got lost.
avatar
rtcvb32: Nah that's just gzip holding the default 'original filename' in it's header meta data.
avatar
kohlrak: There's actually a purpose: i came up with this idea based on the gamefaqs forums. Before i left, because i knew the mods were targeting users for political reasons (i got them to actually admit as much publicly later, and it would seem the mod team has completely undermined CBS, but they don't care), I was trying to find ways to encrypt posts and get a thing started so it would become too much for the mods to decrypt every post.....
avatar
rtcvb32: Interesting. Well as things are standing if you don't believe burning down the white house while orange man is there your an ist-phobe and a terrible person; But so much as sneeze while the girl sniffer is there, you're to be burned at the stake. Blatant bias and often uneven enforcement of the rules similar to seen on Twitter and Youtube probably.
Yeah. At this point, making true safe spaces where people can speak their honest opinions seems to be the way to go right now.
avatar
kohlrak: Compression is recommend prior ro xor, because it helps prevent your xor key from being exposed due to pattern identification (i have a file from a steam game that was xor encrypted with DEZ, which you can tell simply because opening it you see "DEZDEZDEZDEZ" all over the damn file since they didn't consider all the null-characters in the OGG format).
Yeah, just making it a hair smaller also helps. Or in some cases very small. I do care about the extra compression, but i'm odd like that. But those large sections in binary blocks made me see xor as a very weak and fairly useless cipher overall. Also if you xor it first, it doesn't compress nearly as well. I've been more interested in actual ciphers, or at least ones i can actually follow or making my own.
For serious encryption i have way better. PGP is just a toy, too, when it comes to this kind of topic. I can't talk about that on gog, not even in private chat, though, for legal reasons, but I have some better ideas. This idea is just to stop the automods.
avatar
kohlrak: An alternative idea of mine is to do the compression and find a dictionary of small words that are 6 letters or less (and exist in more than just english) and assign them to a DB and use modulus to do something similar. This would be easy to spot by human eyes as encrypted, but impossible for AI
Not impossible. If they write and use a simple syntax style language for a particular language (say in Yacc or Bison) and run it through, the pattern will likely include way too many of verbs nouns and things that are in the wrong order. True people have varied ways of writing, but it still has to flow more or less following the basic syntax rules.

(Curiously in the book Yacc/Flex, it actually gives an example of doing one for the english language, in a basic pattern of normal human speech)

Though with all this you could have just used ROT13 (add 13 to the letter, if it goes past z, subtract 26). It's a fairly well known cipher and has been known to weakly encrypt books on an ebook site (for protection)

Whfg fbzrguvat irel fvzcyr. Jrr!!
Yeah, too easy. The point is to break automated tools. Not too easy, but not too hard of encryption. Just enough to make someone's day a bit rough. XOR13 is very similar, and it seems 13 is a magic number for a reason. Maybe 'cause it's prime and halfway. I noticed that in research on hashing functions.
avatar
kohlrak: Yeah, too easy. The point is to break automated tools. Not too easy, but not too hard of encryption. Just enough to make someone's day a bit rough. XOR13 is very similar, and it seems 13 is a magic number for a reason. Maybe 'cause it's prime and halfway. I noticed that in research on hashing functions.
Hmmm could always just do full numeric numbers that represent the words.

Hello = 8,5,12,12,15, which becomes (15*26^4 + 12*26^3 + 12*26^2 + 5*26^1 + 8*26^0) = 7073802. Certainly the solution can be automated or use lookup tables for words, but not immediately until they actually put the effort into doing it.

Doing a BWT Burrow Wheeler Transformation (used in compression and bzip2, as it tends to clump similar letters closer together) can also be interesting... I have a working written (but has a bug) BWT decoder and encoder... Gotta finish that sometime...

'Hello there friend' = 'eonrHih dtrelelef ' (9)
Post edited February 10, 2021 by rtcvb32
avatar
kohlrak: Yeah, too easy. The point is to break automated tools. Not too easy, but not too hard of encryption. Just enough to make someone's day a bit rough. XOR13 is very similar, and it seems 13 is a magic number for a reason. Maybe 'cause it's prime and halfway. I noticed that in research on hashing functions.
avatar
rtcvb32: Hmmm could always just do full numeric numbers that represent the words.

Hello = 8,5,12,12,15, which becomes (15*26^4 + 12*26^3 + 12*26^2 + 5*26^1 + 8*26^0) = 7073802. Certainly the solution can be automated or use lookup tables for words, but not immediately until they actually put the effort into doing it.

Doing a BWT Burrow Wheeler Transformation (used in compression and bzip2, as it tends to clump similar letters closer together) can also be interesting... I have a working written (but has a bug) BWT decoder and encoder... Gotta finish that sometime...

'Hello there friend' = 'eonrHih dtrelelef ' (9)
I was thinking something that become really damn hard to automate. Something where a key is thrown in the text somewhere, etc. Full numeric focus makes it easy to target (any posts with only numbers). The trick is to make something that can automatically break any given algorithm's detection of the coded message. The more difficult it is to detect at an automatic way, the harder it is to automatically purge it. They don't have to see the decoded text if they can just catch that the text is encoded.
avatar
kohlrak: I was thinking something that become really damn hard to automate.
Well everything will be able to be automated, it's more a matter of how much effort they want to put into it. It would be far easier just to flag your messages if they don't contain words so no one sees them at all.

avatar
kohlrak: Something where a key is thrown in the text somewhere, etc. Full numeric focus makes it easy to target (any posts with only numbers). The trick is to make something that can automatically break any given algorithm's detection of the coded message. The more difficult it is to detect at an automatic way, the harder it is to automatically purge it. They don't have to see the decoded text if they can just catch that the text is encoded.
Again once the pattern is deduced it probably isn't too hard. say if you had blahblah{key}blahblah, then looking for the {key} to decode it with...

Hmmm... Though i do remember coming up with a graphical method to make static and you could hide images within it, though that's too easy to automate... maybe.

Though it feels more like it would be far more effort to read your messages that people will both not decode and read your messages, but not respond to you anyways. If you make it difficult to any degree, only those who feel like meeting the challenge (hmmm less than 0.1% of people) would even look.
avatar
kohlrak: I was thinking something that become really damn hard to automate.
avatar
rtcvb32: Well everything will be able to be automated, it's more a matter of how much effort they want to put into it. It would be far easier just to flag your messages if they don't contain words so no one sees them at all.
Find out what the words are and dummy the values interpreted from them. Or force them in with a randomized "ignore 4th word, 5th word, and 18th word" in the encoding.

As for everything being automated, good luck.

avatar
kohlrak: Something where a key is thrown in the text somewhere, etc. Full numeric focus makes it easy to target (any posts with only numbers). The trick is to make something that can automatically break any given algorithm's detection of the coded message. The more difficult it is to detect at an automatic way, the harder it is to automatically purge it. They don't have to see the decoded text if they can just catch that the text is encoded.
Again once the pattern is deduced it probably isn't too hard. say if you had blahblah{key}blahblah, then looking for the {key} to decode it with...

Hmmm... Though i do remember coming up with a graphical method to make static and you could hide images within it, though that's too easy to automate... maybe.
I knew a guy who had something that uses the odd-even of a particular bit in a lossless format. The difference between 0xFFFFFF and 0xFFFFFE are even indestinguishable to the human eye. Only people knowing there was a crypted message there would bother to look. You could get 1-3 bits per pixel of hidden info by making it 7bit colors instead.

Though it feels more like it would be far more effort to read your messages that people will both not decode and read your messages, but not respond to you anyways. If you make it difficult to any degree, only those who feel like meeting the challenge (hmmm less than 0.1% of people) would even look.
That's the problem. --censored-- It'd be painfully obvious for humans to know to copy and paste it into a known decoder, but it'd require an AI capable of actually understanding english to detect it. If you saw the following, for example:

red Car Purple Cat the A an a kitty open purple rainbow peanuts total bolshevik, and absolute bolshevik, compltely bovine excreation, utter fecal matter!
I think you'd identify right away that something funky is going on. The trick, however, is propagating the decoder. Also, that's too much work for most people. An AI, however, would catch more false positives than actually catch encoded messages.

EDIT: Had to remove a sentence for legal reasons.
Post edited February 10, 2021 by kohlrak