Brainy's Cipher
| Name: | Brainy's Cipher |
|---|---|
| Hint: | Brainy likes playing around with esoteric programming. He also likes math and has therefore encrypted his very secure password with a popular encryption algorithm. Claiming that his password cannot be retrieved now, he has sent the ciphertext to some of his friends. Can you prove to Brainy that his password can actually be recovered |
| Base Points: | Easy - Retired [0] |
| Rated Difficulty: | ![]() |
![]() |
Agent22 |
| Creator: | k4m4 |
We start with a text file again.
++++++++++[>+>+++>+++++++>++++++++++>>>+++++++++++++++++++++++
.-----------.+.-------------.++++++++++++.------------.+++++++++++++.--------------
.++++++++++++++++++++++++++.
The hint provided is:
Brainy likes playing around with esoteric programming. He also likes math and has therefore
encrypted his very secure password with a popular encryption algorithm. Claiming that his
password cannot be retrieved now, he has sent the ciphertext to some of his friends. Can
you prove to Brainy that his password can actually be recovered?
Looking up Esoteric Programming languages, we find one called "Brainfuck" which would fit with the name of the challenge. Plugging the string into a Brainfuck decoder we get:
{p:790132450226489923634923078114381383883192047466936433984493963148166577063558481995893
1021644265960578585153616742963330195946431321644921572803658406281,
q:1280291845144404462258375770375206611818006866847937877892874108830235542597719299679962
3998720429594346778865275391307730988819243843851683079000293815051,
dp:554065502862202193442930628793777529195562330896520838458200985737605358357551078416961
6065113641391169613969813652523507421157045377898542386933198269451,
dq:906689732030883420695235939973774731198330906276417890626947584717396607356798817041583
9954996322314157438770225952491560052871464136163421892050057498651,
c:6207808667741668686718385795735033831444628091267339244806502685021268532655118396205649
59645797823253020820543939336822657728027508872936024325129679948055
499650209169536446359659166079253356390275791874351806074759633224654177589590023854518631
22106487834784688029167720175128082066670945625067803812970871
}
Well, that looks like something that I saw in PicoCTF a while back. Searching the string in Google provides:
Chainging the values in the PicoCTF solve.py script to our values and running it, then add the HTB{} around it, we get the flag: HTB{ch1n3z_r3m4ind3r_the0rem_r0ck$$$_9792}

