ifarbod / arsacia-decryption-challenge

Solution for Arsacia's first programming challenge, Q4 2023.

Home Page:https://forum.arsacia.ir/topic/32974-%DA%86%D8%A7%D9%84%D8%B4%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D9%87-%D8%B1%D9%85%D8%B2%DA%AF%D8%B4%D8%A7%DB%8C%DB%8C/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arsacia Decryption challenge

This repository has a solution for the challenge held in the forums in late September 2023, written in the Rust programming language.

The encrypted data

ag6PwXWf{g=u02Fdnr&8*y%6>0yDo<0{cot/%EQp/gQ+YnG0fC5nr7KrDo3DugCQY*V=z8}$bSGSjvU*
Gdz>5+qa##4Y4vk2F59yX=>YUc$b-2g7bRK}4b6}2Ab16ooLY@8>3](y@DLttr/ar6^oNc&KxeQe$-Gj
^-kdJ7)mWZUgn@(2znC@MvO0=y%I6hc$se+=Ph$l[7p!A4$N)+LPj>v.3b1R8u<S$J2ucL**I#nUqXll
wy.!r>7B=(}4&Df1AA]vjTeo6R--uR1+E>@?KU<?4xKF%vEXn+qZCwLuuYtTyFFWc8YAIOKE:WCNAS%9
[ra*XJklL6nDIhVQ/oTY[l}ZKL6AwY-*4L2c5-&2kq)>}T7uT+KnU72DB5Q[.Ol5ah1pK3fq0(*/Wkty
OSAL!^B[qo+}OnH!edlpqG[F!CZL>qPCmV[oaq8/oYsr6Y0P^?]p(0QY8zy1WzNbiadEx$J?w!L9S5mp
tFF*m59..<lUBWhNLr1N?lQdNF8ad%t#x(b8CYMqKXQtrf?^2eNIka$tnuOm[1:PV{VVsNu<%}Sa.!?#
QQnhHj^Ts%96i/#^hzV.S.5e&J1?k>!LgP1U2G@SN6ijy<G$Su7AuBcUUFgJBqWHp7d}0+9laR(F0DUE
wzQVadV!0IAA8g1B{mbc*^D[IB{-#SHkPth-GBI2hUd>uA{:(0q^K4kJYH:HI=:j!4msx6VxgdmB+(aC
!gR4{!ozi^Gz9E1kcJbv>TvM%c<.$09/Py1l/44yNb0hN6VLT+0CXmCoN0bFWvK:(YtI7y8zWZJ1.Tk[
&6gDJ>3.H0(o4kNDMUF}YBBM^T}ZNYlbT+n?Jw>JRASC)>4&AfyAMkx5{N2w@ZR$Gy+gODy]Z9J*RMH9
S1ZvqAb^0-?uf04UuWqKn46Yp6yv7so%GgaA{!An:fp?W:e>LSEBWYLvbphq>%&>fCt=R$DOb!9t5K)F
jretJKv<H5/?l2LnfhErspH{#iUXlZG}/%kRN[d[<mFD.*OZe.&cw3M1.7gZ!//1P[hLyfm)WG>a}$r)
8R}V#>-r0GXNpV#lnaP1cDPHF!r9#>5#[nbD9GWAx&Ol}1Xq.Q!Qx./ar0EH-WZ8NxFFRLnTwaKcxu&3
{#=5]nuVCgEOw?[/b-@yW5OIRuH&GDQWk<Ap$STi[FN1C1U2a<5MxYl00j97D8%SBw6dAJsnxDq2cLME
9ep!mv:hk]&QE)YUaM+dW9@cCt+1]+x<.:K=o-twA%e@nVMV^vM(la.vmHEQwMbABN*bYe8BESXwM@o<
J%tP[pAGIBtafXOHSK^V@FiM6Kkh[=}!RQ)CY/vD=a&L038^6zi?d%@siAv&Rlj]x1ikH=HZZJ}>uCg#
vm?el)/s55Blm*#INE>XN:KE^5xEc4Tk?hpaPxv$ky&Ke]wonxB5FBRT{pxBqgnM>I68<Av@{r@en%im
J$6G[uL.4Cw+(cZ{ojoL^7&n^@f*l<cA4tv>G:M8v+exZ^1f41gX1k!Sj#9O[tLkFaO<[#5IxpN-Y6a/
0Z@OO*fygz/5dq]M:4qRFBA7lVA<6aIpiLnC8NIiJfi{qL/--5:j*uh^1.vrJ9bvHl<z{X]2oOzwTzxi
6BBb3tU1cQ(z?(B3:W>]2={VMS<bhJ!{Iblh6MXphh/[uF.wFe-mq{qa<w1orrDRygAfZo=?hyUVy(rr
M^aPfHNWvyW&dE1{eBlBl?A%ySQioIodch5PGeFn&Hk>+QW<J6yRjuJU?rZW3V0*j14ZGZuo]AP1.5r}
U+qB+9q*g8>^=l58k8Jst.#2*U9qG]@jv*?qpps8cTnHMeE15R)bvBjV9iS}YBu>63ktG5576GsXxTho
Aw]x9qbX$5zXk=J779&yg?zzlJ^MNNZU)zN)5[TIN4<n4i{=J/(j7v*DSvXv92fp[w{$N1<)v>&X}C)9
Jn/#c+.Is*ZBaxiEMz?V!GYX=s2>)LVKV^fsw!>)0d0!(-an8}d{-J?U0@.8ZKh8Ob}>r>r>$5?vu)gD
4q4Gk-Ex+X[&pS)}Y{9:bm{k<Cx60#]3wbZ1=s59[%q/RZkLI(Yp1)XC7(eTqSWNQt..]Q0)9X?nT8F4
@pB8xifmk[[H$7zwkAybzw)0+}#ZBeUFT!7jLj7$wJ8*.h!+F=BP=@t-9mFp))h-z]+Sy#lD>=?)#%8h
RHyz9oKP/YmoZk89-AJK*h?EEF{RYJ^E)$+I2E/0^t][rNt&*Sw@LFmh&loVQVxKuV^D)rHGdB1.uTe^
h2r29!#TW8msla$<yGuN>vjSq1:Qp]2usWvtMW)yYi4+cz9HZ{!#o=ZCH4y4gjOk>1s8<lr>P%K8q($k
hB^B4Z.lx5Dt6j4to*4>Tg$y4l8HxHtAs/fU-$fko+3u(iAtsGH)n$Os<F8Zz0o2ACc/s]VhQZvP5=<?
X=t4.3k=7}U[U@m97O+9=Zcjv=b84&15@}}[j^NT1=][?[SHcTW*-MDn[Owk{xi[o32Se.=8z:vQrK-o
4%82yd?M5NCuxWj3i=l%SgR.{Z%H-^t+kjTF6RyS^0M7W*!m%mI/a/9{f:ehZf}Jj0c]7nz/.@CO&%av
DS&XS?eLZ51ivB:4+^(83X5(uWoBu{uHPU5/@M(YBV%@/NkYodECG.]+?O3?-u4?Um&UtdA3-Q6W(ht9
OHSzirxn?KS19ruo=NUC+$U]hdp6UDxrT$.Jg&?#CxkEt8!Q>aIo*jaJ[OJqrE7H)=UorcgFDMW@9Ojn

Hints

  • The first 5 characters of the message are Salam.
  • The length of the message is 272 characters.
  • The message was encrypted once and then encoded. After encrypting, the result was in binary.
  • The encoding used is a variant of Base85/Ascii85 that has an RFC.
  • You'll need to use trial and error to decrypt the message. Once you figure out how to get the Salam, you should be able to decrypt the rest.
  • The algorithm used isn’t a known one like AES, it’s a custom one.
  • The text consists only of English letters and is in the standard ASCII range. 8 bytes are used per each character (2176 / 272 = 8).