Fork me on GitHub Crypto Puzzles Web

Secret message:

Please select crypto functions:

See example list below for what the functions do.

(You can select multiple functions by holding the Ctrl key while clicking but start with single ones.)

Select school grade (rough measure of difficulty):

Select language:


Crypto Puzzles examples

Crypto Puzzles examples

All examples use the plaintext: "Top secret! The sweets are hidden under your chair!"
Created using https://github.com/2d4d/crypto_puzzles/
Crypto function Minimum school grade Encrypted output Command line
emoji_alphabet()1🔝     ⑀ ℰ ©️ ᚱ € 𝔱 ❗️     ᵺ 📧     ⚡ 〰️ € モ ʦ     ค ℛ モ     ℏ 🆔 🌛 € ♑     ᶙ 🅽 🌛 € ℜ     Ỿ 𝔬 ⛎ ℜ     ᆮ ᚺ ค ༐ ®️ ❕  crypto_puzzles.py -T e --grade 1 "Top secret! The sweets are hidden under your chair!"
upside_down()1do⊥ ¡ʇǝɹɔǝs ǝɥ⊥ sʇǝǝʍs ǝɹɐ uǝppᴉɥ ɹǝpun ɹnoʎ ¡ɹᴉɐɥɔ crypto_puzzles.py -T U --grade 1 "Top secret! The sweets are hidden under your chair!"
upside_down()2Top ¡ʇǝɹɔǝs The sʇǝǝʍs are uǝppᴉɥ under ɹnoʎ chair! crypto_puzzles.py -T U --grade 2 "Top secret! The sweets are hidden under your chair!"
upside_down()5T[o[p: ؛¡:ʇ؛ǝ¡ɹ/ɔ)ǝ-s T]h*e] ‾s‾ʇ'ǝ[ǝ*ʍ[s a|r.e[ )u/ǝ]p(p-ᴉ¡ɥ u|n(d,e_r: |ɹ(n'o‾ʎ c;h!a|i-r,!| crypto_puzzles.py -T U --grade 5 "Top secret! The sweets are hidden under your chair!"
figlet()1
Here's just a bunch of underscores, pipes, slahes, backslashes and brackets:   _ | / \ ( ) _ | / \ ( ) 

