Clearly, the flag is `IAJBO{ndldie_al_aqk_jjrnsxee}`.
We know, it is supposed to start with `DUCTF`. If you calculate the difference between the ASCII values of `DUCTF` and `IAJBO`, you get:
```5,6,7,8,9...```
The shift offset increments by 1.
```pytext = "IAJBO{ndldie_al_aqk_jjrnsxee}"
offset = ord('I') - ord('D')
for i in text.lower():    if not i.isalpha():        print(i, end = '')    else:        print(chr((ord(i) - offset - ord('a')) % 26 + ord('a')), end = '')    offset += 1```
```DUCTF{crypto_is_fun_kjqlptzy}```