Answer To: OENG1206 Practical 2 School of Engineering XXXXXXXXXXOENG1206 – Digital Fundamentals (Practical 2) 1...
Abr Writing answered on May 07 2021
encrypt_xor.m
function [key, encrypt] = encrypt_xor(message)
message = convertStringsToChars(message);
bin = dec2bin(message);
bin = cast(bin, 'int64');
bin = bin - min(min(bin));
key = randi([0 1],1,size(bin, 2));
encrypt = "";
for i = 1:size(bin,1)
encrypt = strcat(encrypt, ...
string(char(bin2dec(num2str(xor(bin(i,1:end), key))))));
end
encrypt = convertCharsToStrings(encrypt);
end
encrypted.txt
108
92
75
79
69
71
64
73
14
79
14
77
65
74
75
14
71
93
14
79
66
89
79
87
93
14
79
14
93
75
77
91
92
71
90
87
14
77
65
64
77
75
92
64
14
89
71
90
70
14
79
64
87
14
77
71
94
70
75
92
0
14
97
91
92
14
77
71
94
70
75
92
14
71
93
14
64
65
90
14
94
79
92
90
71
77
91
66
79
92
66
87
14
93
65
94
70
71
93
90
71
77
79
90
75
74
14
93
65
14
89
65
91
66
74
14
90
79
69
75
14
88
75
92
87
14
66
71
90
90
66
75
14
90
65
14
76
92
75
79
69
21
14
90
70
75
92
75
14
79
92
75
14
65
64
66
87
14
28
27
24
14
94
65
93
93
71
76
66
75
14
77
65
67
76
71
64
79
90
71
65
64
93
14
65
72
14
75
64
77
92
87
94
90
71
65
64
14
69
75
87
93
14
71
64
14
65
91
92
14
93
77
70
75
67
75
14
89
70
71
77
70
14
77
79
64
14
76
75
14
75
79
93
71
66
87
14
76
92
65
69
75
64
14
91
93
71
64
73
14
79
14
76
92
91
90
75
3
72
65
92
77
75
14
79
90
90
79
77
69
0
14
111
14
76
92
91
90
75
3
72
65
92
77
75
14
79
90
90
79
77
69
14
65
64
14
90
70
71
93
14
90
87
94
75
14
65
72
14
77
71
94
70
75
92
14
77
65
91
66
74
14
91
90
71
66
71
93
75
14
79
64
14
75
86
70
79
91
93
90
71
88
75
14
69
75
87
14
93
75
79
92
77
70
14
67
75
90
70
65
74
14
89
70
71
77
70
14
89
71
66
66
14
76
79
93
71
77
79
66
66
87
14
90
92
87
14
75
88
75
92
87
14
94
65
93
93
71
76
66
75
14
75
64
77
92
87
94
90
71
65
64
14
69
75
87
14
77
65
67
76
71
64
79
90
71
65
64
14
79
73
79
71
64
93
90
14
87
65
91
92
14
75
64
77
92
87
94
90
75
74
14
67
75
93
93
79
73
75
0
14
104
65
92
14
90
70
71
93
14
94
79
92
90
14
65
72
14
90
70
75
14
94
92
79
77
90
71
77
79
66
14
77
92
75
79
90
75
14
79
14
72
91
64
77
90
71
65
64
14
90
70
79
90
14
77
79
64
14
76
92
91
90
75
3
72
65
92
77
75
14
74
75
77
65
74
75
14
79
64
14
75
64
77
92
87
94
90
75
74
14
67
75
93
93
79
73
75
14
89
71
90
70
65
91
90
14
69
64
65
89
71
64
73
14
90
70
75
14
75
64
77
92
87
94
90
71
65
64
14
69
75
87
14
90
70
79
90
14
89
79
93
14
91
93
75
74
14
76
87
14
91
93
71
64
73
14
79
64
14
75
86
70
79
91
93
90
71
88
75
14
69
75
87
14
93
75
79
92
77
70
14
67
75
90
70
65
74
0
cipher.mlx
[Content_Types].xml
_rels/.rels
matlab/document.xml
OENG1206 – Digital Fundamentals – Ciphers Part 2 (week 6): Create a Program to Encrypt Messages Task 1 – State the Problem and Determine the Input/Output In this part of the we’ll be converting characters to and from ASCII and binary to create a very simple encryption algorithm based on the Exclusive OR (XOR) operator. Designing and implementing a user-defined function that generates an encryption key and uses this to encrypt the characters in a character array. Input: message: message to encrypt, type char/string Output: key: key used for encryption, type binary numeric array encrypt: encrypted message, type string A second function to invert the above operation that is encrypt if the key is provided. Input: key: key used for encryption, type binary numeric array encrypt: encrypted message, type char/string Output: decrypt: decrypted message, type string Task 2 – Design your Algorithms Convert each letter into ASCII Code Apply XOR operation on each code Convert ASCII code into letter Task 3 – Write your program Encryption [key, encrypt] = encrypt_xor('I am a message') Decryption decrypt = decrypt_xor(key, encrypt) Reading the normal text from message.txt file. fid = fopen('message.txt', 'r');
message = fscanf(fid, '%c');
fclose(fid); Encrpyting the message bin = dec2bin(message);
bin = cast(bin, 'int64');
bin = bin - min(min(bin));
key = randi([0 1],1,size(bin, 2));
disp(key);
encrypt = zeros(size(bin,1),1);
for i = 1:size(bin,1)
encrypt(i) = bin2dec(num2str(xor(bin(i,1:end), key)));
end Saving the encrypting message to encrypted.txt file. dlmwrite('encrypted.txt',encrypt,'delimiter',''); Part 3 (week 7): A Brute-Force Decryption Algorithm Task 4 – State the Problem and Determine the Input/Output A brute-force attack on this type of cipher could utilise an exhaustive key search method which will basically try every possible encryption key combination against your encrypted message. In this part we willl create a function that can brute-force decode an encrypted message without knowing the encryption key that was used by using an exhaustive key search method. Input: encrypt: encrypted message, type numerical array of integers Output: key: key used for encryption, type binary numeric array decrypt: decrypted message, type string Task 5 – Design your New Algorithm Convert the letters into binary form Create all the possible keys for the above binary enrypted message Check visually for the key Task 6 – Use MATLAB to Solve the Problem Reading the encrypted message from encrypted.txt . fid = fopen('encrypted.txt', 'r');
codedmessage = fscanf(fid, '%d');
fclose(fid); Decrypting the above text using brute-force method. decrypt_brute_force(codedmessage) From the results above, we can see that the key for the encrypted code is 0101110 .
matlab/output.xml
manual document ready 0.4 matrix key 1×7 1 7 double 1 0 1 1 1 0 0
double double [[{"value":"{\"value\":\"1\"}"},{"value":"{\"value\":\"0\"}"},{"value":"{\"value\":\"1\"}"},{"value":"{\"value\":\"1\"}"},{"value":"{\"value\":\"1\"}"},{"value":"{\"value\":\"0\"}"},{"value":"{\"value\":\"0\"}"}]] 1 variableString encrypt "|=1|=|19//=;9" false false 1 1 1 variableString decrypt "I am a message" false false 1 1 2 text 0 1 0 1 1 1 0
false false 11 text key = 0000000, decrypt = l\KOEG@IOMAJKG]OBYOW]O]KM[\GZWMA@MK\@YGZFO@WMG^FK\ a[\MG^FK\G]@AZ^O\ZGM[BO\BW]A^FG]ZGMOZKJ]AYA[BJZOEKXK\WBGZZBKZAL\KOEZFK\KO\KA@BW^A]]GLBKMACLG@OZGA@]AHK@M\W^ZGA@EKW]G@A[\]MFKCKYFGMFMO@LKKO]GBWL\AEK@[]G@IOL\[ZKHA\MKOZZOME oL\[ZKHA\MKOZZOMEA@ZFG]ZW^KAHMG^FK\MA[BJ[ZGBG]KO@KVFO[]ZGXKEKW]KO\MFCKZFAJYFGMFYGBBLO]GMOBBWZ\WKXK\W^A]]GLBKK@M\W^ZGA@EKWMACLG@OZGA@OIOG@]ZWA[\K@M\W^ZKJCK]]OIK hA\ZFG]^O\ZAHZFK^\OMZGMOBM\KOZKOH[@MZGA@ZFOZMO@L\[ZKHA\MKJKMAJKO@K@M\W^ZKJCK]]OIKYGZFA[ZE@AYG@IZFKK@M\W^ZGA@EKWZFOZYO][]KJLW[]G@IO@KVFO[]ZGXKEKW]KO\MFCKZFAJ
key = 0000001, decrypt = m]JNDFAHNL@KJF\NCXNV\N\JLZ]F[VL@ALJ]AXF[GNAVLF_GJ]`Z]LF_GJ]F\A@[_N][FLZCN]CV\@_GF\[FLN[JK\@X@ZCK[NDJYJ]VCF[[CJ[@M]JND[GJ]JN]J@ACV_@\\FMCJL@BMFAN[F@A\@IJAL]V_[F@ADJV\FA@Z]\LGJBJXGFLGLNAMJJN\FCVM]@DJAZ\FAHNM]Z[JI@]LJN[[NLDnM]Z[JI@]LJN[[NLD@A[GF\[V_J@ILF_GJ]L@ZCKZ[FCF\JNAJWGNZ\[FYJDJV\JN]LGBJ[G@KXGFLGXFCCMN\FLNCCV[]VJYJ]V_@\\FMCJJAL]V_[F@ADJVL@BMFAN[F@ANHNFA\[V@Z]JAL]V_[JKBJ\\NHJi@][GF\_N][@I[GJ_]NL[FLNCL]JN[JNIZAL[F@A[GN[LNAM]Z[JI@]LJKJL@KJNAJAL]V_[JKBJ\\NHJXF[G@Z[DA@XFAH[GJJAL]V_[F@ADJV[GN[XN\Z\JKMVZ\FAHNAJWGNZ\[FYJDJV\JN]LGBJ[G@K
key = 0000010, decrypt = n^IMGEBKMOCHIE_M@[MU_M_IOY^EXUOCBOI^B[EXDMBUOE\DI^cY^OE\DI^E_BCX\M^XEOY@M^@U_C\DE_XEOMXIH_C[CY@HXMGIZI^U@EXX@IXCN^IMGXDI^IM^ICB@U\C__EN@IOCANEBMXECB_CJIBO^U\XECBGIU_EBCY^_ODIAI[DEODOMBNIIM_E@UN^CGIBY_EBKMN^YXIJC^OIMXXMOGmN^YXIJC^OIMXXMOGCBXDE_XU\ICJOE\DI^OCY@HYXE@E_IMBITDMY_XEZIGIU_IM^ODAIXDCH[DEOD[E@@NM_EOM@@UX^UIZI^U\C__EN@IIBO^U\XECBGIUOCANEBMXECBMKMEB_XUCY^IBO^U\XIHAI__MKIjC^XDE_\M^XCJXDI\^MOXEOM@O^IMXIMJYBOXECBXDMXOMBN^YXIJC^OIHIOCHIMBIBO^U\XIHAI__MKI[EXDCYXGBC[EBKXDIIBO^U\XECBGIUXDMX[M_Y_IHNUY_EBKMBITDMY_XEZIGIU_IM^ODAIXDCH
key = 0000011, decrypt = o_HLFDCJ
L
NBIH
D^
LAZLT^
L
^HNX_DYT
NBCNH_C
ZDYE
LCT
ND]EH_
bX_
ND]EH_
D^
CBY
]L_YDNXAL_AT
^B]ED^YDNLYHI
^B
ZBXAI
YLFH
[H_T
ADYYAH
YB
O_HLF
YEH_H
L_H
BCAT
]B^^DOAH
NB@ODCLYDBC^
BK
HCN_T]YDBC
FHT^
DC
BX_
^NEH@H
ZEDNE
NLC
OH
HL^DAT
O_BFHC
X^DCJ
L
O_XYH KB_NH
LYYLNF
l
O_XYH KB_NH
LYYLNF
BC
YED^
YT]H
BK
ND]EH_
NBXAI
XYDAD^H
LC
HUELX^YD[H
FHT
^HL_NE
@HYEBI
ZEDNE
ZDAA
OL^DNLAAT
Y_T
H[H_T
]B^^DOAH
HCN_T]YDBC
FHT
NB@ODCLYDBC
LJLDC^Y
TBX_
HCN_T]YHI
@H^^LJH
kB_
YED^
]L_Y
BK
YEH
]_LNYDNLA
N_HLYH
L
KXCNYDBC
YELY
NLC
O_XYH KB_NH
IHNBIH
LC
HCN_T]YHI
@H^^LJH
ZDYEBXY
FCBZDCJ
YEH
HCN_T]YDBC
FHT
YELY
ZL^
X^HI
OT
X^DCJ
LC
HUELX^YD[H
FHT
^HL_NE
@HYEBI
key = 0000100, decrypt = hXOKACDM
K
IENO
CY
KF]KSY
K
YOI_XC^S
IEDIOXD
]C^B
KDS
ICZBOX
e_X
ICZBOX
CY
DE^
ZKX^CI_FKXFS
YEZBCY^CIK^ON
YE
]E_FN
^KAO
\OXS
FC^^FO
^E
HXOKA
^BOXO
KXO
EDFS
ZEYYCHFO
IEGHCDK^CEDY
EL
ODIXSZ^CED
AOSY
CD
E_X
YIBOGO
]BCIB
IKD
HO
OKYCFS
HXEAOD
_YCDM
K
HX_^OLEXIO
K^^KIA
k
HX_^OLEXIO
K^^KIA
ED
^BCY
^SZO
EL
ICZBOX
IE_FN
_^CFCYO
KD
ORBK_Y^C\O
AOS
YOKXIB
GO^BEN
]BCIB
]CFF
HKYCIKFFS
^XS
O\OXS
ZEYYCHFO
ODIXSZ^CED
AOS
IEGHCDK^CED
KMKCDY^
SE_X
ODIXSZ^ON
GOYYKMO
lEX
^BCY
ZKX^
EL
^BO
ZXKI^CIKF
IXOK^O
K
L_DI^CED
^BK^
IKD
HX_^OLEXIO
NOIENO
KD
ODIXSZ^ON
GOYYKMO
]C^BE_^
ADE]CDM
^BO
ODIXSZ^CED
AOS
^BK^
]KY
_YON
HS
_YCDM
KD
ORBK_Y^C\O
AOS
YOKXIB
GO^BEN
key = 0000101, decrypt = iYNJ@BELJHDONBXJG\JRXJXNH^YB_RHDEHNYE\B_CJERHB[CNYd^YHB[CNYBXED_[JY_BH^GJYGRXD[CBX_BHJ_NOXD\D^GO_J@N]NYRGB__GN_DIYNJ@_CNYNJYNDEGR[DXXBIGNHDFIBEJ_BDEXDMNEHYR[_BDE@NRXBED^YXHCNFN\CBHCHJEINNJXBGRIYD@NE^XBELJIY^_NMDYHNJ__JH@jIY^_NMDYHNJ__JH@DE_CBX_R[NDMHB[CNYHD^GO^_BGBXNJENSCJ^X_B]N@NRXNJYHCFN_CDO\CBHC\BGGIJXBHJGGR_YRN]NYR[DXXBIGNNEHYR[_BDE@NRHDFIBEJ_BDEJLJBEX_RD^YNEHYR[_NOFNXXJLNmDY_CBX[JY_DM_CN[YJH_BHJGHYNJ_NJM^EH_BDE_CJ_HJEIY^_NMDYHNONHDONJENEHYR[_NOFNXXJLN\B_CD^_@ED\BEL_CNNEHYR[_BDE@NR_CJ_\JX^XNOIR^XBELJENSCJ^X_B]N@NRXNJYHCFN_CDO
key = 0000110, decrypt = jZMICAFKGLAID_IQ[MK]ZA\KGFKMZ_A\IFKAX@Mg]KAX@MAFGXIZ\AK]DIZD[GX@A[\AKI\M[_G]D\IC^MZDA\\D\JZMI\@MZIZGFXG[[AJDKGEJAFI\AGFGMFKZQX\AGCMQAG][K@ME_@AKKIJMI[ADJZGCM][AFJZ]\MNGZKI\\IKJZ]\MNGZKI\\IKG\@A\QXGKAX@MKG]D]\ADA[IMP@I][\A^CM[MIZKEM\@G_@AK_ADJI[AKIDD\ZM^MZXG[[AJDMFKZQX\AGCMKGEJAFI\AGIOIAF[QG]MFKZQX\MEM[[IOnG\@AXIZG\@XZIK\AKIKZMI\N]FK\AG\@IKIJZ]\MNGZKLMKGLIMFKZQX\MEM[[IO_A\@G]CFG_AF\@MFKZQX\AGCM\@I_I][MJ][AFIMP@I][\A^CM[MIZKEM\@GL
key = 0000111, decrypt = k[LHB@GN H JFML @Z HE^HPZ H ZLJ\[@]P JFGJL[G ^@]A HGP J@YAL[ f\[ J@YAL[ @Z GF] YH[]@J\EH[EP ZFYA@Z]@JH]LM ZF ^F\EM ]HBL _L[P E@]]EL ]F K[LHB ]AL[L H[L FGEP YFZZ@KEL JFDK@GH]@FGZ FO LGJ[PY]@FG BLPZ @G F\[ ZJALDL ^A@JA JHG KL LHZ@EP K[FBLG \Z@GN H K[\]LOF[JL H]]HJB h K[\]LOF[JL H]]HJB FG ]A@Z ]PYL FO J@YAL[ JF\EM \]@E@ZL HG LQAH\Z]@_L BLP ZLH[JA DL]AFM ^A@JA ^@EE KHZ@JHEEP ][P L_L[P YFZZ@KEL LGJ[PY]@FG BLP JFDK@GH]@FG HNH@GZ] PF\[ LGJ[PY]LM DLZZHNL oF[ ]A@Z YH[] FO ]AL Y[HJ]@JHE J[LH]L H O\GJ]@FG ]AH] JHG K[\]LOF[JL MLJFML HG LGJ[PY]LM DLZZHNL ^@]AF\] BGF^@GN ]AL LGJ[PY]@FG BLP ]AH] ^HZ \ZLM KP \Z@GN HG LQAH\Z]@_L BLP ZLH[JA DL]AFM
key = 0001000, decrypt = dTCGMOHAGEIBCOUGJQG_UGUCESTOR_EIHECTHQORNGH_EOVNCiSTEOVNCTOUHIRVGTROESJGTJ_UIVNOUROEGRCBUIQISJBRGMCPCT_JORRJCRIDTCGMRNCTCGTCIHJ_VIUUODJCEIKDOHGROIHUI@CHET_VROIHMC_UOHISTUENCKCQNOENEGHDCCGUOJ_DTIMCHSUOHAGDTSRC@ITECGRRGEgDTSRC@ITECGRRGEMIHRNOUR_VCI@EOVNCTEISJBSROJOUCGHC^NGSUROPCMC_UCGTENKCRNIBQNOENQOJJDGUOEGJJ_RT_CPCT_VIUUODJCCHET_VROIHMC_EIKDOHGROIHGAGOHUR_ISTCHET_VRCBKCUUGA`ITRNOUVGTRI@RNCVTGEROEGJETCGRCG@SHEROIHRNGREGHDTSRC@ITECBCEIBCGHCHET_VRCBKCUUGACQORNISRMHIQOHARNCCHET_VROIHMC_RNGRQGUSUCBD_SUOHAGHC^NGSUROPCMC_UCGTENKCRNI
key = 0001001, decrypt = eUBFLNI@FDHCBNTFKPF^TFTBDRUNS^DHIDBUIPNSOFI^DNWOBU hRUDNWOBUNTIHSWFUSNDRKFUK^THWONTSNDFSBCTHPHRKCSFLBQBU^KNSSKBSHEUBFLSOBUBFUBHIK^WHTTNEKBDHJENIFSNHITHABIDU^WSNHILB^TNIHRUTDOBJBPONDODFIEBBFTNK^EUHLBIRTNI@FEURSB
AHUDBFSSFDL fEURSB
AHUDBFSSFDLHISONTS^WBHADNWOBUDHRKCRSNKNTBFIB_OFRTSNQBLB^TBFUDOJBSOHCPONDOPNKKEFTNDFKK^SU^BQBU^WHTTNEKBBIDU^WSNHILB^DHJENIFSNHIF@FNITS^HRUBIDU^WSBCJBTTF@B aHUSONTWFUSHASOBWUFDSNDFKDUBFSBFARIDSNHISOFSDFIEURSB
AHUDBCBDHCBFIBIDU^WSBCJBTTF@BPNSOHRSLIHPNI@SOBBIDU^WSNHILB^SOFSPFTRTBCE^RTNI@FIB_OFRTSNQBLB^TBFUDOJBSOHC
key = 0001010, decrypt = fVAEOMJCEGK@AMWEHSE]WEWAGQVMP]GKJGAVJSMPLEJ]GMTLAV
kQVGMTLAVMWJKPTEVPMGQHEVH]WKTLMWPMGEPA@WKSKQH@PEOARAV]HMPPHAPKFVAEOPLAVAEVAKJH]TKWWMFHAGKIFMJEPMKJWKBAJGV]TPMKJOA]WMJKQVWGLAIASLMGLGEJFAAEWMH]FVKOAJQWMJCEFVQPA BKVGAEPPEGO
eFVQPA BKVGAEPPEGOKJPLMWP]TAKBGMTLAVGKQH@QPMHMWAEJA\LEQWPMRAOA]WAEVGLIAPLK@SLMGLSMHHFEWMGEHH]PV]ARAV]TKWWMFHAAJGV]TPMKJOA]GKIFMJEPMKJECEMJWP]KQVAJGV]TPA@IAWWECA
bKVPLMWTEVPKBPLATVEGPMGEHGVAEPAEBQJGPMKJPLEPGEJFVQPA BKVGA@AGK@AEJAJGV]TPA@IAWWECASMPLKQPOJKSMJCPLAAJGV]TPMKJOA]PLEPSEWQWA@F]QWMJCEJA\LEQWPMRAOA]WAEVGLIAPLK@
key = 0001011, decrypt = gW@DNLKBDFJA@LVDIRD\VDV@FPWLQ\FJKF@WKRLQMDK\FLUM@WjPWFLUM@WLVKJQUDWQLFPIDWI\VJUMLVQLFDQ@AVJRJPIAQDN@S@W\ILQQI@QJGW@DNQM@W@DW@JKI\UJVVLGI@FJHGLKDQLJKVJC@KFW\UQLJKN@\VLKJPWVFM@H@RMLFMFDKG@@DVLI\GWJN@KPVLKBDGWPQCJWF@DQQDFNdGWPQCJWF@DQQDFNJKQMLVQ\U@JCFLUM@WFJPIAPQLILV@DK@]MDPVQLS@N@\V@DWFMH@QMJARMLFMRLIIGDVLFDII\QW\@S@W\UJVVLGI@@KFW\UQLJKN@\FJHGLKDQLJKDBDLKVQ\JPW@KFW\UQ@AH@VVDB@cJWQMLVUDWQJCQM@UWDFQLFDIFW@DQ@DCPKFQLJKQMDQFDKGWPQCJWF@A@FJA@DK@KFW\UQ@AH@VVDB@RLQMJPQNKJRLKBQM@@KFW\UQLJKN@\QMDQRDVPV@AG\PVLKBDK@]MDPVQLS@N@\V@DWFMH@QMJA
key = 0001100, decrypt = `PGCIKLECAMFGKQCNUC[QCQGAWPKV[AMLAGPLUKVJCL[AKRJGPmWPAKRJGPKQLMVRCPVKAWNCPN[QMRJKQVKACVGFQMUMWNFVCIGTGP[NKVVNGVM@PGCIVJGPGCPGMLN[RMQQK@NGAMO@KLCVKMLQMDGLAP[RVKMLIG[QKLMWPQAJGOGUJKAJACL@GGCQKN[@PMIGLWQKLEC@PWVGDMPAGCVVCAIc@PWVGDMPAGCVVCAIMLVJKQV[RGMDAKRJGPAMWNFWVKNKQGCLGZJCWQVKTGIG[QGCPAJOGVJMFUJKAJUKNN@CQKACNN[VP[GTGP[RMQQK@NGGLAP[RVKMLIG[AMO@KLCVKMLCECKLQV[MWPGLAP[RVGFOGQQCEGdMPVJKQRCPVMDVJGRPCAVKACNAPGCVGCDWLAVKMLVJCVACL@PWVGDMPAGFGAMFGCLGLAP[RVGFOGQQCEGUKVJMWVILMUKLEVJGGLAP[RVKMLIG[VJCVUCQWQGF@[WQKLECLGZJCWQVKTGIG[QGCPAJOGVJMF
key = 0001101, decrypt = aQFBHJMDB@LGFJPBOTBZPBPF@VQJWZ@LM@FQMTJWKBMZ@JSKFQ
lVQ@JSKFQJPMLWSBQWJ@VOBQOZPLSKJPWJ@BWFGPLTLVOGWBHFUFQZOJWWOFWLAQFBHWKFQFBQFLMOZSLPPJAOF@LNAJMBWJLMPLEFM@QZSWJLMHFZPJMLVQP@KFNFTKJ@K@BMAFFBPJOZAQLHFMVPJMDBAQVWFELQ@FBWWB@H
bAQVWFELQ@FBWWB@HLMWKJPWZSFLE@JSKFQ@LVOGVWJOJPFBMF[KBVPWJUFHFZPFBQ@KNFWKLGTKJ@KTJOOABPJ@BOOZWQZFUFQZSLPPJAOFFM@QZSWJLMHFZ@LNAJMBWJLMBDBJMPWZLVQFM@QZSWFGNFPPBDF
eLQWKJPSBQWLEWKFSQB@WJ@BO@QFBWFBEVM@WJLMWKBW@BMAQVWFELQ@FGF@LGFBMFM@QZSWFGNFPPBDFTJWKLVWHMLTJMDWKFFM@QZSWJLMHFZWKBWTBPVPFGAZVPJMDBMF[KBVPWJUFHFZPFBQ@KNFWKLG
key = 0001110, decrypt = bREAKING A CODE IS ALWAYS A SECURITY CONCERN WITH ANY CIPHER oUR CIPHER IS NOT PARTICULARLY SOPHISTICATED SO WOULD TAKE VERY LITTLE TO BREAK THERE ARE ONLY POSSIBLE COMBINATIONS OF ENCRYPTION KEYS IN OUR SCHEME WHICH CAN BE EASILY BROKEN USING A BRUTE
FORCE ATTACK a BRUTE
FORCE ATTACK ON THIS TYPE OF CIPHER COULD UTILISE AN EXHAUSTIVE KEY SEARCH METHOD WHICH WILL BASICALLY TRY EVERY POSSIBLE ENCRYPTION KEY COMBINATION AGAINST YOUR ENCRYPTED MESSAGE fOR THIS PART OF THE PRACTICAL CREATE A FUNCTION THAT CAN BRUTE
FORCE DECODE AN ENCRYPTED MESSAGE WITHOUT KNOWING THE ENCRYPTION KEY THAT WAS USED BY USING AN EXHAUSTIVE KEY SEARCH METHOD
key = 0001111, decrypt = cSD@JHOF@BNEDHR@MV@XR@RDBTSHUXBNOBDSOVHUI@OXBHQIDSnTSBHQIDSHRONUQ@SUHBTM@SMXRNQIHRUHB@UDERNVNTMEU@JDWDSXMHUUMDUNCSD@JUIDSD@SDNOMXQNRRHCMDBNLCHO@UHNORNGDOBSXQUHNOJDXRHONTSRBIDLDVIHBIB@OCDD@RHMXCSNJDOTRHOF@CSTUDGNSBD@UU@BJ`CSTUDGNSBD@UU@BJNOUIHRUXQDNGBHQIDSBNTMETUHMHRD@ODYI@TRUHWDJDXRD@SBILDUINEVIHBIVHMMC@RHB@MMXUSXDWDSXQNRRHCMDDOBSXQUHNOJDXBNLCHO@UHNO@F@HORUXNTSDOBSXQUDELDRR@FDgNSUIHRQ@SUNGUIDQS@BUHB@MBSD@UD@GTOBUHNOUI@UB@OCSTUDGNSBDEDBNED@ODOBSXQUDELDRR@FDVHUINTUJONVHOFUIDDOBSXQUHNOJDXUI@UV@RTRDECXTRHOF@ODYI@TRUHWDJDXRD@SBILDUINE
key = 0010000, decrypt = |L[_UWPY_]QZ[WM_RI_GM_M[]KLWJG]QP][LPIWJV_PG]WNV[LqKL]WNV[LWMPQJN_LJW]KR_LRGMQNVWMJW]_J[ZMQIQKRZJ_U[H[LGRWJJR[JQ\L[_UJV[L[_L[QPRNQMMW\R[]QS\WP_JWQPMQX[P]LGNJWQPU[GMWPQKLM]V[S[IVW]V]_P\[[_MWRG\LQU[PKMWPY_\LKJ[XQL][_JJ_]U\LKJ[XQL][_JJ_]UQPJVWMJGN[QX]WNV[L]QKRZKJWRWM[_P[FV_KMJWH[U[GM[_L]VS[JVQZIVW]VIWRR\_MW]_RRGJLG[H[LGNQMMW\R[[P]LGNJWQPU[G]QS\WP_JWQP_Y_WPMJGQKL[P]LGNJ[ZS[MM_Y[xQLJVWMN_LJQXJV[NL_]JW]_R]L[_J[_XKP]JWQPJV_J]_P\LKJ[XQL][Z[]QZ[_P[P]LGNJ[ZS[MM_Y[IWJVQKJUPQIWPYJV[[P]LGNJWQPU[GJV_JI_MKM[Z\GKMWPY_P[FV_KMJWH[U[GM[_L]VS[JVQZ
key = 0010001, decrypt = }MZ^TVQX^\P[ZVL^SH^FL^LZ\JMVKF\PQ\ZMQHVKW^QF\VOWZMpJM\VOWZMVLQPKO^MKV\JS^MSFLPOWVLKV\^KZ[LPHPJS[K^TZIZMFSVKKSZKP]MZ^TKWZMZ^MZPQSF
OPLLV]SZ\PR]VQ^KVPQLPYZQ\MFOKVPQTZFLVQPJML\WZRZHWV\W\^Q]ZZ^LVSF]MPTZQJLVQX^]MJKZYPM\Z^KK^\T~]MJKZYPM\Z^KK^\TPQKWVLKFOZPY\VOWZM\PJS[JKVSVLZ^QZGW^JLKVIZTZFLZ^M\WRZKWP[HWV\WHVSS]^LV\^SSFKMFZIZMFOPLLV]SZZQ\MFOKVPQTZF\PR]VQ^KVPQ^X^VQLKFPJMZQ\MFOKZ[RZLL^XZyPMKWVLO^MKPYKWZOM^\KV\^S\MZ^KZ^YJQ\KVPQKW^K\^Q]MJKZYPM\Z[Z\P[Z^QZQ\MFOKZ[RZLL^XZHVKWPJKTQPHVQXKWZZQ\MFOKVPQTZFKW^KH^LJLZ[]FJLVQX^QZGW^JLKVIZTZFLZ^M\WRZKWP[
key = 0010010, decrypt = ~NY]WUR[]_SXYUO]PK]EO]OY_INUHE_SR_YNRKUHT]RE_ULTYNsIN_ULTYNUORSHL]NHU_IP]NPEOSLTUOHU_]HYXOSKSIPXH]WYJYNEPUHHPYHS^NY]WHTYNY]NYSRPE
LSOOU^PY_SQ^UR]HUSROSZYR_NELHUSRWYEOURSINO_TYQYKTU_T_]R^YY]OUPE^NSWYRIOUR[]^NIHYZSN_Y]HH]_W}^NIHYZSN_Y]HH]_WSRHTUOHELYSZ_ULTYN_SIPXIHUPUOY]RYDT]IOHUJYWYEOY]N_TQYHTSXKTU_TKUPP^]OU_]PPEHNEYJYNELSOOU^PYYR_NELHUSRWYE_SQ^UR]HUSR][]UROHESINYR_NELHYXQYOO][YzSNHTUOL]NHSZHTYLN]_HU_]P_NY]HY]ZIR_HUSRHT]H_]R^NIHYZSN_YXY_SXY]RYR_NELHYXQYOO][YKUHTSIHWRSKUR[HTYYR_NELHUSRWYEHT]HK]OIOYX^EIOUR[]RYDT]IOHUJYWYEOY]N_TQYHTSX
key = 0010011, decrypt = OX\VTSZ\^RYXTN\QJ\DN\NX^HOTID^RS^XOSJTIU\SD^TMUXOrHO^TMUXOTNSRIM\OIT^HQ\OQDNRMUTNIT^\IXYNRJRHQYI\VXKXODQTIIQXIR_OX\VIUXOX\OXRSQMRNNT_QX^RP_TS\ITRSNR[XS^ODMITRSVXDNTSRHON^UXPXJUT^U^\S_XX\NTQD_ORVXSHNTSZ\_OHIX[RO^X\II\^V|_OHIX[RO^X\II\^VRSIUTNIDMXR[^TMUXO^RHQYHITQTNX\SXEU\HNITKXVXDNX\O^UPXIURYJUT^UJTQQ_\NT^\QQDIODXKXODMRNNT_QXXS^ODMITRSVXD^RP_TS\ITRS\Z\TSNIDRHOXS^ODMIXYPXNN\ZX{ROIUTNM\OIR[IUXMO\^IT^\Q^OX\IX\[HS^ITRSIU\I^\S_OHIX[RO^XYX^RYX\SXS^ODMIXYPXNN\ZXJTIURHIVSRJTSZIUXXS^ODMITRSVXDIU\IJ\NHNXY_DHNTSZ\SXEU\HNITKXVXDNX\O^UPXIURY
key = 0010100, decrypt = xH_[QST][YU^_SI[VM[CI[I_YOHSNCYUTY_HTMSNR[TCYSJR_HuOHYSJR_HSITUNJ[HNSYOV[HVCIUJRSINSY[N_^IUMUOV^N[Q_L_HCVSNNV_NUXH_[QNR_H_[H_UTVJUIISXV_YUWXST[NSUTIU\_TYHCJNSUTQ_CISTUOHIYR_W_MRSYRY[TX__[ISVCXHUQ_TOIST][XHON_\UHY_[NN[YQ{XHON_\UHY_[NN[YQUTNRSINCJ_U\YSJR_HYUOV^ONSVSI_[T_BR[OINSL_Q_CI_[HYRW_NRU^MRSYRMSVVX[ISY[VVCNHC_L_HCJUIISXV__TYHCJNSUTQ_CYUWXST[NSUT[][STINCUOH_TYHCJN_^W_II[]_|UHNRSIJ[HNU\NR_JH[YNSY[VYH_[N_[\OTYNSUTNR[NY[TXHON_\UHY_^_YU^_[T_TYHCJN_^W_II[]_MSNRUONQTUMST]NR__TYHCJNSUTQ_CNR[NM[IOI_^XCOIST][T_BR[OINSL_Q_CI_[HYRW_NRU^
key = 0010101, decrypt = yI^ZPRU\ZXT_^RHZWLZBHZH^XNIROBXTUX^IULROSZUBXRKS^ItNIXRKS^IRHUTOKZIORXNWZIWBHTKSRHORXZO^_HTLTNW_OZP^M^IBWROOW^OTYI^ZP OS^I^ZI^TUWB
KTHHRYW^XTVYRUZORTUHT]^UXIBKORTUP^BHRUTNIHXS^V^LSRXSXZUY^^ZHRWBYITP^UNHRU\ZYINO^]TIX^ZOOZXPzYINO^]TIX^ZOOZXPTUOSRHOBK^T]XRKS^IXTNW_NORWRH^ZU^CSZNHORM^P^BH^ZIXSV^OST_LSRXSLRWWYZHRXZWWBOIB^M^IBKTHHRYW^^UXIBKORTUP^BXTVYRUZORTUZ\ZRUHOBTNI^UXIBKO^_V^HHZ\^}TIOSRHKZIOT]OS^KIZXORXZWXI^ZO^Z]NUXORTUOSZOXZUYINO^]TIX^_^XT_^ZU^UXIBKO^_V^HHZ\^LROSTNOPUTLRU\OS^^UXIBKORTUP^BOSZOLZHNH^_YBNHRU\ZU^CSZNHORM^P^BH^ZIXSV^OST_
key = 0010110, decrypt = zJ]YSQV_Y[W\]QKYTOYAKYK][MJQLA[WV[]JVOQLPYVA[QHP]JwMJ[QHP]JQKVWLHYJLQ[MTYJTAKWHPQKLQ[YL]\KWOWMT\LYS]N]JATQLLT]LWZJ]YSLP]J]YJ]WVTA
HWKKQZT][WUZQVYLQWVKW^]V[JAHLQWVS]AKQVWMJK[P]U]OPQ[P[YVZ]]YKQTAZJWS]VMKQV_YZJML]^WJ[]YLLY[SyZJML]^WJ[]YLLY[SWVLPQKLAH]W^[QHP]J[WMT\MLQTQK]YV]@PYMKLQN]S]AK]YJ[PU]LPW\OPQ[POQTTZYKQ[YTTALJA]N]JAHWKKQZT]]V[JAHLQWVS]A[WUZQVYLQWVY_YQVKLAWMJ]V[JAHL]\U]KKY_]~WJLPQKHYJLW^LP]HJY[LQ[YT[J]YL]Y^MV[LQWVLPYL[YVZJML]^WJ[]\][W\]YV]V[JAHL]\U]KKY_]OQLPWMLSVWOQV_LP]]V[JAHLQWVS]ALPYLOYKMK]\ZAMKQV_YV]@PYMKLQN]S]AK]YJ[PU]LPW\
key = 0010111, decrypt = {K\XRPW^XZV]\PJXUNX@JXJ\ZLKPM@ZVWZ\KWNPMQXW@ZPIQ\KvLKZPIQ\KPJWVMIXKMPZLUXKU@JVIQPJMPZXM\]JVNVLU]MXR\O\K@UPMMU\MV[K\XRMQ\K\XK\VWU@IVJJP[U\ZVT[PWXMPVWJV_\WZK@IMPVWR\@JPWVLKJZQ\T\NQPZQZXW[\\XJPU@[KVR\WLJPW^X[KLM\_VKZ\XMMXZRx[KLM\_VKZ\XMMXZRVWMQPJM@I\V_ZPIQ\KZVLU]LMPUPJ\XW\AQXLJMPO\R\@J\XKZQT\MQV]NQPZQNPUU[XJPZXUU@MK@\O\K@IVJJP[U\\WZK@IMPVWR\@ZVT[PWXMPVWX^XPWJM@VLK\WZK@IM\]T\JJX^\VKMQPJIXKMV_MQ\IKXZMPZXUZK\XM\X_LWZMPVWMQXMZXW[KLM\_VKZ\]\ZV]\XW\WZK@IM\]T\JJX^\NPMQVLMRWVNPW^MQ\\WZK@IMPVWR\@MQXMNXJLJ\][@LJPW^XW\AQXLJMPO\R\@J\XKZQT\MQV]
key = 0011000, decrypt = tDSW]_XQWUYRS_EWZAWOEWESUCD_BOUYXUSDXA_B^WXOU_F^SDyCDU_F^SD_EXYBFWDB_UCZWDZOEYF^_EB_UWBSREYAYCZRBW]S@SDOZ_BBZSBYTDSW]
B^SDSWDSYXZO...