Let see, how we can write with them:


                     _   _____   _ _                                     _____ 
                 ___| |_|_   _| | | |_ ___ _ __ ___ ___  ___   _ __   __|_   _|
                / _ \ '_ \| |   | | __/ _ \ '__/ __/ _ \/ __| | '_ \ / _ \| |  
               |  __/ | | | |   |_| ||  __/ | | (_|  __/\__ \ | |_) | (_) | |  
                \___|_| |_|_|   (_)\__\___|_|  \___\___||___/ | .__/ \___/|_|  
                                                              |_|              
                                                     _                         
                                 ___ _ __ __ _   ___| |_ ___  _____      _____ 
                                / _ \ '__/ _` | / __| __/ _ \/ _ \ \ /\ / / __|
                               |  __/ | | (_| | \__ \ ||  __/  __/\ V  V /\__ \
                                \___|_|  \__,_| |___/\__\___|\___| \_/\_/ |___/
                                                                               
                                _                              _     _ _ _     
                   _ __ ___  __| |_ __  _   _   _ __   ___  __| | __| (_) |__  
                  | '__/ _ \/ _` | '_ \| | | | | '_ \ / _ \/ _` |/ _` | | '_ \ 
                  | | |  __/ (_| | | | | |_| | | | | |  __/ (_| | (_| | | | | |
                  |_|  \___|\__,_|_| |_|\__,_| |_| |_|\___|\__,_|\__,_|_|_| |_|
                                                                               
                            _      _       _                                   
                           | |_ __(_) __ _| |__   ___   _ __ _   _  ___  _   _ 
                           | | '__| |/ _` | '_ \ / __| | '__| | | |/ _ \| | | |
                           |_| |  | | (_| | | | | (__  | |  | |_| | (_) | |_| |
                           (_)_|  |_|\__,_|_| |_|\___| |_|   \__,_|\___/ \__, |
                                                                         |___/ 

crypto_puzzles.py -T f --grade 1 "Top secret! The sweets are hidden under your chair!"
leet()1T0p $ecret! The $weet$ are h1dden under y0ur cha1r! crypto_puzzles.py -T l --grade 1 "Top secret! The sweets are hidden under your chair!"
leet()4T0p $3cr3t! Th3 $w33t$ @r3 h1dd3n und3r y0ur ch@1r! crypto_puzzles.py -T l --grade 4 "Top secret! The sweets are hidden under your chair!"
wrong_whitespace()1TopSecret!TheSweetsAreHiddenUnderYourChair! crypto_puzzles.py -T W --grade 1 "Top secret! The sweets are hidden under your chair!"
wrong_whitespace()2To psecr et!T hes weetsar ehidd enund ery ourc hair! crypto_puzzles.py -T W --grade 2 "Top secret! The sweets are hidden under your chair!"
wrong_whitespace()5To Psecr Et!T Hes Weetsar Ehidd Enund Ery Ourc Hair! crypto_puzzles.py -T W --grade 5 "Top secret! The sweets are hidden under your chair!"
wrong_whitespace()6po T!ter Cese Hts Teewser Anedd Ihred Nur Uoy! Riahc crypto_puzzles.py -T W --grade 6 "Top secret! The sweets are hidden under your chair!"
stego_saurus()1

                         .       .
                        / `.   .' \
                .---.  <    > <    >  .---.
                |    \  \ - ~ ~ - /  /    |
                 ~-..-~             ~-..-~
             \~~~\.'                    `./~~~/
              \__/                        \__/
               /                  .-    .  \
        _._ _.-    .-~ ~-.       /       }   \/~~~/
    _.-'6  }~     /       }     {        ;    \__/
   {'__,  /      (       /      {       /      `. ,~~|   .     .
    `''''='~~-.__(      /_      |      /- _      `..-'   \\   //
                / \   =/  ~~--~~{    ./|    ~-.     `-..__\\_//_.-'
               {   \  +\         \  =\ (        ~ - . _ _ _..---~
               |  | {   }         \   \_\
              '---.9___,'       .8___,'       

The stegosaurus can only hide 3 characters/digits.
crypto_puzzles.py -T u --grade 1 "698"
shift_words()1opT ecrets! heT weetss rea iddenh nderu oury hairc! crypto_puzzles.py -T S --grade 1 "Top secret! The sweets are hidden under your chair!"
shift_words()3pTo cretse! eTh eetssw ear ddenhi derun uryo airch! crypto_puzzles.py -T S --grade 3 "Top secret! The sweets are hidden under your chair!"
shift_words()5pTo cReTsE! eTh eEtSsW EaR DdEnHi dErUn uRyO AiRcH! crypto_puzzles.py -T S --grade 5 "Top secret! The sweets are hidden under your chair!"
shift_words()8p[T[o: c-R(e/T!s;E:!; e]T*h] e]E*t]S,s_W_ E|a.R[ D!d-E)n[H/i( d|E(r,U_n: u_R,y)O| A;i!R|c-H,!| crypto_puzzles.py -T S --grade 8 "Top secret! The sweets are hidden under your chair!"
shift_words()9pRÖNFTRÖNFoRÖNF cRÖNFRRÖNFeRÖNFTRÖNFsRÖNFERÖNF!RÖNF eRÖNFTRÖNFhRÖNF eRÖNFERÖNFtRÖNFSRÖNFsRÖNFWRÖNF ERÖNFaRÖNFRRÖNF DRÖNFdRÖNFERÖNFnRÖNFHRÖNFiRÖNF dRÖNFERÖNFrRÖNFURÖNFnRÖNF uRÖNFRRÖNFyRÖNFORÖNF ARÖNFiRÖNFRRÖNFcRÖNFHRÖNF!RÖNF crypto_puzzles.py -T S --grade 9 "Top secret! The sweets are hidden under your chair!"
shift_words()10p61T61o5 c87R14e55T48s37E0!4 e0T66h28 e64E66t29S87s64W89 E18a11R10 D73d23E62n37H87i14 d58E85r63U50n54 u96R74y53O18 A92i10R7c10H18!57 crypto_puzzles.py -T S --grade 10 "Top secret! The sweets are hidden under your chair!"
shift_words()11prönfTrönforönf crönfRrönferönfTrönfsrönfErönf!rönf erönfTrönfhrönf erönfErönftrönfSrönfsrönfWrönf ErönfarönfRrönf DrönfdrönfErönfnrönfHrönfirönf drönfErönfrrönfUrönfnrönf urönfRrönfyrönfOrönf ArönfirönfRrönfcrönfHrönf!rönf crypto_puzzles.py -T S --grade 11 "Top secret! The sweets are hidden under your chair!"
camelcase()1tOp sEcReT! tHe sWeEtS ArE HiDdEn uNdEr yOuR ChAiR! crypto_puzzles.py -T C --grade 1 "Top secret! The sweets are hidden under your chair!"
generate_crackme_python()1
#!/usr/bin/env python3

# Python3!
# This little script knows the secret you are looking for, but will never tell it to you, unless you force it to ;)

import base64
import hashlib
import time

password=input('What it the password? ')

hashitem=hashlib.new('sha256')
hashitem.update(password.encode('utf8'))
hexdigest_passwort=hashitem.hexdigest

if hexdigest_passwort == '9f86d081884c7d659a2feaa0c55ad015a3bf4fb12b0b822cd15d6c15b00f0a08' and password[:4:] == 'F' and hexdigest_passwort[1:2:] == 'XR' and False:
    print('The secret is: ')
    secret1 = 'VG9w'
    secret3 = 'Y3JldCEgVGhlIHN3ZWV0cyBhcmUgaGlkZGVuIHVuZGVyIHlvdXIgY2hhaXIh'
    secret2 = 'IHNl'
    secret = secret1 + secret2 + secret3
    print (base64.b64decode(secret).decode('utf-8'))

else:
    print('Wrong password!')


crypto_puzzles.py -T c --grade 1 "Top secret! The sweets are hidden under your chair!"
generate_crackme_python()7
#!/usr/bin/env python3

# This little script knows the secret you are looking for, but will only tell it in 890601 billion years, harhar :) If you don't have this much time, find a quicker way ...
# Python3!

import base64
import time

exec('print("exec is an interessting python command")')
time.sleep(1)
print()

command = 'print("exec is a really interessting python command")'
print('command: ' + command)
exec(command)
time.sleep(1)
print()

command1 = 'print("This command is in two vari'
command2 = 'ables and soon it will be executed")'
print(command1 + ' --------------- ' + command2)
exec(command1 + command2)
time.sleep(1)
print()

secret_command ='''
CnByaW50KCdIdWgsIHdoZXJlIGRvZXMgdGhpcyBjb2RlIGNvbWUgZnJvbT8nLCBmbHVzaD1UcnVl
KQp0aW1lLnNsZWVwKDEpCnByaW50KCdJIHdpbCB0ZWxsIHlvdSB0aGUgc2VjcmV0IGluIDg5MDYw
MSBiaWxsaW9uIHllYXJzIScsIGZsdXNoPVRydWUpCnRpbWUuc2xlZXAoOTg4OTg5Nzg5KQpwcmlu
dCAoJ1RoYW5rcyBmb3Igd2FpdGluZywgaGVyZSBpcyB5b3VyIHNlY3JldDogOiAnICsgYmFzZTY0
LmI2NGRlY29kZSgnVkc5d0lITmxZM0psZENFZ1ZHaGxJSE4zWldWMGN5QmhjbVVnYUdsa1pHVnVJ
SFZ1WkdWeUlIbHZkWElnWTJoaGFYSWgnKS5kZWNvZGUoJ3V0ZjgnKSkK

'''

sec_cmd_dec = base64.b64decode(secret_command).decode('utf-8')
# ???
exec(sec_cmd_dec)


crypto_puzzles.py -T c --grade 7 "Top secret! The sweets are hidden under your chair!"
char_to_num()120,o,p, s,5,c,r,e,20,!, t,h,5, s,w,e,5,t,s, a,18,e, h,i,4,d,e,n, 21,n,d,e,18, y,o,u,18, c,h,a,9,r,! crypto_puzzles.py -T 1 --grade 1 "Top secret! The sweets are hidden under your chair!"
char_to_num()220,o,p, 19,e,c,18,e,t,!, t,h,5, s,w,5,e,t,19, a,r,5, h,i,4,d,e,14, u,n,4,e,r, 25,o,u,18, c,h,1,i,r,! crypto_puzzles.py -T 1 --grade 2 "Top secret! The sweets are hidden under your chair!"
char_to_num()320,o,16, s,5,c,18,e,20,!, 20,h,5, s,23,e,5,t,19, a,18,e, 8,i,4,d,5,n, 21,n,4,e,18, y,15,u,18, c,8,a,9,r,! crypto_puzzles.py -T 1 --grade 3 "Top secret! The sweets are hidden under your chair!"
char_to_num()420,15,16, 19,5,3,18,5,20,!, 20,8,5, 19,23,5,5,20,19, 1,18,5, 8,9,4,4,5,14, 21,14,4,5,18, 25,15,21,18, 3,8,1,9,18,! crypto_puzzles.py -T 1 --grade 4 "Top secret! The sweets are hidden under your chair!"
char_to_num()7XX,XV,XVI, XIX,V,III,XVIII,V,XX,!, XX,VIII,V, XIX,XXIII,V,V,XX,XIX, I,XVIII,V, VIII,IX,IV,IV,V,XIV, XXI,XIV,IV,V,XVIII, XXV,XV,XXI,XVIII, III,VIII,I,IX,XVIII,! crypto_puzzles.py -T 1 --grade 7 "Top secret! The sweets are hidden under your chair!"
stego_acrostic()1t-unnel o-range p-erfect s-abre e-mpire c-omputer r-ing e-mpire t-unnel ! t-unnel h-obbit e-mpire s-abre w-ardrobe e-mpire e-mpire t-unnel s-abre a-ntelop r-ing e-mpire h-obbit i-nternet d-olphin d-olphin e-mpire n-ose u-nder n-ose d-olphin e-mpire r-ing y-ellow o-range u-nder r-ing c-omputer h-obbit a-ntelop i-nternet r-ing ! crypto_puzzles.py -T A --grade 1 "Top secret! The sweets are hidden under your chair!"
stego_acrostic()4Tunnel Orange Perfect Sabre Empire Computer Ring Empire Tunnel ! Tunnel Hobbit Empire Sabre Wardrobe Empire Empire Tunnel Sabre Antelop Ring Empire Hobbit Internet Dolphin Dolphin Empire Nose Under Nose Dolphin Empire Ring Yellow Orange Under Ring Computer Hobbit Antelop Internet Ring ! crypto_puzzles.py -T A --grade 4 "Top secret! The sweets are hidden under your chair!"
stego_acrostic()6tunnel orange perfect sabre empire computer ring empire tunnel ! tunnel hobbit empire sabre wardrobe empire empire tunnel sabre antelop ring empire hobbit internet dolphin dolphin empire nose under nose dolphin empire ring yellow orange under ring computer hobbit antelop internet ring ! crypto_puzzles.py -T A --grade 6 "Top secret! The sweets are hidden under your chair!"
stego_acrostic()7tunnelorangeperfect sabreempirecomputerringempiretunnel! tunnelhobbitempire sabrewardrobeempireempiretunnelsabre antelopringempire hobbitinternetdolphindolphinempirenose undernosedolphinempirering yelloworangeunderring computerhobbitantelopinternetring! crypto_puzzles.py -T A --grade 7 "Top secret! The sweets are hidden under your chair!"
stego_acrostic()9tUnNeLoRaNgEpErFeCt SaBrEeMpIrEcOmPuTeRrInGeMpIrEtUnNeL! tUnNeLhObBiTeMpIrE sAbReWaRdRoBeEmPiReEmPiReTuNnElSaBrE aNtElOpRiNgEmPiRe HoBbItInTeRnEtDoLpHiNdOlPhInEmPiReNoSe UnDeRnOsEdOlPhInEmPiReRiNg YeLlOwOrAnGeUnDeRrInG cOmPuTeRhObBiTaNtElOpInTeRnEtRiNg! crypto_puzzles.py -T A --grade 9 "Top secret! The sweets are hidden under your chair!"
rot13()1Gbc frperg! Gur fjrrgf ner uvqqra haqre lbhe punve! crypto_puzzles.py -T 3 --grade 1 "Top secret! The sweets are hidden under your chair!"
randomize_middle_of_words()1Top setrce! The swetes are hieddn unedr your chari! crypto_puzzles.py -T M --grade 1 "Top secret! The sweets are hidden under your chair!"
randomize_middle_of_words()4Top setecr! The stewes are hieddn uendr yuor chira! crypto_puzzles.py -T M --grade 4 "Top secret! The sweets are hidden under your chair!"
insert_noise()1T[o[p: s-e(c/r!e;t:!; T]h*e] s]w*e]e,t_s_ a|r.e[ h!i-d)d[e/n( u|n(d,e_r: y_o,u)r| c;h!a|i-r,!| crypto_puzzles.py -T N --grade 1 "Top secret! The sweets are hidden under your chair!"
insert_noise()2TRÖNFoRÖNFpRÖNF sRÖNFeRÖNFcRÖNFrRÖNFeRÖNFtRÖNF!RÖNF TRÖNFhRÖNFeRÖNF sRÖNFwRÖNFeRÖNFeRÖNFtRÖNFsRÖNF aRÖNFrRÖNFeRÖNF hRÖNFiRÖNFdRÖNFdRÖNFeRÖNFnRÖNF uRÖNFnRÖNFdRÖNFeRÖNFrRÖNF yRÖNFoRÖNFuRÖNFrRÖNF cRÖNFhRÖNFaRÖNFiRÖNFrRÖNF!RÖNF crypto_puzzles.py -T N --grade 2 "Top secret! The sweets are hidden under your chair!"
insert_noise()3T61o61p5 s87e14c55r48e37t0!4 T0h66e28 s64w66e29e87t64s89 a18r11e10 h73i23d62d37e87n14 u58n85d63e50r54 y96o74u53r18 c92h10a7i10r18!57 crypto_puzzles.py -T N --grade 3 "Top secret! The sweets are hidden under your chair!"
insert_noise()4Trönforönfprönf srönferönfcrönfrrönferönftrönf!rönf Trönfhrönferönf srönfwrönferönferönftrönfsrönf arönfrrönferönf hrönfirönfdrönfdrönferönfnrönf urönfnrönfdrönferönfrrönf yrönforönfurönfrrönf crönfhrönfarönfirönfrrönf!rönf crypto_puzzles.py -T N --grade 4 "Top secret! The sweets are hidden under your chair!"
insert_noise()6Twaspowasppbird selephanteswancparrotrsharkeapetbird!ape Tdolphinhsquirreledolphin sdolphinwsquirreledolphinebeavertlionslion ahipporbunnyewasp hsharkielephantdsnakedwaspeparrotnswan uhipponswandbeaverelionrbird ylionobeaverusnakerhippo capehsharkahippoielephantrbeaver!hippo crypto_puzzles.py -T N --grade 6 "Top secret! The sweets are hidden under your chair!"
insert_noise()7Tsevenosevenpzero steneonecsixrsixefourtzero!zero Tzeroheightethree seightweightethreeetenteightseleven atworoneeone hnineitwodsevendfouretennone usevenntendsevenesixrsix ynineosixutworeleven conehzeroaoneitworseven!nine crypto_puzzles.py -T N --grade 7 "Top secret! The sweets are hidden under your chair!"
insert_noise()9Tsevenoelephantpsix szeroeapecdolphinrdolphinelionthippo!wasp Ttenhsnakeesix sninewtwoebirdebeavertninesshark abeaverrtwoefive hstegosaurusitendtigerddolphinefivensnake utenntendsnakeelionrraven ysnakeobirduswanrsquirrel csharkhbeaveraelevenizerorfour!two crypto_puzzles.py -T N --grade 9 "Top secret! The sweets are hidden under your chair!"
insert_noise()11Twaspotenpsix ssharkezeroceightreighte₪t₥!₩ Toneh₰eshark s₳wwaspeswane₲televenszero atworhippoe$ hhippoitwod₱deightecarpnfour ufrognthreedeighteswallowrseven y¢o₣u¥rsquirrel ctenh€a₪ibeaverrnine!six crypto_puzzles.py -T N --grade 11 "Top secret! The sweets are hidden under your chair!"
qr_inside_qr()1
QR inside QR: Scan to see the different hints per grades. Grade 1 can be scanned directly because of the border around the inner QR.
crypto_puzzles.py -T Q --grade 1 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_1.png
qr_inside_qr()2
QR inside QR: Scan to see the different hints per grades.
crypto_puzzles.py -T Q --grade 2 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_2.png
qr_inside_qr()4
QR inside QR: Scan to see the different hints per grades.
crypto_puzzles.py -T Q --grade 4 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_4.png
qr_inside_qr()6
QR inside QR: Scan to see the different hints per grades.
crypto_puzzles.py -T Q --grade 6 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_6.png
qr_inside_qr()10
QR inside QR: Scan to see the different hints per grades.
crypto_puzzles.py -T Q --grade 10 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_10.png
qr_inside_qr()12
QR inside QR: Scan to see the different hints per grades.
crypto_puzzles.py -T Q --grade 12 "Top secret! The sweets are hidden under your chair!" --filename qr_in_qr_grade_12.png
Euli: black_on_black1This very secure encryption is so far only available in .docx files generated by Euli because it depends on file formats. Check out Euli