Jump to content

"TheGiant" Cipher


JustSavage05

Recommended Posts

Right for starters disregard what i have said in previous posts because i have been going round like a headless chicken and made an avalanche of mistakes and i have missed out bit patterns so my conclusion was miscalculated so theres still the possibilty of this being scrambled Base64

I am not sure how to move forward from here though its a real tough one like the ADFGX cipher. Im not giving up but i think im going to take a quick break from it

@vigiliisgaming  I will look at the software hopefully I can work out whats going on

Link to comment
  • Replies 177
  • Created
  • Last Reply

The software simply counts the number of letters and assembles it based on a keyword, so hopefully it's of use to you and other people not only in solving this but others as well!

I think our best course of action would be to start looking at this cipher as a poly-alphabetic substitution cipher, as it seems almost like that's what it is. But then again, it's just my speculation!

Link to comment

@vigiliisgaming I tested it on my linux laptop and couldnt get it to work i got an error it was late so i didnt take a screencap or details I then tried it on my W10 desktop and it works fine.I will explore it more today

I am still a bit puzzled what to do with a polyalphabetic sub cipher. How many symbols do we use per letter 3 ,4 ??  I misunderstood  the concept perhaps you can make a simple example to explain.

EDIT: I get my answer from here http://www.umich.edu/~umich/fm-34-40-2/

 How do we deal with not using some characters how does this effect it sorry if there basic questions but im pretty new to ciphering

Link to comment

Here is how I'm approaching Vigenere ciphers in base64, and then I've been expanding it to other polyalphabetic examples:

First, I've updated my spreadsheet to include a tabula recta for base64. Useful for Beaufort and Vigenere. However also have a tab specifically for Vigenere with the keyword TheGiant. If you can automate this process, please be my guest, but I don't have the coding background to do it.

Second, my example of Vigenere:

The first letter of the cipher is "k". By following the format of the Tabula Recta (left=key, middle=ciphertext, top=plaintext), this would mean that k-->R. And, awesomely enough, R is a valid letter to start base64! However, as you continue down the rest of the text using TheGiant, you get:

L) kCmlgFi6--> RhIf+r7N    --> Fú¾Í   

i)  kCmIgFi6--> RhIC+r7N  --> Fú¾Í  

*note that for both of these, it converts to some command codes in ASCII so there are less characters than expected.

This shows 2 things:

  1. It demonstrates how to use the Vigenere in base64. This is a process that we can expand to other polyalphabetic ciphers
  2. A straight Vigenere doesn't work when using TheGiant as the keyword. This means we need to do something more clever.

Frankly this second point surprises me bit because they are already using a non-classical cipher; as such, if they were to alter it in some way I would have assumed they would have dome something simple to it to change it (like a simple Vigenere sub). Furthermore when they used this cipher method on DE, it was just a straight Base64 conversion; no funny business involved. This makes think 2 things: 1) Maybe they saw how much we are struggling with this one and dumbed down the second one. 2) We are overthinking it. However, I don't think we are overthinking it because it definitely seems like the cipher is using the Base64 alphabet.  

Either way, I don't think Treyarch will stray to far into crazy, complicated ciphers to put on top of Base64, because it's already complicated. When they made the ADFGX cipher so hard, I'm fairly certain it was on accident. This is definitely solvable!!!!!!

Link to comment

You proberly find this funny but i only just worked out how vigenere cipher works as its the first time i have really looked at it so using a key that is not an isogram is new to me so i havent tried DeRiese maybe waffenfabrik or Luwigsdorf. I will look at Beaufort cipher next i see mentioned on the wiki its used on the m-209.

I am not sure if Treyarch would repeat the difficulty of the ADFGX cipher but what makes me think they might do is by making easier ciphers in later DLC that lead to learning the techniques to break an earlier more difficult one this would effectivly scatter the bread crumbs in a bigger radius

There is a problem with ciphers for treyarch where if they make them too easy people get them straight away or if they make them too dificult people just give up, also you need to think about the amount of people who attempt to break them im guessing its only a small part of the community which is a shame because it means maybe treyarch wont spend as much time on these details or testing them to attain the difficulty of them im sure if it was organised with enough people we could break the ADFGX cipher for example they found collisions in Md5 by using  distrubuted attack methods

