Dynastic

Flag

HTB{DID_YOU_KNOW_ABOUT_THE_TRITHEMIUS_CIPHER?!_IT_IS_SIMILAR_TO_CAESAR_CIPHER}

Intro

File: source.py

from secret import FLAG
from random import randint

def to_identity_map(a):
    return ord(a) - 0x41

def from_identity_map(a):
    return chr(a % 26 + 0x41)

def encrypt(m):
    c = ''
    for i in range(len(m)):
          ch = m[i]
          if not ch.isalpha():
              ech = ch
          else:
              chi = to_identity_map(ch)
              ech = from_identity_map(chi + i)
          c += ech
    return c

with open('output.txt', 'w') as f:
    f.write('Make sure you wrap the decrypted text with the HTB flag format :-]\n')
    f.write(encrypt(FLAG))

File: output.txt

Make sure you wrap the decrypted text with the HTB flag format :-]
DJF_CTA_SWYH_NPDKK_MBZ_QPHTIGPMZY_KRZSQE?!_ZL_CN_PGLIMCU_YU_KJODME_RYGZXL

Solution

from source import *

def decrypt(m):
    c = ''
    for i in range(len(m)):
          ch = m[i]
          if not ch.isalpha():
              ech = ch
          else:
              chi = to_identity_map(ch)
              ech = from_identity_map(chi - i)
          c += ech
    return c

Author: calx

Created: 2025-05-10 Sat 07:57

Emacs 30.1 (Org mode 9.7.11)