Skip to main content
The National Cipher Challenge

Reply To: Challenge 10B

A Tale of 2 Secrets Forums T.E.M.P.E.S.T. Challenge 10B Reply To: Challenge 10B

#115253
F6EXB_the_frenchy
Participant

@madness
Program to help reconstruct the 10B grid as clues are found.
The encrypted text should be placed in the same directory as the .py program and in my program it is called ‘Mission.txt’.

# ------------------------- Décodage du  10B 2025 -----------------------
# Décodage du chiffre 4squares avec jeu de 52 cartes
# ------------------------------------------------------------------------------

import re

#debut = process_time()

CT1 =       ["AC","2C","3C","4C","5C","6C",
             "7C","8C","9C","XC","JC","QC",
             "KC","AD","2D","3D","4D","5D",
             "6D","7D","8D","9D","XD","JD",
             "QD","KD","AH","2H","3H","4H",
             "5H","6H","7H","8H","9H","XH"]

CT2 = 	    ["JH","QH","KH","AS", 
             "2S","3S","4S","5S", 
             "6S","7S","8S","9S", 
             "XS","JS","QS","KS"] 

alphabet_1 = [".",".",".",".",".",".",     # ["JH","QH","KH","AS",
              "b",".","e","f","g",".",	   #  "2S","3S","4S","5S",
              ".","l","m","n","p","q",	   #  "6S","7S","8S","9S",
              "r","t","u","v",".","."]	   #  "XS","JS","QS","KS"]

alphabet_2 = [".",".","l",".",# "AC","2C","3C","4C","5C","6C"
              "e",".","r","t",# "7C","8C","9C","XC","JC","QC"
              "b",".",".","g",# "KC","AD","2D","3D","4D","5D"
              ".","k","m","n",# "6D","7D","8D","9D","XD","JD"
              "o",".",".","s",# "QD","KD","AH","2H","3H","4H"
              ".",".",".","."]# "5H","6H","7H","8H","9H","XH"

fichier = open("Mission.txt", "r", encoding='utf-8')  # Texte à déchiffrer.
texte = fichier.read()
#print(texte)
fichier.close()

texte = re.sub('[^A-Z0-9]|\\s','',texte.upper()) # Supprime ce qui n'est pas alphanumérique.
#print(texte)

long = len(texte)
clair = ""
for i in range(0,long,4):
    carte_1 = texte[i:i+2]
    #print ("carte 1 : ", carte_1)
    rang_1 = CT1.index(carte_1)
    #print ("rang carte 1 :", rang_1)
    carte_1_x = rang_1 //6
    carte_1_y = rang_1 %6
    #print ("x :", carte_1_x, "y :", carte_1_y, "\n")

    carte_2 = texte[i+2:i+4]
    #print ("carte 2 : ", carte_2)
    rang_2 = CT2.index(carte_2)
    #print ("rang carte 2 :", rang_2)
    carte_2_x = rang_2 //4
    carte_2_y = rang_2 %4
    #print ("x :", carte_2_x, "y :", carte_2_y, "\n")
    
    clair_1 = alphabet_1[carte_2_x * 6 + carte_1_y ]
    clair += clair_1
    #print ("clair 1 : ", clair_1)
    clair_2 = alphabet_2[carte_1_x * 4 + carte_2_y ]
    #print ("clair 2 : ", clair_2)
    clair += clair_2

ligne_CT = ""
ligne_clair = ""
for i in range (0,long,4):
    ligne_CT += texte[i:i+4] + " "
m=len(ligne_CT)
    
#print(ligne_CT)   
    
for j in range (0, long, 2):
    ligne_clair += clair[j:j+2] + "   "
#print(ligne_clair)    
#print(clair)
#print ("l :",len(texte))
for k in range (0,m,120):
    print(ligne_CT[k: k+120],"\n", ligne_clair[k: k+120], "\n" )

7CXS 3H6S 7CKS XDAS 2CKS 8D4S 9C2S 7DXS 3D9S 7C2S 6HJS 9C2S 3D7S 8CQH ACQS AH5S 9DJH 7D3S 8D5S 7CQH 3D8S 2CKS AH3S 7CXS
re po rt .n t. em ee t. ng be t. ee n. .. rl es .. .k en .. n. t. e. re

6DJH XCJH XC9S 8DAS XCAS 8CJH 8D5S ACQH JD5S JC2S XCXS XC9S ACJH JCKH 2CKS 8D4S 8D4S 7C2S QDKS 5CJH 2CKS 2D3S 9CQS QC3S
.. .e nt .n .t .e en .. .n ge ve nt .. .r t. em em be rs .. t. e. ur ..

5CJH 2CKS 9C5S 6DXS 9D6S 6HKS 2H2S 8DKS XCQH 7DXS XDAS 2CKS AH3S 7CXS 6DJH XCJH XC9S JC4S 9C2S 8CXS 9DKH KCQS 5D3S 7C6S
.. t. et r. n. t. fo un .. t. .n t. e. re .. .e nt gr ee te .m r. .. .e

…………………..

The original message is page 15 #115070

Report a problem