That said i dont think there using the key TheGiant as an XOR on a Base64 string or have a foursquare inside a tabula recta ( is that possible )

 

Link to comment

@Nightmare Voyager I just checked out a straight Vigenere cipher of it using DerRise:

  • kCml—> hk7U (†NÔ) /  hk73(†N÷)

So yeah, it's not working, but when I run other polyalphabetic ciphers I'll try it out.

@Shootinfish I only knew how to work a Vigenere cipher about 3 months ago. I basically read up when BO3 dropped. I don't know if you've come across these yet, but the vast majority of my understanding of the ciphers comes from a lecture series published online by a guy named Lanaki. Really good!

And that's also a really good point about them putting the building blocks in later DLC. I'm hoping thats the case, but I definitely agree that a lot of people stop after trying it for a relatively short time. None of us are working for the NSA cracking secret codes, and Treyarch doesn't expect us to be.

As for XOR, I just had to go look that up. So as I'm looking at it, it operates like a polyalphabetic or mono alphabetic substitution in binary. Any particular reason you don't think this will work? (Feel free to refer me to previous posts if you covered this).

As for foursquare, I'm not really sure what you mean about that. The foursquare cipher uses 4 polybeius squares in conjunction. Waffles has a video describing it. A tabula recta is the physical representation of the math you do to encrypt/decrypt. Vigenre (26 letter alphabet) example: E+J=N. This can be solved by going to the tabula recta and finding the intersection between E and J (N). Or you can do the math of it using index values: 5 + 10 = 15 --> N. I personally don't think a foursquare is being used bc we would need at least 2 keywords, but ideally 2 keyed alphabets.

 

 

Link to comment

Dont worry about the four square inside a tabula recta i think i was having a funny momment it happens sometimes I was thinking you could have 4 8*8 squares with a 8*8 square in the very centre being used for a tabla recta i know it make no sense now i have thought about it.

 I have not seen those videos i will check them out.

Regarding XORing i have not mentioned it before and its possible but i thought treyarch wouldnt use a technique like that but then again a base64 alphabet isnt standard either. I know some very basic assembly so i am familer with some bit manipulation like XOR I will post the link to the wiki to explain https://en.wikipedia.org/wiki/XOR_cipherI  i will sit down and see if i can make something work with it and post my findings

//Edit for an update

Heres a quick example of a XOR i think i have done it right i used the w10 calc

‭01010100 01101000 01100101 "The" In 8 bit padded ASCII

10010000 00101001 10100101   "kCml"  (Lowercase l) Base 64

11000100 Is the first XOR which is incorrect as the very first bit needs to be a zero if its ASCII

I stopped investigating because once again i had a revelation on another mistake i have made when i was looking at a ratio for bit patterns starting 01**** (in the Base64 index range 16-31) i divided 192 by four but thinking about this again this is not right it should 144 divide 4 which is 36 and i had 38 characters meaning there is enough

What do you think ? is this right 192 is the string length of Base64 characters and 144 is the string length of ASCII 
There is 4 blocks of base64 characters for 3 ASCII character. Maybe i have my sums wrong again could really use peoples input on this

 

Link to comment

So the cipher is 192 characters long. Assuming the ciphertext we've been given is in base64, it's encrypted in blocks of 4 characters. This is then converted to 3 ASCII characters. To me, this means that the total number of blocks (of 4 characters) would be 48 (192/4). Correspondingly there would be 144 (48x3) ASCII characters.

This all checks out with me. Can you explain how you're reaching this 38 character thing again? And why this would be a limiting factor?

Link to comment

No your right and i was right the first time round its 192/4 to get a ratio of at least 25% (1/4) of the characters in the Base64 range ("16-31""Q-f") 
I count 38 characters in this range that's where I get the 38

If you have 25% it means that every first block of a sequence of four could start with an 01 character meaning that it more than likely is a string of characters with no spaces

I am sorry if this isnt clear what im trying to do but im not very good at explaining things i struggle with formating text and grammer but i dont mind keep trying
if i havent made myself clear

Link to comment

