From 5a4327bcd4dc7dc0f93ea1e3463c0f4700bfaabe Mon Sep 17 00:00:00 2001 From: Zheyuan Wu <60459821+Trance-0@users.noreply.github.com> Date: Mon, 16 Feb 2026 12:34:41 -0600 Subject: [PATCH] updates> --- bin/client | Bin 0 -> 28328 bytes bin/server | Bin 0 -> 28272 bytes client.cpp | 2 +- server.cpp | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 bin/client create mode 100755 bin/server diff --git a/bin/client b/bin/client new file mode 100755 index 0000000000000000000000000000000000000000..6208c84630e7766991a593165b8b2bb58a778bd1 GIT binary patch literal 28328 zcmeHw4RjpEm2QoGEMa4fNbHTk{B+1T*ccBQTQ;)6L}P307L090lKF?$cr>zRk!FUO zmMw80DGEmi(fdN~tF7DXFw4wUK_!!k$jrXsKb6I?MHma!%SR%1KIfQ0jcu?D=Er zYZvAE*IIf`p%%>g1(o%E66MG)r<=sEvkp<8+c*pf`%6mmgwmz`@vSSHF75AG+8<90 z4lNyOUb%E-lRuO6FXQ>tE)72_zG2fAhGCf`Oqh{Xj99$XM|tx^KFJ^bv3c~qu3YNd zPyTs-GW$1=_Ae-Yi)5(XREA_Ikv=ixHopQ#B*X3T&_mt3*yaktF2nC~{0_#R8~Da+ zJzeR?XRYqt5~**VnmBjk_x{hp2hUCIOOJ;acz<{Nd5D!w528cjR4B<`53U@3HyTn7 zf5}D9zoJ9ssKx!^au z=-KCjFLY`DS6$?nyU3s8V*hJg>}+DPmb1fOx%6wbOT7=e)O)6j{24C&I_fg+54zx& zy0pLGqW>RV`gMs*JAdh-zsjXO_q)`)*QMT#F7p5Ag5Tm|=byUhr*%lf&zWv_(f?O2 z{axnL-zQz#gXvbb-j`kKy~IVn=pvs5exb8d;4^5?M_B{gd83s%B4o}$zX-oy?BANe z8!+x?!8_5qEkN$4=L@{Wf!~6Tk)B$ypKDez_7j2c6Z%I4{y6Xpu^ZGcvw#|be?-VP zi*~jPoEgTpfn>tSn31$;7|dwv+GzB|(y?vvj2TOJZCux%OvJh(Tl-^HUfG<`HSIYRz1zA z!GLtEbs4X^r@wvs0IBJEUupu&tr~md{jsfsy=5yzo0FNC)xoPf%@t8|I2A)@ntPJQ zj(ATj5sJ$8uduXPt#{LBb>MVr7G~`SP)Kdl)o#A(L=fzyQ=^aq8Sc-z`xjWW{@BWo!+9m}q>PviGH1y;dOQOr6s7U~$F z^RUxg)+C2LIcOTmULzezY>OGa115&gkDRQsRW<^DUO3S!K_*RkGUt z1mYs_RgM@=JTCKC)Np_%N5R3@Q_@uh_F`eO-(Dr1T5 zEQ1aJ>VZ!DMSIymY#^E%Mh4HvbjFHKn#@S_R%)8j8;SQbY7p%JNxIruPArN?mnCjT-A8z{*Q1Q-N^Yuk)~f4P5^!l+_w zb9-o0XJ?p{OZCPwf0HGHqrmjx^6A56{uQ@rvRi*+y~ETF3Sq+HqM{P?iYN7^K;l&1V8-z*P-tWwpZ{! z`ueT#bY`*rf;Sic54b2*>^bmOeI9nT$kPC5OH$w}*}vNP)oh2zC;55t_*@2ym?_MYGe&xxNwSI4z*T&U0H*~C|{dBTyA_d}%LG_r(hVQiQ1gCyP} z@Y-&kjT!|N{7Z(#qgqDSz%m_DaP>MRui)f6%5+S@0}=#1q2S9EyuRCF;EpkItBeEE zPlWOL^|&R)nDp-mr)zYXq#sB48VQ0*Ka}v53NHOe!dEM}^g{`6R&eQu623~oyKk`= z8V>4%OnnND323L3f>+uoV?zpV&2%esM8T^%dsbXw}NA0 z+38^gpKYUz?NM-?D0bSX;Ah$>W0MMwiEpQ86}-+yanD7;y$b%4g41~*(;)>vOM;+z z1^=*uA5(C;k0jFx1)ncLqGH~XE&oKpYZd$>3SO_^;ub2;ZBX#D6?sj;&r$G23cf(W z8x>sM)1~ZY1wT)bZ&C2`6bTzDvOuDfs;gzF5I`E4Wx9dG5mszEqLlqu_o8->2Z0D)^*=H!AqE z3N9{9dG0|4r`>iY%~)W@0y7qvvA~Q4W-RdkuLXYVJ^vkj^f$HoMD^iMFs6@Bnia)^ z`smZO`+1{_D=xm0v8m$1B_Q4l7|Hih&Q#%Wu~^*2dAfj@Dm-uVbm1^nc*^GKf?=xg z4V$M6g{i_rHcuA_Q-#mlJY5(}74EWma$=_nx7j>h2uu|sHcuA-Q-x33JURYTg`mxo z!#`CB*gQG}zZJsVT(SMsK zM;`sRd2-;lOv7(+dMhY=)cXA zJUPthzs-}QjQ-m^Imqb0&68t{{@XlVkfZ-LPYyErZ}W8FkN(>{Im+n2&69(S{!1RS z|7%y!>~Cd!{)1nLYj~AE&%w`k@N*q}wS#{T*Yc{qw;cRy4*pdK|8ocbqJ#gTgMY@s zf5*W;;^4pL;Qz+K|4#@1MF*dA@Z%2tP6t2e;0GLh%)#I6;I}yVjSfEK;MX|#6%Kx> zgJ0<2&vWqe9sFDeU+v)E!@Zf3@ptgAIrvu{{LdZyiw^#W4*nSj{~ZVah~&fBxAV zqxnuK31^G>Td}GT9|a9(f0aM-F43d;<;c&U58?dpkW+|Z4X3)V5aRQY?Y*FdpMSw? zgVzMN1iQ9$>UaHy?k?)1XZje9hp;i|x%rr^wsOR zR-Xpt)QkH3-Pnz&rWdg5fQEDZz7{=qldmy9NlnkKSqF9bFI&e!9Jgh^m;WNz!12du zqtU_s7;HHE&Xcqe>bVscK`Q%{o_!`Tng7A>xspawVpvL+b0tsb+rd7jp-4FUI%%0i zOCF=WMbG{lOcTuR&wmY2aP;?@cl=Ups-q|Bz2hIpLEwcasH!Jvqs{*%Y6xbZ9z9X? zj)j1r0dJm-Op*vp_CEDYZGJs(M3-+~ID3*8>cx=NSFqk}zwbl&6Vwi>H=I4*iXmyn zkc>`xykkFu3TR8gbV6G=x8iPaI*invKlTpw`nbr-9|jwkd~^hgFu=dnzp78n{|??s zdV+3&(~vXj{`jPKd@l4B-oc;VUE$p0zHS;e_#ltc-QB?CmT+$FI6CkcbpTT)oU0xM z`vm3Y!{`Z3qbkrFt`BE_9nOvUx@it%|0R2Xq%o+q`Dz-}2^^uid+A-F!1wj&!Ep8f z_3tG#l-hA`D>8TkARYMrV@3EW$cK&cgHmJ}iDch7FjmzKA!!B}#fv88U;kZ+1zrYQ zVgYUpG>V(RvdC9)H9)bRcl_ujkitTJbN#}DIpl15krrL7z zKLd|~&lpU|zemOU&?|OiFDCb|;9KOcMQ=%e(a!o3vhJg-E0ASL@63J|-F_OH_80o-E63WqLV-z)W^TYfAo z^C!)DQ1C;cptg9Zm#@>ZJT-P?&3njZgG;vPqia4*hkEu^^GulkZ^7greH$GkGaaaY z5xnPSl(p-p@`WA96zvIiwPpW#i=KU}Q_ub$Cq=!oh+#To^v7Q?&(Oz@d&fplQQP9* zgtIDia{>@Nc^y?dKlAZ-S5bVrM)WvpmkuCMy8c}a_R?{lrWwu7UE%UVWGt^)gZ(7XQoqrdY8 zz4txUGE!W%{qIL#zijlR_fucl2SXNlfA;UU#);Y!ytXa-Pr+;2vOmVIk$sCy{O*>{ zaCSfJ+u*csem1&-rJJ9de+v`m3&(NRy|6KRBAk6g&mN$YcQ2sP6COUs@8C9Q{)+%G zK||SmIC~h&HwhhnYg*_<5=xO!6voVT`KlnH=b9?>zejaa)z?YtDz55iz5*E-u_}F{ ziw~Q1t`A;>VQWxMaygGD*4##=&qV1$8?2Cj0Y|<3{89Ex%&EJ6vlE+y((N(d5N#>g z8z1Leb~xALOYxQT3Sa&vbOI;Sop714_x}=}a^Se!+p)P|V{NA`XQFyPvh?qb`E;<9 zrdz*`RL># z*|Pj2Xg0Pc+9@ukA`{CW!|s8V{O$bh)Fapw{>$y8lMnPbDi0jbKgiX?J2-$J-{tD5 zAGO?5p!0|OI#^|?%Pslv#Q&=5#!|X*{59{m4+n*f(8Jeu|b|i!;PqP_IvP zSeQz41kg;Pk#NILN>hWD6NmJQk=zTez4cY#%UNa2D@x^~+RvV(uYM;OcVywileMzLv@g$Jcg>^Q)+q z3F|DIUVhhOzorwhxgxgLkqisbBA`UQJ(JBop|Y zU@&TGiNXGUEs->}?f9gjNAz@IX0?W|8j=}p(T=`&v`>p?w1u}1F4nHp%)WSL>6ICL z{jg}UBNsO;6I_dSYi#(^wrez!(t49=Eg0%tijT);3-xTB^^ruZM>CUJCYIhFOKX|I zXf&3|^rAh(QZSUj*KOJW;K;TZ1QR9|F#G737g|JLRcUm0o#(`c;^yMj8jD$9xoPyp z11doaQt4#RU=+u(fs{F{MdPWySlWyYnFhY8ShKLls&P}&t_I;k6KUqB&oMef9oOJJFm!LV^nXkFLl4isD0 z5$ZCo4qeaITdhVCpRpXe3PD?rU( z7mMvgj}(ja&E%Jl7K?8}ZXSM=Jhyi+&rrQ*!I?F+yO2*fz5ejzf%5V*F0LYp{~8+k=b?4!Mes^-J-R1+SRMWbFG=2(^+C(MmC%-}T1)joyQuG~y2MGxiUSNn@%@hHZn>L*}$KV9qHP`6JD*X;>Z{)4A(UqG*$ z48%c$gnZajwl%>yye(CjANQawG-g$w#vc?>+X93YzZCLZ@tmjnp;~s_Q~kwSc2`B< z)fzThIrK&i`@5>@_iEVg>Pv9^z^v+Qt!HmdHF76ws)78phH_DdrDv|EO2>;Yk}rC^ zpR8u=`s#nLVS7AZ#>41h(Ni@C&`g@Kz>EcEEb!mj0`mJm`MuwN>(2fc?3~!9_&1}} ze96-{t13_5xT-vTLrRH!KAtp-%(Vz>z(Z?Fc$w_;u ziTpoG(#ONQEj*nNAMr_i=tCAR+dU!-DVk~5Pp{xol5%)B%lij$4&gB<=ljIRgLvZ4 zdC?qpOz?SfW{~hU2hW%Nu+aa!zcNmlQ)8oMAuWQo3)(GcO3)EOcL};%&^>}q3VKk` zLxLU?6v0(^suxrfv{BF&LE8oG7BnU3h@iU!-7V-IK_>-0DCi+Uj|nP+%GC3#1jaN$ z8wG6DH@7paDao&KFe!2fiypzlS36txg#NFDT=JNB{ zB_Sy}P0RIn1oDi1n92BiQu@!ip0ka7hv7||e(;v9tM}U`$r*vLL zc|A7*uV)KbLwAXKw$(*`&;{S)f*;4itU*6>=>I1d`9m&v5%^hTi59D!aviS2{4Qso zCBQE%?GoqKyU1V9@p^U$Z$(j}Yj8?m68Ii5&*>VO(ry<$-*CZy1pKUu1+2E47q|Z$ za*_9-{&M{~*9Bkgg5L<7=7WrnFd}OH0^w*+eYXY3eQ=M9o_`^{;w;;r5Ng=VF7odJ zFBiY74vs^)erYavlMB89_=T9c&iGwhUF6@vJp2&kW!zOUoa~#BC;P}a5$&R5zjo2% z7WZt`tn&T3(FNa5cm=#ROSxA>Z!6X8|uaAI^5cSGwSBLch~)TU_Kn3!KJX#sL`- z4Sm8z{)7uY8yju8_FuwrtS6UPifKQiw82Gws|$XI3;uu${t9r7*W~yEhrC=nKjMP_ zDaY$syJ-L2LfvOw$Zv9y?*mTbCF8S5ox5H1u+C`O4EU1>zZBUT zH_XU37VVGY@r6H{O8t>Rtd^;dZQ2l|DK+->VmZbity9yBInLl(Q z8HgD@g98J@D57vYuv&?zVXW^6ZVVZrO|29k(LjV-C$08{5_~V?%iJ zT0D2zyncNr9=LP`*M>t>VmjVd3y*Sz;8PS@N(o|U1x;)z4OwNyAp8Rn*({A#+$?MO zPbaXN3?W!rI)=!N5oSFSvRg_4v3S(C(+(w9s+0o8l?2u+$);Flr&eXlQ!vF6d82JJ z!j9o#lQEcy^}x1{0Dmphk-3bLf)#9G+1g}Yda9CB_z)* zigsN#qV@ZT++0#E52#vF2lHo!2h7M;P@J`#_Q@l}$Bv~_%#XLEV*YK3K|fw5f|1Q( z1=>0o$NwgQ7pN>L#64X~UOyM_i)8wkzh^jsDlAHG4Ur5#{yhnfMEyvdP)IO?*rV@YDT5*QeOm+rXE`y*Lgu`>^TxXs3s^Z$*J z&x1rZmzBpvKZYMJ{q6E@|33=JQo`kQNy2y3CFPy}Pl~TZn(i@|rZz`;dEZ-7tyKJ! z^4B6CpAjZy|K)QoNp(>kw^ev@wm$+Cm!fw6<#RAe58{3jC9)COS(ca2!{WejE6^@4 zpQ}l#Q9&h<4mI5dhMrN$_RHr|lFIw`vi(v{(odm0J@b;heC{P_y{M3yLAICe$01Mj zoPcmyUOtDDbVQVw^~>_I|M!XVYq>VWg%!{BB$dwrsXRTabe4Yz7*!$lGYt$SjsK-P zQYFbbe;z=tT3*vEaY^~$C>rGR4oSb_EKer{k|wB>vrxJhW+h4YfK}^n6y+pU-+7~w zvYe!kI?BuEHIlwflT%5uoP?glfm*+OZY-&Mo-E~^_IpN@m*dY`gruNl#}J7`Y6|@^T)16=l`><#T*}lT`zcK_M#xmE|Q}h{9@l)-8nF zEh^Uuf!gIIzXXLzmu$b*ZRIqG@{LkZP|d+Niu#>$vb=aKWS640Qc|g$yH<|%SC{qU xzAPmQ^+oSK$bQRyQMPP54(&8_y><9a$N4Mkm4avCpj`QjW0u4!M*#=R{x6T<<5vIx literal 0 HcmV?d00001 diff --git a/bin/server b/bin/server new file mode 100755 index 0000000000000000000000000000000000000000..fba9a1f1dc6d9fc878239ab6a5175b6618d9743b GIT binary patch literal 28272 zcmeHw4|rU~b?@k(CHzM#sGSJxgbS>L9pgpoe@G@KT1#tRk+r>*WC8@ZTCG;rhLv{N zy|QJOrXrGvH$th?Cd6OE%V*k0p-KAc_643xDUmTYByED=HBDMdVrUGz<)2Z&m=L`E zow+ktv)6lzN&3C-d-*i_cF&yOoHH}$%-p$i@7;U!2f@&$^0G1}Qw6(*5vQ%NkY-WP z&?_<^&8(3v!1pCgV{^b)a?C1kwg^hC^po;pS|jiZP|~ZXObNQgf|;bUheS!wEot>u ziKMK~;z_THvKoCMY5d!!_g!G|lB#;Vy=Ecrpx@$^GA602N50v6t);j3#$vip=sh5) z)FXG1-m;J-zwD-BstJEeD*Z`)q)(≺|2V)i6n&dVNCANn3@Uq|^qbjuU3juhU*w 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 literal 0 HcmV?d00001 diff --git a/client.cpp b/client.cpp index 4be6aec..eff7f09 100644 --- a/client.cpp +++ b/client.cpp @@ -155,7 +155,7 @@ int main(void){ unsigned char ciphertext[2048]; int plaintext_len = (int)strlen(buffer); - int ciphertext_len = stream_encrypt((unsigned char*)buffer, plaintext_len, key_bytes, iv_bytes, ciphertext); + int ciphertext_len = block_encrypt((unsigned char*)buffer, plaintext_len, key_bytes, iv_bytes, ciphertext); if (ciphertext_len <= 0) { printf("encrypt failed or produced empty ciphertext_len=%d\n", ciphertext_len); break; diff --git a/server.cpp b/server.cpp index 7adafcb..408703e 100644 --- a/server.cpp +++ b/server.cpp @@ -167,7 +167,7 @@ int main(void){ // decrypt client message unsigned char plaintext[2048]; - int plaintext_len = stream_decrypt((unsigned char*)client_message, (int)n, key_bytes, iv_bytes, plaintext); + int plaintext_len = block_decrypt((unsigned char*)client_message, (int)n, key_bytes, iv_bytes, plaintext); if (plaintext_len < 0) { fprintf(stderr, "decrypt failed\n"); break;