Sorry for the absence, busy yesterday! 

I tried XOR, and what it does (I think you @Shootinfish explained this!) is basically if you have 'k' as a cipher letter and your keyword is 'T' (TheGiant) then we will keep the 'k.' If it is the same then it will take it away. So it's a simple Exclusive OR gate. That being said, I don't believe it needs XORing.

I'm glad the program worked! I think my next step is to make it find the rows from the keyword and match it to the index of the Base64 letter we are currently on and return the letter associated with that index. That way we don't have to spend forever mapping it ourselves and will make trying different combinations extremely efficient. I'll probably have a working program Tuesday for you guys. 

@certainpersonio Do you know if the Vigenere first row starts with "A B C D E ...." or "B C D E F ...." ?

Link to comment

Im going to try and reverse engineer a character and see where it goes

To use space as the third ASCII character you need a four character Base64 bit pattern  like this ****************00100000, now the bit pattern at the end in 6 bit is 100000 and is character "g" index number "36" there are 4 of these characters in TheGiant ciphertext. Now you need a base64 6 bit pattern with 00 on the end "****00 now no letters seem to have 00 at the end in this third block position but numbers do but i cant draw any conclusion


                                                                                                                |///////////////////////////SPACE///////////////|
                                                                                                                |                                                      |
| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
    *     *      *     *      *      *     *      *     *      *     *     *       *     *      *     *     0     0     1     0     0     0     0    0
                                                                                                                              |                                        |
|                                         |                                         |                                          |/////////////g/////////////////////////|

 

Moving on to the next bit pattern where you would use Space for a second character, i have put the diagram below. As you can see it sits
in the middle.For an (A-Z a-z) ASCII character to sit next to the space bit 17 needs to be 0 and bit 18 needs to be 1 for a ASCII number (0-9)
bit 18 needs to be 0 


                                                       |////////////////////////SPACE///////////////////|
                                                       |                                                       |
| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
    *     *     *      *      *     *      *      *     0     0     1     0     0     0     0    0      *      *     *     *     *      *      *    *
|                                         |                                        |                                          |                                        |
                            


Base64 index characters that can fit in bit 7-12

000010  02  C
010010  18  S /// Is not in the cipher
100010  34  i 
110010  50  y

Base64 characters that can fit into bit 13 -18

000000  00  A   ////Short on this bit pattern to make spaces 
000001  01  B  ////Short on this bit pattern to make spaces
 

 

Now im guessing it wont be a capital before a space that leaves the ASCII numbers 0 2 3 4 6 7 8 and the ASCII characters b c d f g h j k l n o p r s t v w x z


Moving on to using space in the first slot
                                                                                                                         
|//////////////Space//////////////////////////////|

| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
    0     0    1     0     0     0     0     0     *     *       *     *      *      *     *     *      *     *      *     *     *      *      *     *
|                                         | 
|//////////////I//////////////////////////|                                        |                                         |                                         |

Base64 character I bit pattern 001000 there are 7 counts in TheGiant ciphertext

If there is a A-Z a-z character going next to the space, bit 9 needs to be a 0 and bit 10 needs to be 1

Possible Base64 characters to go in this slot 

000100  04  E ASCII characters D , H , L
000101  05  F  ASCII characters P  ,  T  , X
000110  06  G  ASCII characters  d , h ,  l
000111  07  H  ASCII characters  p , t ,  x
 
If there is a ASCII (0-9) number going next to the space, bit 9 needs to be a 0 and bit 10  needs to be a 0

Possible Base64 Characters to go in this slot

000000  00  A // Short on these patterns to make spaces
000001  01  B 
000010  02  C  // Short on these patterns to make spaces
000011  03  D

 

Im still running over this data and seeing where i can go with it(if anywhere) but i thought i would post my progress


Also i am not sure how this fits in or useful but if there in groups of 3 ASCII characters then the first is odd the second is even the third is odd

The formatting is messing up so I haven't finished editing this but have posted it all the same

Link to comment

I know this is for the Giant Cipher and sorry to derail it, just not sure where else to get attention for this. Someone posted it on the subreedit, can you guys solve it?:

 

 

Link to comment
13 minutes ago, Nightmare Voyager said:

I know this is for the Giant Cipher and sorry to derail it, just not sure where else to get attention for this. Someone posted it on the subreedit, can you guys solve it?:

 

 

I'll go to the reddit and check it out, but any other information you have? Looks... like it is just upside down letters. Possibly either a poly or simple mono substitution.

Link to comment
Just now, vigiliisgaming said:

I'll go to the reddit and check it out, but any other information you have? Looks... like it is just upside down letters. Possibly either a poly or simple mono substitution.

It came out near Die Rise and Buried. So it may hint towards those maps or something? I am not really sure what this is.

Link to comment
Just now, Nightmare Voyager said:

It came out near Die Rise and Buried. So it may hint towards those maps or something? I am not really sure what this is.

Found the original tweet - looks like some text is bolded compared to others. Though it looks constant between what is bolded and not. Definitely something interesting... And if it hasn't been solved yet, probably not just a substitution.

Those letters, possible... Russian? Hmm.. Let me look into that. You said around Die Rise and Buried... Buried was set in where again? 

Link to comment
1 minute ago, vigiliisgaming said:

Found the original tweet - looks like some text is bolded compared to others. Though it looks constant between what is bolded and not. Definitely something interesting... And if it hasn't been solved yet, probably not just a substitution.

Those letters, possible... Russian? Hmm.. Let me look into that. You said around Die Rise and Buried... Buried was set in where again? 

Angolia? South of Africa I know that, well technically the west as well but yeah. Die Rise was China too so if thats relevant.

Link to comment

So i reread what i posted and i think i can finally count the max number of space if it was scrambled Base64 basicly there is a chart below in the spoiler and shows where a space is regarding Base64 block position g , I, A, are the correct corrersponding to the letters. S is unknown and stands for Space where the letters C , i , y , could be  So there is only 19 spaces which i think makes the average word length too long unless there are coordinates in there like 50.37.43 N, 16.29.40 E or 50.628611, 16.494444 which is possible but would be really difficult to decipher so i very much doubt thats it

Spoiler

***g
***g
***g
***g
I***
I***
I***
I***
I***
I***
I***
*SA*
*SA*
*SA*
*SA*
*SA*
*SA*
*SA*
*SA*
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****
****


 

Link to comment
Just now, Shootinfish said:

 @vigiliisgaming  yes sorry I know you drew this conclusion a while ago that it was substituted but I had to rule it out totally just because the encoding is complicated and was difficult to pinpoint a answer. Upside I know a bit more about standard Base64, not sure if its going to help with this cipher though  

Oh! Good one with that then! Didn't realize that's what was happening. (: I've updated the code for the program a little bit so now it just shows the needed rows for the Vigenere substitution. Going to finish it up hopefully tonight (Instead of studying for an exam probably... Haha)

Link to comment

@Nightmare Voyager @vigiliisgaming 

Some quick thoughts on the twitter cipher there:

  1. It looks like it's upside down text to me, not Cyrillic. Most notably, the "ɥʇɟƃ" seem to be upside down, not cyrillic.
  2. The original tweet has 2 typefaces (bold, not bold) which reminds me of Bacon cipher. The biggest thing against this being a Bacon cipher is that they need to be multiples of 5, which the cipher isn't.

So yeah...I'm going to get back to work on TheGiant now :)

Link to comment

Ok I started a fresh look at TheGiant Cipher and noticed something straight away. Now assuming its substituted Base64 every number will be tied to a bitpattern.So i started looking at character number "1" as it has a highest frequency of nine.What is interesting is that it sits in every column and there are two occurances of it being twice in the same row meaning if this cipher is all in the correct order and not transposed in anyway then there is not alot of bitpatterns it can be in fact i can narrow it down to two.I will post some screencaps below to show you what i mean.I have cross refrenced "1" to 53 because im using my old charts from the standard base64 investigation but the characters are still in the same order and frequency

K0KownQ.jpg

gqoMfgY.jpg

A1t6xll.jpg

I will honest i am looking at some other patterns of the characters and i am getting the feeling that its not just substituted Base64 and that either it has been transposed or its not Base64 at all

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy, Code of Conduct, We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. .