Text Reference: Section 4.1Wikipedia Reference: Hill CipherLab 5: Hill Substitution CiphersIn this Lab, matrices are used to encode and decode messages. The ideas are due to Lester Hill in 1929. Hill's patented cipher machine appears in the image below.TUZOV3RLVWI8b2I8Uj1NRExDZE5GWk9sOkRRPko6XFxrclxca2hDQmBOXFxATmRcXFFIcXhIWE9DSVhXdEpmZXF1eVVTVHlbbEo+TUxeUGpfSVhdcFZmcGw+YWtGbEpbRHJZXFxxSGx5cUl3QFxceTtYSnlpWXRISml0SmZ0dGFlUkR5TVBNSjpJWUxYeVp5S2VMS2ZsUEJEalhsckt5TVBNUUJJbmFcXEo8XFxRaklqOnhrREBweVxcb2JcXFdKXFxNUjxPRkxqWURsX3VxR2hMR3hLP1FMYnRVeHRKeVBrT0h2Olh2bmRyR0F4dT1VU3RrcFhuU3lRWnlWeVRvP3FRQ1RMVHl4bnhyQXFyYHlMcmVqSTxxdTx0eHBReUFOd3B5ZUFVY1VKSG1SZjxNVl1NcEBYRXV5Oz15UUlwTD1uYlRrQEBNP0hMZHVranhRckFOdlFKUG1LQVlqOkRzPXFSO1xcdnhcXHlhaGxneWs+YWtLSXhBRGs+TWpIeU9ZdFJEeVNaZXJPbXY+PEs+QE9MSFR3ZXhjPXk/REtQPXZSXFx3RHhKPjxSTFh2WV1SUnl2S1B4PW15RHVqSEFOTnlNb2RvbHFqO0R5P11vQlRZU2FRdVVyOmB5PHBVa0BSUFVqWjxMTnhZWXhqWWFyRHBNdlFvb3lRdERKQ0F2UUVwbD1uPz1WW2lQVGV2QUhwXFxEdDxdd3FpSmpZcVJFdkRdalpAd1R4bFppdkFIcFxcXFxYdUxKWllXTlFzSVVWP05aeHBaTV5deE9dZW5eVEd5UD55W0BrRVhbaUZkXk5beE9tUT92d25dRGBqWXFyRHdrWFl0ZUBtYHlwa1BePj51RUB4bFl2UkdaWllkPXlvO1lzWW5kWEFbeXZrT25dbUdpR3hdc1l4UkduZHZwWE9qSkJ4QWg8S1ZEW3dna1dfeWh1RWRYYWdcXHFFamdIaHNFQXdXPFFzal1zcEl0TVlISktEQFlUYHFzbnV5Vz14dF1nRjtUW3dCYVVyPml0X1dmeU9kO11nVnNyeG9SY3FHcnVEUG1SYjtlaUdDZFFXdXV0c0FIdV9GdmdidnlDYnNlSXNna0VFcXlXeWdXU2lSSk9Fd3VyRFtGV1FIQUdHaWlFcHdGa09YUUtDQGV0R1dTPz1Gb1xcdFxceHRydHV4VXFMPFhtYEp1PU1LTG9uXVVVdFFtWFNsbE90cVZTbFhjbFRcXHBweE1TRE1MRmFUbWV1cmhzbWBuWnFVU1RYP0V3O3FUY1h1Z2RsVlxcS250WXZ4V1xcbVViWU1rUFZxSVNXcFdDaWtaQVdhWWx1XFxqaW1yRHFsPlRsS2RRdHVrSV1dXFxPaGZZbFVucE1BcEZZX19Pd2hBeW1Qbl9pXjxRR21zcE9VYmt3T01ERkNic1tYR2NHaXNyRGl4dkl4ZENDUF1IYUNCSXNES1lJUWFUO1hPPXhsSVByTGxUSjxuPnh3ZHFKVlhWeUVyZUVwbFFuP2R1RT1wOmhsPW1Xb11wam1Xc3BxW1V0cEBYQmRPWXlPPkFLOlFrWEVXcHVZR1xcTGNka3lBS2ZcXFJKeFdnZXRHSWxqYFBpQFZNcU4/WFBiYHdIUFlCVE49dUtjYG1eaXhnYG9bPU5FaExGYG5RaXVcXFlzY2R1SGhZV3hSdl1rYXV3aGFYaFhNYmBuUWVNQXBQZ1BZa0FXXkBYW3lWXWxYcXVNSHB3P3lZSFRPdz12R2xRUml3b2RLbG1tZ2RKYlBZbFlZa25jbmBualBoPmdkYnh5V15lSGFwPUlpcGhdXFxYZztpbGlnckRvdWxuX1RhZm5wdVp3W3Bmbk9fWk5xW05naWl4XW9WakZBXFx1UGM/P3hIcVpPb2VGWFtXb2BpT3ZXPnhrb2VjSWRFRmZTdmdxSXlIX2lOUHZoZ2ZMeFpyPmBrXnBmTnliXmhFV2lSWGtIb3VJYFtTR11XX3NlTnF3eW1vUV5LPm9lVmxkWEVXRmRDZW9zVG9bdWdxVGJZaG1xeFs7dkZXWXU7SGl1WEdfZ0JTRVJjdFd3dER5UlNXcmVndVhjSFN3c2VZck1ld1lPeERFaGJNV1JnUmdXZGxpQ2xTaFBPdz1DdEpPaEhNVmNvdEk/eD93Qk1xVlU/Zl5HZUJfZ0ljV1lPaVBpeT5hWF9NV3c7VUJzRUdDZ0dBaDxnSWZpRFZNWU5pUjtfaD5vSWpzVVNLWGJBc0RPWT89Ym1tc2VbaD53Q2RJdV49eD13aXZdQ0plSDppYlE9djtNclZ3VD4/ZmxJaG09YkZjZ2VpdFR5RUNbaEljVUV3RFxcVWY8bVI8R3I6V1V2RXZnSWlqc0VTP0VOa1hBeXhWb3ZSP3JEQURnO0RVY3JpP0U9d3dWV0NVP1Zfd0dwUUVjcURVV0N4R1hma3U9Q2NXUWdPdVddO3dFPWNOS3k9TXNjO0VtUWNKUUdDRXdvPXhReUVMbXM6YVltbUZvX1RIS1VWc0c+U1lwd0lSYWJCU0dvXXNbW3ZQP0lSXXhvV2RHdXQ7SXM6Z1hKd2RnY2NubWlwP1RRSXZVYWlmQ1VFT0htX1ZvZWRsU3k7O3lRSXhyR2JXc0VlY3RZQVd5Y2VvPWN5d2hzcUlMQ3h0YUNaVUVVY0dHPVk6Z1lFcUVvZVdqY0liQVVmT2dAYUg7cXZgXXNJTWl2WUU6X3dpa0ZcXEliV11WdllGVW1XXnlXaltlbW10S1NUZEtySFNXYFl4aT9GX19jTFV1UGV0Xl9iTHVpPlNzXFxZclV3VTttWGttdEY9WD5NRFpleTpdVz1VdD4/SFR5cndFZT5deVA9dkJFVl1xZktPaHY/SEJJU0dBV1pneWNTd2FvSW5RWERjdklLVlJFUkV3SVFDU1RPdkl3Qk9fclNLR3NHdF9TZ0hrVjxxeWtVYmVRRWpFWV9HZ0FbZ1lZRFFHQnVxd0BBQ1dteE9RcmJxVFJlSD5RcnNVeUBleUI/dG5DUlVldUxVV0xfWFlFZFJVYmB5aV5tY0dHVktdaUFRWT89ZVxcZWduSXJGP3hlR0Zjc0hpYVRId1RqUVNbX3lIZ0g8RXRxc3V1TWRLQ2VyS2hjW0loa0ZOc1dVU2ReRXJpQ2ZwP1RVWXJrT0lJO2RSSVZhO0NBUVZdW0NBO0V2XUlyP1NbZWRvV2NVa0JXbWlOVXJrcXI7bWdZY0dwPWdLaUZHaWZgP0l4Z0lrUXJPQ3lKTHZZdXJKXW1MPFZCWWtzVFdxVWxTaUtFQVdKZGtjaGpLYE95UVRaPFg+TGxFZWtXQHJRTXNxRVk/ZGp0QVZYXFxRXFxkeFM9cGtka0JIbElEbGxkWXBUVkR0d2hwdVh5UENZbl5Qakt4THR4TndUU0hcXHFyPE1dYVNrQU9KXFx5W0xUWmBsXFxBaFNHalteb2tpWnV3Z1NBcXFZYVBHd2dAdlo/bkV2Y1hgZ3NZdEJuX2lAXFxUXm5uaGVMZl11VmBIR2hTT3VhUVtNWXFDQHJcXEZsO2dsX1ZtWFdgQnZtZWhyb1FxY3hjX0BrVE5UZ2ZpdWNvY1RMT2dYRWRRX1lwP0JLYWl3VUVvTVdPW1hRPXNEU3hvW2Y6d1NFVXNcXFlzZ1lpSmNldldJYnN3c3lFUlVzP2VlakFZV3FpYUNXSk9CUENHYj9YXXNlXz9GakdyakF3UmN0TVd2az9YRXVyRldnQF1yVT9HU01Jc1F5P01oXFxzQl5HdVs7eVBXREZZWW9RaWtNY11bckhBWEQ9d2lfREtjclVhVHldZE5Ddk9VR0xtQm07Vzp5RUhVZGlXVVldaXNLRlxcY3VfZURpeVNpU0JfVWZUdXV1TXhEPWdnaWhCRVZKT2ZZZ2dbc1ZKQ1hDP0NBY2VFa1NYQXlRa1lfa1lRS2Y7Y0lcXD9FXFxbZ15vUl5Hc0M/c15hdl55aEBXVEp1SEdBVj1HRl9lQ0BraXdTVGJLY21zR2x3V1xcXXdHP1RTV2luQVRXdUJTcVduU1J4W3dQS1RuV2c6TUNrbWNBa2JOZ0hza0hXaVReeWdXX3Z2d1VjX2dUVUhpP0JVYWNdTVhoS01kQWxtdHM7PHBwWVJUTVRmUE9RYHJYdW9KZU5qeHFCXXlvTU1KPG9yTXByZU1UeG5IZU5VUXFgaXR0eHVKaHZrRE1dZWpTPGxbQHN4WEpiaEpGbXM/aVNyQVJMbGtvUUtdYE9haU1ITU5hcGtfPFU/RHdAdUpgWVlCaGtWYHlQPU5WWHhFQVdLUW5UWXFgdHVtaHNRXVdSQG1HeXE+VFBmQHFwbHNRUHJmVUxaPW5FUHdFSXVaUVNpcXBUTFNmSVNYTFBZPWxsPVFfWUtrVG5XbXhdWVJkXFxRO1xca0F1V0x5VkdJTkdFdGg9TUFZVmZgVFBETmJJTjtdTnRAU2F4UUdMWWJdcEhRTl1YUUJoTldIc3g+aU5OZEhQaFFGdGx2dk9mXUxeeVxcXmpmaFs/SXNISGVraXBZX3hOVl87X3FDRnhFXnJSQF1GSF1reFtDTl09WHhYXmRXP18+WVtNTm1FWGhZWWBnd11lTml2UWBASW1zP3FNd3Nib2FoQG9nWG54V3JIT3I7Pm1sdmM8eXBBdltxVmlraW1JT1o8ZmtnYHRrd2hMbnVmSGJEZ3A7YW9PYGBbeHZTYFpVPl5faXlGUGBgaVt1QWdSSW5jd2dXb2NLUGxLRlpCQGtgUHd5X2tPWFpPWXhKYHdiQGtxYG1cXHhvcVlbUnFlRk55T0B1T1h0b0dbUWdfXFxganhha2I/YUFobWpga1dvalNHaldecFpxXFxwdmpzYGN1aGxpcGFEQHFGaWdVVndoQG1UQGhGX1xcRk5cXEtJc1NOZEBGakJYdkNZY1JoZmZQXURfW3JXZWlBXV1ec0NZb0R2a2VWY1ZYYXNgcmNWXzt3bVtOYWlAYmBAYj1oZ1NRZHJOZWFucGhGX3VQblVAX3leYG1AbWtYaURIeFBfcmdPWkVmXkg+cGNwXnBQdmZva19eazt5dUFHcVNIXz9mc2Nec1dHcGpOX2l2aFhIcGtOcmxYYlJ5dkBwYEpBYVR5dXZwW0hRZUJmbVxcbmJdTl1mTmlMTl88T2tBVnJRWGZmQGRXaUVXQ1pbeDtTZ2xRREVVZEBfdGNVY0lLVFxcdXl5P0dKc1JeO1ZcXEN5RHNTQFV1TVFVaV1HYV9FPUtEa2NyOkdVbHV2U1NTVV1DPEtTQ09XSXNVP0NFYF9zSlFXSU9UUFlyeWdUcF9JUUd1c115Y29lbUVkTG1VUmtnQVVSO1FCbHNGYVFHSEV2Z1lGWGVJck14cnVUQWNyXT9IdHFjUkloX0dncW9iT2V1cHNEPj9iZHlzX1NXOlVGPW1HaUV0bWF3TTtlSEFEVUlpVmNkWl95QFNURFVSbj94a1NIaW9CdndJPFdSaVNZWWFZcFNzY2tGUGVkdFVTY290RllSZDtHTGlST2dzZEFYRj9oOmNSOjtmXm9SVW1FXWlIbFt0eD91dkVXcXdXP3VkU3NEOlNZYFN1ak9VUj1XZW9FTmdyXlVmbnV2T2VXaGVCWklYRj9XRkNjYUV4SnlmdlVZZUVFcV9CPl1UPFVJX2tpXT92Oll3VGNzTW1HOklyaWNHYUliS3VoV2tTbUt0eGFSbFdCVFF5TEl1SmtjOlVzZj9pT0dZdW1GZWNjcFFYdVRjcHhzdWFcXENXXFxuR3dUaXNhYHVNTl5eV19cXEhhPWl0YWFub1ZeaVF3Yj9wVmh2clFwQ0F2bE9rQm9fX1Z3OkBbbFZ4cGlxZHdzVlBybGZaQHBnSk5rVl9eUGFvV15tVHB2bkldT3l0UmdvV0lzQEFeSj53Uz9gZG9mb3ZpbmBaQFhidGdcXEdxXj5neEJ5ak5oZmZGYT9HZEc/Y2xpeG9fb3RQaVBXb2ZZX0NYeWdOW2RfYmtZdlZJcFlRZjteaEtWS2llZVVnb2VoT29TW21nRFV5a2djO1NSTndmZlN2bEVkVGdUVkFWdl9jZz1jUG9lQl12Ql9Ed2l4SklIUU1lO092R0dTRHl3QmlpUWtSZWdWeUdjWHdJWlNXU1Nib2lTTk1oRGdJTT9GQFVzOj95dFNWcG95a3dCTmtmSltDR015aU95VG1EbztIcVF5bXNzUD1IbDtoXXNSWmNjbk1nU1tzXFxrR3hXVE47ZTpNeEtVd3Q9dnBpY0ZfdFRlZ0FXYlQ/Y3k7ZEB3V01RR2Z5R0tBR2o7Z0o9U0lJdVZtZ1BLdEJFdVtFeVZhaXdnRU5reXhPRVpRSWhdUm95dHFlRkFLQ2Ndc1JLRUVNZVppSWg7dHJTRElDc1B3VzpDc3RzZktBSW9ZeUc9U1RtcjxDR1BFcmRDeFZ5VU9vZUpvZGlnSWllQzpPdUhzWExveEJPZmtBQ1k7eFhBdTpdSENrcFJkc1pVdGNdbz5Va0F5U1hAeVRRckhhd2Z5d0xVS1VcXExoZVRiZWxhUG1iXFxOSnlYPXVLakhVTV1vaGl4bTxTQ0VXcHVLbHFsa3VXRkVLYnBOX3hXbV1OQU10QT10ZGVRPkhuS2hPZUhTQHhNWWBqdER4P2hxW2RYPml2Qz13VlFNVWFXY2FtUV1uclFTdHlYX2hwVl1qYlV4QW15YGBYP3B0QFxcd2NhT2l4VlVIb1lkbUZ4eU9BS0BMT21Ad1s9TklETz1FVmw8aj5Ra1BVak48SmJJVGlMVGpdUWVFWXV4V1d1bGZocGFkVGJ4cFhQaz1EeVVZcWJJT2VMUUZZS2RpUTpQTV9cXFZDZHZrdEpIYXJeYFVudWpIWVlKPVNTaWpjeVBfXFxMTF1uVGlNT2FZQF1zakhQUGBzZDx4W3RtVHl4PHRZXFxAUktwUmpUanhFa3ZoUW95alJlVWxdbW5MVHBEWV9EeF94S21FcG5FdmFleVFIUkp0VkZJT1VAVVNIeXBxS0xdbFR5UTtsd2tAT2R4cTo8ak5Ba1JNa2dsbGlZdj49WFdAeTxga3B4cFxcWUtUREpGZU9deWpaSVluQE1YRUxsUWt1bVhxVVVAaUtxXFxXOmxSb21tXFx0bF89WW5wUHFcXHBhaEp2cVFbYG5xUVlDQVU8bG1laHh1SU5BYGxXTVNDcW08QFZqVUpqbVVpYHlNPVhbTFRIXXdvUXk9REpFbXhjYUtMRVBdcVVNUVQ/WExWbHRMSFh0SExYdWxFZXhBTFd2bXY/PG5yZHZOUG5FZXJGaEtMQ1thdl1tRGpnVWpFZEVDaVFxSXVbY2dxVGprVklHRF1VWWo/aFxcZ2hFU2hdXUY+XVJdS2JGQ0ZNV3Y+X1RpTWlfeWRNcXJnd3hBVWR0XVlkb0JjP2R1O3ZWQVQ/a1doP1R5bWJ2cWlRUXRMaXhcXE9XUmlyY0llXWtycD9GW3lnUmVZeXNIQXl1XFxrVGhtQl15Z3I7U1NJdlNHWW5NSG55d0FlWGxXVllrY0JnRnU7eG13ZnNxVmp1VF5LV15fc3U/dVFnVWtNSEh1UmFDWT9FU3g7Rk1nc3dpZ0Jvd3lvWT5zdV5JdGtJU2tRc3lZZGRTaEV5dGdxZUF1R3NNVXhZcmVjZFdnaEJFZWR5RGE9R2NDYk9rZz9hdldXRztRdWJvRVc9WGBrSUBBc0NvRWpdclNJVGBpRElPU0VzWXJLRG5LVXQ/RVE7VUE7ZExbc29jY3FDaExXVXVDZ1xcZ2I6O3VwV3dsaXZJP2NCO2NaQWVOZVRxa2hyTWlyaUlMP1RpeUY7b1NrPWNFXVJrUXhySXRNc2hcXGtCSVFFXFw9Y1htZk5jZU9HR0BHd2VBSXI9U1NPQmxxZ3FheG1nSHNxUjpjZl95VFtpZD9FZ3FxRWJteFB3RkxBdFxcU3RPSUdtW3VuVXVLd3lzb2hRWWdWUXM/b2NPV3JXYWVbUWRPeXg9P0h4SWhXR1NZdUVTRVdqXWlKd3RfT3VaR1h2UXJYdUd5b2lQQXlac0hvTWdMS0NcXE9JPGNTRlVlR0FmQE13SWdYdz1nVFlnbll2cUliUHlERFVybllWeG1HPU92Sl9FY2tUeFdmeEN3dlNVdUN3ak1TZE9HOjtGc09JSV92aVVVUUt0XktCTWVlRlVjcU9TdUtXU2lHRGFkdD1XU0FZRW90cV9TTENoPE1TY0NFP3lIamlSSEFVaT1zPEtUWnd4X0dydktJQ0lJP2N2WnFocF9oYVFVSE9UU0FJTE9XUHNzYEF4PUFzbE1CYHl3SFVUcElmST9kPDt0X11ZZz1GcHFVcG9Da01SXFxhRUxhVEVNQmtrZWtZZHVTZk9hdUNVZVJXU2tjVmZHYl5PaGI/V21xVWpZQm5JaGxBWWJPY3VFZHZ3Zl5DWWlfdUI/UmpJdWdJeWhxVlNzeXhFY009dHZRUkh5VUtNSV9PVztPY1tLdmNpRlRdZVs9VEdJZzpNdz9jVGBbWUBbSXY9eEptSGxpdExtVEp3WHllUlRDVlNTRUZVSERjdkh5QmU9RV5hUlp3Ukt3VmpnUmZTcmtwTztNS3N0UUA8TFV0WHBQU2dId3U8d0RxbFxceFdPeHhZPUpSQXVlaXJCUWpfQGtsTU5KXW9WVFlzcG1TSHVPcFdOQU5DTWtYWFRIXFxKUnF0eU14WWxUXXVWR0h2Um1OSFlYQWxrTmBfTldjSHFrdWB4WHdfQGBcXFVPaEpZbWBgXFxBYGxdWXZnP3Vpdm92WGZzYWVvX19UeWNDeHdleXZHVmJGcWNjaG87cG5iX2tubmtVTnJLUHJHeF1LcWRhQGtEWFtbQGVMeWVpPmxsT1xcc1ZhRVduUD9aRz9xX09lZ3hrVVBxQm9kUFZrd3dba1dnRVddUWZqUHZbbXBhYU9rUXFfblZkRUdlQGlkO29yO2lbXVBlTUBlY2d4U0lkREl5Z1luZ0dsa29yY19sYE5fTVBiRV9tdXh2aG9nO190R2FpZmlcXEBobztXaF9hd2FIeT9hcFJOY253Zz93b2pHcF9JdkBhYEtgdFdBWmdmZVQ/b1dnYm1ebj5vanBHdlB2eW93W1JAX2tndEU+eG5ZZXZxdHBOY0JBeXN4cUxOYGFvaGl4bFFhY2FJbltWcj5JdHRedk5gZUJPaUFxWl1Hal9HdlRBclJgZkdXXFxOXmtxTmJdeG5NT2dBcWpubl5vUWM7YHNjaGdiSGc6V3c7SWhgSWxHcGBEaVxceXhbTkF1Um9kcm5bQT93a0ZxR09rWHl0cFBja090Yk5qcVBjQ05cXE9WcmNBcVV3dWVpdEVRb0BgY2RIeFVvZUVxYEZoZmBfWkBmbjxnaEBPZk1ebmJOZGxwbUFOd11RdWRIYkxocDthX2FAXFxlaFpVV2FUR3d0SWRqQF0+b25UV1xcT19fb091Zz5idV9sTkF2UFFbdkhuSEBwSGhhXWB2XXdhaEdlVFZec2FxUj52Tz95b1BdUG5zQVZaS193a0Z4XUFbRk9vYkhkWHB2Pm92Y2FdPV5mSE5wS0FiP3BzT19tPFddVVFpWFZncmZqRWdza0JadVVrWVJCeXJtT0V0ZWZrXWdeZ2hPY2d4R1RzS3RdRUJVWXlNY1ZSeXVRWXNSYWlCX3RJd2lHXXVSPVVAb2VAO0RTcUVmSWdMSUdXbXNtS2VoeUhOaWh2c3ZRPHBiRU1FXW5yaW1aUHhtXWt1YXVsXFxNd0BYWHlNVnBTSnFSeDx1YmV3XmFwVFVyUGRRPEBub2hrbmlvXFx4d2VNU0ZtWEQ8VXFBV19xcnNBVmdobDxYVVNVc0NkS3ddbz1lUkZdd2ppWGNAVmxlS3RcXG1iWFhfaWtKZWtEdW5ScFRqQG1RdE12UFdEeXhEbW5tRWx3YFlbUHJyVWpAUVdKaHBAcXBseExbcFN3TG9RZHZAYVZKXU1DXFx0Y0lyS1hKQz1NWER3TnFweFhQeUhSXFxkSnVFUEJ5cUtlVmN0bnF4V0NRUFBgbWJZeUpBVT89VWFRV3NgUEFZU3hdVktMZkVRdlRoXFxkP2xHQF1jQGhbT2JIb3ZIbl5GcGY6aGRORl5PR2Vlb2FhYGxhaGlMT2NUd20+aV88PmpfVnNyeGRRcWpaUGBeYGddPls7WWBaPmRJZ1ptUGFlWXdYb2xdWF1cXFZgQ0F2Tll0ZU5gS0Fycml0W0ZeWEh3Yk5fTnZlPnFnVFFza2dlPldlWkZsTXF4Q0ZnQ2FadmZydFZoZEdyQnlmPV9lSD9cXFdeZGBhYV5AeGBeX3ROWlFvbVJveG5PeFtoXU1hdnZocUt2ZXhoZWVvZU12cU9RXk9QeVlwcWh3YXBeXVd2Wm9Ja2FYaWpgcWJYYl5vZGlnZWNpZ2ZYblpAX1dhX2ZwZGxHaW9oZ1NWeFNhcWtXZWdZbWA/eWxhbVZWd0RveU9ud1pPYjt5b0h5bjtweGpPckZWcUJxdj8+ZHlAXU1uZkBeX0BHcV1HXUlWb2RwZz5IYEpJZGtpanRZYGxxYTpIaGNJc2tXXVJBZUNgc3hwcFFgXFxDX3lbcG09VmtEaWJab2F5SVpFRmBdQVxcY052O29xWXBfSUhtd3ZlRlFwOldsdD9ldEhGdVZdY0dqc2I/U2U+QUZJb1lJS1JbVVQ6PUJkX1lMVVVKP1VNd1dRVVRGWXhGV2RSbWZDZWRvU3lIc3ZkW0JseUdTX3lSW1NwcVRtbXJDb3RgZ0ddRWNOQ2d4RVlcXFFYV2tIY091YFl1ZFVVUXVkO19yYXlCQGtYcWFiSz9CcENJX1dpYl1CdztXVmd5XFxpd0xzZlZxQmFPd3BTY1ljWGNVc3BJYlE9dWhzZmpTYm5DeFd1R1lpVVNTSUdxWUtldkRRaGBfVUdtZTpDeUdXZEI9RVtNQ2BHdENddERvUkA9dU5JRWdvZTtnVldXaXNbdEptY1pDYmN5SF9bQmh5VktneDtZZFRBY2ZLQj5paVpTeD51VVd1V3BNU3dvcmhdSEdRaD5BV1dheHhlc0N5VD49SXBdeFxcbVhQWXNxXXdvV1Rba3Q9R3hXW2NIVUQ+X1lwWWV3U2M8O2NpX2Y+ZXRyZUdSP3dPc1Zla2VCYWdGV3JdQ0NVd1NqX2VMcVZmdUY+Q1JnR1hjZ1U/ZVNoPURSdWNvYXJ4a0dZSVVWQ2RtUWVCYUdFa0ZfZWVlcUhQP2ZZS2Rib0hYb2lBX2Q+W0VEbWlwO2lOT2VsX2M/RXlzT3VGeXJ1W2VGbXhLd3NfS2dEYUJLO2lgO3RKeUNvYXJLR1dBbWZEXUdAW0lpVXhWZ1RIQ3hSYVN5SXl2UWNeYURpd2loZ3R4O1d3V3hhPXhiQUNObVRzdVVTS3NEPUhdU1RFY3RrP0hIQ3VpX0JTRWZuXW9mUWtSWVZDbU5sYWRxZ1psTnRsWXJXd3NKaHlIRmBEWHE+PmRZPnN3aWViVnVTZmc7bmt1UGZzSF1XeHJBWWFVRnNRUV89R15fdmc+aF1TaFpAeWxJeVptP2xcXE53aFdwWGdpSl5uUGF2R0d0P19kdllxPVZaVnBgbllhbW5tZ1dvbmdhUkFaVHllb2BeXFx3ckZQbVlQZERncV1uZTo/YWM+cDtgbFR4ZGJXeWNwZVtpcl1PXmJJcFppYV9WXUc/YlVGdFBQa2FHalFYbnJGX1tgYXZfeE5eZz1eaGk+WkhWZlBhaVdvXz1gXFxpV15sTl5tXm86bnRcXG9yS2BzbmBgaXZ1RE9cXGBHczxfcFJIbkZOX25BY1BfY29QbnR5Z3NPW2dZS3lFRXloUG9UW2NWZlVXbW9pQmlYQVV1ZWFjYWVYc2dXcENXUz9YWnVXb0F0UmlmOkdURTtnWG9UbE1VWWNTO2lGRnNkTT1keUl3Um1iR3dJU1lpX1lkbVVZbVtZU09WPW9EV11ndUBOaklvRWFRa0xRWGltUV1LdGhVWFxcVnJUeFh4cWZ4SkVJWVZQTF5VdGU9ckVBS05kUUI8cHNwc1JRTWlcXHFEcHlSWVZzRW9hcEo8UFNkXXRraHFDaVU9RHQ+ZG9OPHV4ZFVaXXZabXlaRGx5cFdnVHhVSXV3aWtdSGtEdW5uaVR0PVNKXFxtO3lUZVBzc1lPV2BKQFhTVGVXWHBzSm1XbVxcbndtVll5THVdanFlc2U8bk9UdHZRbHhMbUtxTnlFdHV1b0NlWXM9dExcXFBsSGtyZG52cFh0UVRmPGpuSWtbZG9KYFFMXWpHXW1iVHFkZWtvWFBLVG1oSU5DQFVhRVRJUHk9ZVg6SVloaU5abFhdVHVjUW14TGpbTXFlWHZIcE1vTVNbYFBQTXNaSHFoUWthSHJnQHQ+bE9rZFh1eWtZcXFQTUw6dXV1aU1bWU90UVlVUXhVaG1MQHBgQUpdeGtOcFdHQFNDcVRtRFBBWHE6UXNDSXFKeUo6REs/ZGtsRFBPWHdBTE07RUxTcFNgRnBAV2RUR2FieV5YeVtjXm86YGRyT2xAaHRkeWdoeGlyaGhMaXleYHlzbl9AT2lXZl5laWxBT3Fvd1pDXmxSaEw7ZGk/VF5ZeVhNWVZzZUBJdmdJVWpZY0VvZF5XQztPdkJXR151aVxcY1JZPWN2XVVta3lEXXRKUVVOZWVMRURFX3hlP2VWY0JKWXllW0RxSXZKUWQ+aWRaQ3RlR0RMVXVcXFlTSnF5WGV5Wz1kPE92T1d0QnFpRWdGd29FRkl2TktUXT1zbk9lZEVoZGVnYkVjcWFScWd0ZUlCakV5X1N4T3FnVz1Dc0VHYkNJP0djYW1pXWtnaEVUYmVjX2lUa3dpTXdmWjtoZUFzQlNjQkVGcmVEbkVFP2tGQVloT21pR2lWTnl2Zz1yZVtEST1Td0NmRElHZ2lJWUtVTEd4a2dmaWt1RFVGRll1T11YXzt1T3N5bGdTOmljSHVGZVlGVHFVY3dJQUFDPUVlUkdlXFxpeD1NZTx3Zzo7RmVVanBhTV5BbEtJa3hMbEFNTldVWWs9dTxEblxcTXc9cHNZbVVmZHFIUGtQPVNoPW5iWU9CcHhwQFVrVVZVaExndU9vVWtoTFZeYG1vWE5MUEpzaFRcXDxSRFVwRmh3VVh3PnhMSGFKYj53d1hwVlBmdGl3T250R252dnBwUWhwXk5cXElfZ1BGZWpvbnBpXFx3UGh3PmlPXmpeQG5yZmZQQXF0SHNCeGU6PmZDeWVLbnFLdnZMZ2ZARm9LcXdgWHZeSGxUcV49b2R0P21Pd2dLdmZtWV9RP2BGQXc+cV5XUVxcZ1lidGZrcEdfcHBdUG9qZW5lXmBbPFBgXl9aRHBkcWZwX2Bdb05IQ1JMP1VKPVNzX0RmR0JZa3RcXHlneHFHdVFmTkdoZlN4Oztla19VVkliQVF3QG1lQGdWYjtFOlFJO2lVZml4PmdWVml4TkdmcEljUlNydE9FQUlHb2FEPmtjWVd1Qk9lWGVVP09kTklZRGdyTEVFX29mVVVjU3NGRk1kYF1oZ3dDSHdWQmdTbUF0aGVXQz1GTWlWO1llQEFHS0FTQz1icElDbXFka09SREt1blt3c0NnRE9CbEVUP0d4QlFVbWN1RD9WYVlGPU9HYVdoWklSUXdoR1N0bFtiUUN3P11DYV1YVnlkWWFHY2lEWj1TW2lTUlNJc1FGX2FCQmVoWU1TXFxXZmRtd2FDZU9bdnddQ2hVVlNfQ2JNZUlJZVJfSWNtVTxHV0hFZ2ZBVlVVdjpBdFlFRXBPWW5RWHhXcmFZRFJLeFxca2Jzb1JiR2VPaXdpQURpO3V0U2U9V3ZJUXlxeWh2R1dsU3U/R2RQY2dqb0I/VWZ4WVZbPWRGd0lLZ1VLUUlMeXhAdWdyPXZLd3dYZ1ZWa2ZocUZib2Z3V2daPVVcXFdyY0NZSmdjV11VR0V2UGlIbXFpXVlUd2tCb29oRWFXRWd2Yml3Uz1FV2tGXVliXFxhZGNHaFpZT1FAVUBZcHR4U0ZkTXNtTWJ1WF5lVm54c3lBcnNZTEp1VnZxVFFMTUFES0hdd29RbT1sT2FBb29QU014dFBYTWBdamBZVFhdbmdpdUpocHNtdFJYWT1pVWs9TmFVamNBS0lgSlt4VF49VmQ8VVJ4TVBZTmlJb1A8V1FdTFt1Uz1QT0Vtb2xgTEZdTWdkdVhoWF5gSnR4V2NZV2VlbFtdVEtVUmtITEBYVXZQWVZRVVc8TkJwUnlZakhUS2REczxES01sVWdwc2ZAcGppcG9AVW9gS2dpckt4UF1pbEpZdWNsc1o8U049dWBweEhYbUVcXFdqaExndU9KSEpNTHBcXGlUQllPOlxcT2ZwblI8Tj9MWFlBbUlkbmt4eGpUb29ocF5VVk1YclE8cEdsTVxcSFJBRW93YGpUWFRMQFNrSU53eHRlXWpOcE08WVFYWUtrUUxXcFJkYUxNUVBDWXhATE5JRFM+YFZcXFRObWFRYkBKST1VdnRNYlxcam08U0Nxb2BATVtkVmJUbkpxeV9Vc2BlUkpMU0VEcklYTj5QUl5RVmd1cWZ5b2JFUHBIS1VsbGtBcUVxd3RUdlpoanNJck15Sj5tcj88WXB5dVM8c1BMdkV4b0dxTl50dEhNUHd1d1FdWEZBcXN1d0BMTlhgbTxVUG1ZcWZpbXlYcHFRT1JdT2dRTFdQSmpIWGxtV25Yb2JBeUtReGBIb1VAbl5VeUxEVXBQakxNc3BNcHJtUFFQWUtocGJJeERwbVRFbk5YeHFMWUtobXBVT0xNak5USkpUdENZdktsc0JpbUtBSm9Vd3JRS0VBbWNAUVF5UFxcdHZwZXJrbUtaVFdTdHZhQGthQFBgeXc6aUw7PEpRVE1FaU5nRHJaQEtjSFBLaXZOTHVnXXJkSU9CbHViPGtCWHNGbFBRPFFoPUx4aW1lTFVFYG0/RXg+SUxZdVhjVXlTeFV5bG90PXdkQFRJRWxMTGpWaXRJZGtFeG46RXdJVVBnUGpvTFR0WEplVFl3YHNYcXdNQHZjVHk/YG1NRXhsYUpiaE5qUVVLeXVhRU1lbVNrZFBHXFxOUklZZ1xcclVMdnNZbGhlS3E9S2l0dEdsUHBZblphbGc9U3NZT1RlcGJweENBaj5hbnNUcWFxU2xRVl10T2xRVklxVU9sbUNdbkZNdldxbGZcXG0+ZWxKT1xcbk5vZkdzZz5rbEljZmdlPWBtU2ZzcWdxYkdhX3FgeWdad2d0XFxGdkxHYV95XFxAR3ZVQFtYZmA/XnJgT11gSHlpYXA7QXF5d3c7X1xcSkdtb0hzT0Bma0lgWHBobUdlVmZ5c3h0am5kT2dsYEBlXmB3UFZtVldhY2BkRWVPb2Rea3JHaWQ/PUNJY0N0bUJuY2dWPWJOZ1JFQUVSaXJgS0p0VW5cXGBRZkxSXWFQXXBqXFx0UXhlT2VxTV5sak9hT3lxcTxET1V0blo8UXdla3V4UUNMbUtNdUVgbENsVkt5UXB4V1xccUtCTHZpdXJlRExvbHFDWWtecVRYXVZTdEteYVFMaFZrZUxJUXM+VU5faHdHWXhyYUpzdVlmaE52VU9KUFhVeExjXVhEeHZEaUttWE1wQW09VFh2XFx3eHFXO1hOeWFRV3Bwc2h5ZD1NXWFqR3Bzc1R0clFrT2RvSG1tXjxTQ2xOXWVZZnlvWm10YE1MbUhxVmRPaExTUnFzQ11wXFxdV01sT1NFdHRcXG1KQVdtQFRIPEtITU1vTXJVeFhwbXc+SU1rdVRaZEpfQHFvZW1vXFxUW2RqVlhyd1xcaldocVhtVHU9a0V0WWZ1WDpkU2RVdmBkU15tWXNla05wTUdpUlZNTktcXFFFZE5vXVZqWHdXTXVYbG5CRWN3P3lzR2lkWHNuUHd5cHFaZmxJZ2BmaHlqVmtcXFFsVz5pZ3daY2FgbFFuZk5mVnhmQ0hmd25mdkZrXT5sUGFoPj5cXGteaz5PWjs+b21gX2ZJblpeX1l3b2t4dG5XdExgaVNPZ1pOc2heYkRxZUZBaT5edUhuaHBAZ0lRX1xcVmx0b2VXUHBxT1dlc3NtVFtbUmw/RWNndHRnc0s9U3NtcmxrZU0/UmY9SXVDeGc7Y3c/c1RHV1pJaENNRGNVd1RtR25jaT5HYj95RW1daE5XaEU/WXVtc2hzV1JlSXNzWGNPaVNJd3RDVWlLdEd5RE9FWWtnUmZ3dFNzY1ZtWE1DcnlXc1lFVEA9dT5xRFRzQ1FRQ25FU3BfZmU7R2pXR3BFdlJ5QmldRVNlWXhXQ3RhZWxndUxnck0/Z3ZPc0JpeU1nVnBRSEdRR2Z5ZjxrU0xNaGRDWEtjYmM7aGtnYmJDYz1JR3Flc2k/VGlvV3dtYmc/ZUpFZmlpdXVPZ0BVWFZZZV5Bc1ldRkNheVRxY3J5Zl5DQ0FRQ3VnR3RDZ091dFZPQnZ1RFlxSUc7ZWZ3RmZvdE5NQ0Y9dW5RdzpXY2RnZ1JrRGZLVlFRZUt5Z3FFdVptdD9fc0ZTRE9pU0dnaEZfUnVRdk5TVmw7dGlTV2RZaVFFd1dTTlNIUlFBVVt1UGdAVz9VUmxJT1pNTmxlT0pVdmFVcUF5bl5pVk1lVDtwVHZlbTtYT1BdcEg8bnJETFNdcT5Ec2Bdb1xcaHNJSG1peHBHXFxrTFF5WVxcc2JFdUdNdGk+WkV2Y0NfYjtfZHFQcVdxYTxgbV9fcUJgbDpZeFRwdkxGd01pbUxvdT5HbHJ5aGxJY3FedW94dnlna01GaUN5aHdgdXZmW0RwZEZhW2t4akdJd3JRcHdGbUhvd2VHcnZPb0xGbVdoclxcYF9HRmFxSGd1WVxcUEh4YF5wSXBiXkZsU1l4b2F2Rm90WVVWS2hlYUVtR2NQR3lRc1dLRWdQY0VqV0U9SXhTc1RjdXRhTVhnUUJrXVhWUVc+Z2RET3dhZ1lVQUhjV3dQW0Z4V1J2R2dieUNiX2N4T2R1R2VUX2hAd0V0W2JTSUk/VUk7W0c6a2hMS0NoV0VKb2NIbXdjSWg9WWlRTVV2Y2RjZ2I+c2RkW3JPbWdWeUJeb1N4S3Rbd2JNUXR4Y0lpdUN2T2huW2VSUWZyd3RbV3VPb2VuP1Nka0ROUVZ3V2hAd3Jna2Rra1JxV0N4S1l1Q3ZqTVddUUk/b3dqR3VsO3VqZ3Y/XWVsc3Rla0NMTVhbT3hoPWhsQ0V2V0hGVVdzPWdFZWRBO0VBTUJUa1NTaUZFX2Jwd2dQdXRUV3JEV3M+U0VhW3VKaVZxQ2JWXWI9S3ZdZ3RGV1RCa3NTQ1ZzeXd0ZUNQXWhIT0hPdUdsRWdDT0dVQWl4Q1hmb2NPU0dxQ2JzU0RWY2haRUlLUWNPeXd0ZWZCRFVVPU9NUXJYaEtFYVJpbXBZXXZYPHFxdUo+eF1rZ15Mb1xceFh3b2h3b2BnbnBnS2lkW3heVkd5PldfWlFeXmBeblFzSEhcXHBHYHY/aXJoWj54ZXFvaEpQcHdgalp3dk5eakFoY1V4dDtfX2N2b1xcbnVWYXF3UHJHYVxcUHFkUVZrRlhhc29dX1ZcXDxBaE5pY1J2aHFBeUZga19fb1dAanNGXnZIY15hZUhGZUhHdUFPc0RJY05XY2Rfd3I+dT54eU54dUNvcHRvXWxmcFZWdGZ3cnBBW1NHXFxWZ3FSd2NQP3dKcGZtbnk/SHR0d3RUdlxcU3dpVE9mcElmZHZwY15ubmBcXE9xbkQ/Xj9vdFBJbExYZ2FxXFxSSXBocXR5aV5tSWxlWHhwSWdSSXZOUG1HTltreXFORl9fT3BYeGQ7P3ddZnZoRltwSGdSVlt0dnc8QV9fR19OUWVUb3BGQHY9eFpLUFpIVnFCb1tzRnU8aGtzV3luP15GP1xcam9jW2ZwPXhxYnB0WEhtYWd3bHFnR0hgaXZqZXB0cmBmYFFecWBvakduUj91amhzW1h3XFxOY1FPa1BGX3FWcEV4cnF5a2dIaDtWc2NGY3NeYjpxbmt2XFxuaGE7VnlGYHJEUGZbUXRlSVxcU25meV5pZUhhX3d0bm5lWUd0VHB3aFZyPm5fUkFrYnBpTWFeOnlcXE14YWdJYGtBZG93b3ZXcUtWbHJWZ3FQcnNna01xY0luYmw/bW1uc3FOc1BudnR4XFxvTmZOPnFHUHJXVnF3TnlCd2JhZmc9b2Zzb2lNbl9aYWxVYV9dUWNxXmR5SWJzXltbX2U6QHNwX3NsQG1pUGhBSHFUYW9GR2lSQG1seXFMPmFBYF5nbnNKbndSR3REQVpleXFwQV5RQXV3V3FwYHdzR2lWQWBQXl08YVxceXFcXFZHaEBXZ1BOeEVeYVNhW2tRW1pJXW5vXz1YXXFHbGxmdnBIeU8+WnV2ckx4YGFQb19AcFhhcUlxbVtmcUVOdHNfdWhJcmR5XFxeUGA6SHZHYWFZZ2FIUHZyYG5LeWVGaV1eeXZlYXV3b1pcXHBfWEF5Slh5W2B5dXh2Z3lcXEtQcD13ZjxvdFtAcXZPWj5OZHBGZkNxWlVHb2JoaWBIaUdwZURAcFZXc2BmbnJ3Xl54Xjtpdk5oZUJxbUtRcVZHXFxxcHFSQXlGUVtaWWJTcGBRYWZzeV13ZnFPR190WW1mP2BoeW1gV15bYG9XX3R4R1xcXkleTkhkcG5eQXF2WFBrPHBeRXF0blB0Pz5cXGtTeXFZdVloW0l3Vjt4eF1HPj9lV2FmSUlJS093ck1jbUdicl9yWHVHR19kdnFVaVdGPUVjVkloUm95bnNUU0lob115T19yR1VVbElSYEVoY2lJWlVHaz9TU2FGW0lHUF1DaW12dV1VakFoYTtXcXNUckdZQEN1Rz12ckNkRENHcWdnTFloVk9oU0VUd0tibGdSW3dWQ2l2WnFGbEdIX01UZztiXFxlc3dLQnZLc2xNSEJLaHZpeDxnWHFlckNTYl5tSERDSVdNZVlXYm9JclJlSEl3UmxHSHV3UlVZWUJFSUs7Qz1nZHZBR15tVmBzVF1RR2tvdmNJRmpLY3h1ZUBNSG1xeGE/ZDxtcnI7U155SU5heUh1Z3hzcmdrUmFfZWJNc2xRV0RncndxeEFDd2hzSEpXVWlVc3NxSTxLRWNzZlRPZFV1VnZnVUlRSXhrczttdFA/aWlvWUx1dGc7VXZxZ1FRR2RtQzt1c1VxYk5HeHFVc2JxV1NBVGk7Y0ZtZVdPY0RtZTw/WDx1c0VBVlttV1VVcng9RENzQnF1aD1pVEJFaWdlUmVbRWNpd01HZWlvZ11raXJvRUhTV0NZSEVHVmlXQmZVYj9xZ3VleGk/dVpVSVhJZG9DcnBddnhRV1lBc3NZdzs7dGBDeGdVeVFdYnJRdTpNQ2JJVU1hWHBPZGVnZVZVZWNDUnA7eEt1Z0xpdk5XeUhNZmw/U3NDU2ZZdkBvUj93R251Z109RGljSWxNWVRlZ3lldTpndE9jZ1VfQmJraWU/SWNvV19JeGZvaGFBUkBBcmphZWZhc0BhY3E/ZFxcX3JIWVRsYUJ5S1RlT2docVR5ZVZ1eHdaPFBTWE86cVhgRGxHaHRAcVRKbVFDbGpNbVhzbVhEWU9VcWxreU5XXXdEdGtvSFJNRXJHcXlEVHhlSW5NTVJAPFRCdFQ+YVI6dHFgXXZwPFV4TW1GTHlaXVFoeFRySXBzeUtmeEo9VFRVcXFlbXA9RXFjQW95cVJTeXQ8cFh5dXNSbHZTSFl1RVRDTXFocHZkYG87QHNQeHNJPUpsQXBAeG47VHlDbU9vPHZ3eHVIWFVITW50Rm9VYF5zVm1mR3FERmN2aXlrVnRyX3hadltJaXNVeWc8SW9raWlqV1pFWG5Nb3hbdmY9aGlIRl9hQXZzcXRUSHNpaF9CZ21ATmd2cGxBRnZOQXJ4Zl1DeW91eGJJcWpseWdZeHB5VltZeGBocGhacXdzaWxFZl9deXZbSWRDbmZRRndXSXdpYHRkcHFNZ3B2blpAeWNzWGh5UWtrX3d5SFtjdltUQWZbbl9wT3VqcGBpd3lfP2NzYWZdR2g/eWJNQWhVcWVpVlpvZ2VdWWxqSVp5Z3I+bl5wT21KYGFhdl1EZ21hZmtqeG9cXF9wdz5xPllrVk95PGB0Y15udnZnc0h0XXhmTT9qZWdqZ0lieG91WE5rQEh5WGZ0bElgPW55bmdyRVl4cHlhW25qcEBqaWNUQWRXYXZpP1NQQUlzT1NaeUZaYWZed0JyZ3lVUWd5V0JiZ3NqV0RVT2NMWXhwQXRkS3VnT3dTRUd5TUhKY1hgT1N0c1M6SXVpO1Nrc1RsSVZfS2lRSWl4U2N5YURidWNoSUhFQXlFX3JRc0NCXUlQRXZfRUhKV2lIQVdHT1NTdXNwYVVoV3hqYXR4aWRNS0lfYXhUZWhpV2JhcXhpX1dTQ1ZmZURIUXRhS1RXb1deS3hnaXZ0b0VGYVJOaVdZYXdYaXRjW3Z2aWg7U1lTd0ldd3lmb1NTcXlgdXh3d1Zub0c9cVZ4d0RSR0ZyZWY8eVVzcWhkWVdvYXJFO2Q8a0lMbXdUd1U7U3Jjc2c9TXN1SHRjPFg9aEtAYHlcXGxXOkx1bk1MbHlLaU14dmh5d3hUYml0amFYPnF1PXRzQ2B1aHFXTklObVhMXnlLcElWU0BXQE1MRm1vXFxAeG5xcXJAbV5sWUxtbHBBS0VAeFlRUkh0ckFEbWpgVHlpeD5IcEZZcztsVFQ9TUN5dTp4bndUU0N4UXl0anVUUz15WVNdbF5BUlRka0Rsb1FEUlBUUDxJbVY9clBsUF5AUUlAT1VtcW1EbEpAbVFdWWVZT1VpckRseUVFdWttVVt0cUtZVHVUVF5AeG49dldJcVs8eGJYc2xka0ZBc01hdF5McFlhUXdRUHJBVWtpbklNVGhlc2w9U2RQVD9IVWRYTURhc29sU0s8U0ZFUG9BbE1pVndIWEdUd1xcXFxzXFxlbkRVeF5VcXdlVkxRc0RYUV88V0xJVlVIbGpgeGpBUFpsS11NUnRkVGBJeVlZbG5NWF14bGZwWD1cXEpQTVlrRFA/eEtzZEo6WVl0XFx2TlRycGRLa1hYSEVqWnFOS0V4UEBNSmhyXkFxdUF0ZlRrRlFyalB0UmByUUFMOz14P3l2TkBtRklSa01rW1VNSWF0WVxca1N4VEpBTWNcXG9taHBfSE1eQG9rPVhKUHZwbEw6bFJZXFxscEluW0RwRWxPW2xNQGBtbEBScUVKYUBtOz14YkRYaGxxbFFRW110XFx1cGhBb21FTnc9UUdUUmBxeF9AbE1VdlplclBkVk95dGFZS0JFdFNddW5Maj5BWXlVc19tUnZtUTx1VmdQWGlhVD9sS1E8bVtBTF9BV15NUT1IVDtgdmtwc008eWlobD9wS3RpbFJJTWw9eWB0bmJgSnBEdUpwSl1sbFVBdmddeEJMTmR1WUhob1dwVFxccG9aXWpPUFFocVJtXFxLQE1ZV3lzbkFRPz1qakRWPEhYU1ROP2xUSlBOZDxqO215WGFxQmhvd3FUPHRPa3B5YFxcWHlVeTxIb11hTmVIcm5Fc1R5TXFhUGFAV1hEbWpAc0JwSmFhV1ZQdk50cVVsbFVQcFZQcmldWXBdWFpQeERMeEtwb0lxcl1kd1pkSmBBU1M8U1tFU0xsVXNxT0dMc1VAbUdYTFZQdnVBclpAVT49WERBWGpcXFNhUHdFSEtxYHlxXWxDYE9neE9wYHlpWG9oRFhEQHd4aU1WUFBucG1AXW1cXHRrU3RUa2VMSVlXbnlXdnBUcHlSdmhYTVhQYlhPaUB0UkBrRkRNQ1hxXnRuQnBLUkhOUzxYRDxzdmBrZmFRX01WZkVSUWBtZXVuPnRvZFBTd3BVc2RTS3BUaVB2YW1tT11waF1qUHh5bmRqZ1lYRF1uY01OZHV3Y2lteG12bFFZblB3ZFlrSlBUPG1QcFl0cmVQR0B5U0l2TlBYbVxcUkV5WWRIUEtBaj10WUQ8UElVVkJQVEZgbG1hV0NYVD5IcGBJTk5FcHRNU0RIWGBcXFRWVG5PXFxwYl1XQk1RbFhNPFRvXT15aWhQXT10SnVVQnRLdXFsWnBYaVhNaGVvS211O0R2YE1VTXFSZz1OQExRP1VNSGRUX01RP0BWSnhubHFTRkxyQFRSalV5TlFteVxcUkR4bW1Nak5AbTxhVV5AUT1YSlhEdmBAbFxcXFxKYnhXY0FXeHlNbmxMRllPaGBvZnRxOkFTPmhUWXFVcElzX3hMbnFVaFRsYnhOaFxcbGZBbWxNcz5IeFBBbFxcbGpZeW5EQXBwdW1KZU9hQHhBRU1bbHhZVFdMPVJaPEpsSW9RcVdqeW1IQWxcXFV1ZnZ0VlhkZmdqZU9oRV91Q0l0T2duRW5bSmhhRlh0Y3F1YD9sbHh4X3F2eVdaYj9hck53PUFwPkBabl9pZ25weEhaQElmQnl0PEZzW2ZuPUdgWj5zWVFlPlhbeV5rT3hrPUFkaWByaXZjOmBwQ09hU29cXDxXYUJ5alpYc11YdjtOZHNBWmV2XndeeXNoYmN3Z1JvaHJ5WlROZGFwcHdJcj1BeHlHa1hHW2FuWnhpcUxAWjo+WjpGYz9vYz5vbzw/Zjw0PFwiXHtcfQ==LSUrQU5OT1RBVElPTkc2Jy0lKUJPVU5EU19YRzYjJCIiISEiIi0lKUJPVU5EU19ZR0YnLSUtQk9VTkRTX1dJRFRIRzYjJCIlXURGKi0lLkJPVU5EU19IRUlHSFRHNiMkIiUrSUYqLSUpQ0hJTERSRU5HNiI=AZ := "ABCDEFGHIJKLMNOPQRSTUVWXYZ":C1 := "YCWOGRDBPIZXKLNMTSEFHJAVUQ":lettersAZ := Vector( 26, i->convert(AZ[i],name) ):lettersC1 := Vector( 26, i->convert(C1[i],name) ):mC1 := < <`source` | `code` >, < lettersAZ | lettersC1 > >^%T:D1 := cat(seq( AZ[SearchText( AZ[i], C1 )], i=1..26 )):lettersD1 := Vector( 26, i->convert(D1[i],name) ):mD1 := < <`source` | `message` >, < lettersAZ | lettersD1 > >^%T:mC1;mD1;Perhaps the simplest way to encode a message is to simply replace each letter of the alphabet with another letter. This is the method used in the Cryptograms often found in puzzle books or newspapers, and it is called a substitution cipher. Consider this cipher array for a substitution cipher:AZ := "ABCDEFGHIJKLMNOPQRSTUVWXYZ": # The alphabet string
C1 := "YCWOGRDBPIZXKLNMTSEFHJAVUQ": # The cipher stringsymbolVec:=s->Vector(26,i->convert(s[i],name)); # Convert a string into a vector of symbols
mC1 := < 'source',symbolVec(AZ) | 'code',symbolVec(C1)>^+;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY2LUkkbXRyR0YkNkAtSSRtdGRHRiQ2KC1GMTYlUSdzb3VyY2VGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZOLUY7NigtRjE2JVEiQUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJCRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkNGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiREYnL0ZBUSZmYWxzZUYnL0ZEUSdub3JtYWxGJ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJFRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkZGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiR0YnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJIRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIklGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiSkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJLRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkxGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiTUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJORidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIk9GJ0Zfb0Zhb0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJQRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlFGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiUkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJTRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlRGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiVUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJWRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIldGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiWEYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJZRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlpGJ0ZARkNGRkZIRkpGTEZPRkZGSEZKLUY4NkAtRjs2KC1GMTYlUSVjb2RlRidGQEZDRkZGSEZKRkxGT0ZndUZlbkZddUZlckZdcEZkc0ZqbkZWRmpyRmdwRlx2RmJ1RmFxRmZxRmByRltyRl50RmlzRmNvRmhvRmJwRlxxRlFGaHRGY3RGX3NGRkZIRkovJSZhbGlnbkdRJWF4aXNGJy9GR1EpYmFzZWxpbmVGJy9GSVEnY2VudGVyRicvRktRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0ZCLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZXcvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYHgvJSZmcmFtZUdGYHgvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zgby8lLWVxdWFsY29sdW1uc0dGYG8vJS1kaXNwbGF5c3R5bGVHRmBvLyUlc2lkZUdRJnJpZ2h0RicvJTBtaW5sYWJlbHNwYWNpbmdHRl14RjBGYW9GYW8vJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGYW8=To encode a message like VECTOR SPACE, encode each letter in turn and get JGWFNSEMYWG. Notice that the space between the words hasn't been encoded; this character could be added (as could any other punctuation or symbol) to the cipher array and encoded also. To decode a message, the decipher string is needed, which for our substitution cipher C1 := "YCWOGRDBPIZXKLNMTSEFHJAVUQ" isD1 := cat(seq( AZ[SearchText( AZ[i], C1 )], i=1..26 ));
mD1 := < 'source',symbolVec(AZ) | 'message',symbolVec(D1)>^+;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEjRDFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSM6PUYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUkjbXNHRiQ2I1E7V0hCR1NURVVKVk1OUE9ESVpGUlFZWENMQUtGJy1GLDYjUSFGJy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GJy8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYnRjk=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY2LUkkbXRyR0YkNkAtSSRtdGRHRiQ2KC1GMTYlUSVjb2RlRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTi1GOzYoLUYxNiVRIkFGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiQkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJDRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkRGJy9GQVEmZmFsc2VGJy9GRFEnbm9ybWFsRidGRkZIRkpGTEZPLUY7NigtRjE2JVEiRUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJGRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkdGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiSEYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJJRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkpGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiS0YnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJMRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIk1GJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiTkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJPRidGX29GYW9GRkZIRkpGTEZPLUY7NigtRjE2JVEiUEYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJRRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlJGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiU0YnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJURidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlVGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiVkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJXRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlhGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiWUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJaRidGQEZDRkZGSEZKRkxGT0ZGRkhGSi1GODZALUY7NigtRjE2JVEobWVzc2FnZUYnRkBGQ0ZGRkhGSkZMRk9GXXVGYnBGVkZdcEZpc0ZedEZjb0ZjdEZccUZodEZbckZgckZqckZlckZqbkZncEZcdkZob0Zkc0Zfc0ZndUZidUZlbkZmcUZRRmFxRkZGSEZKLyUmYWxpZ25HUSVheGlzRicvRkdRKWJhc2VsaW5lRicvRklRJ2NlbnRlckYnL0ZLUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGQi8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmV3LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmB4LyUmZnJhbWVHRmB4LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGYG8vJS1lcXVhbGNvbHVtbnNHRmBvLyUtZGlzcGxheXN0eWxlR0Zgby8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZdeEYwRmFvRmFvLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmFvThus the secret message FBGSNNEFGSWSNAEYFOYAL is easily revealed as THE ROOSTER CROWS AT DAWN using the decipher table above. The maple implementation isAZ:="ABCDEFGHIJKLMNOPQRSTUVWXYZ": # The alphabet stringC1:="YCWOGRDBPIZXKLNMTSEFHJAVUQ": # The cipher stringC1:="YCWOGRDBPIZXKLNMTSEFHJAVUQ": # The cipher stringC1:="YCWOGRDBPIZXKLNMTSEFHJAVUQ": # The cipher stringLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2J1EjRDFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lK2V4ZWN1dGFibGVHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSxib2xkLWl0YWxpY0YnLyUrZm9udHdlaWdodEdRJWJvbGRGJy1JI21vR0YkNi9RKiZjb2xvbmVxO0YnRjIvRjZGOkY4LyUmZmVuY2VHRjQvJSpzZXBhcmF0b3JHRjQvJSlzdHJldGNoeUdGNC8lKnN5bW1ldHJpY0dGNC8lKGxhcmdlb3BHRjQvJS5tb3ZhYmxlbGltaXRzR0Y0LyUnYWNjZW50R0Y0LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGUC1GPDYvUSIiRidGMkY/RjhGQEZCRkRGRkZIRkpGTC9GT1EmMC4wZW1GJy9GUkZXLUYsNidRPFdIQkdTVEVVSlZNTlBPRElaRlJRWVhDTEFLIkYnLyUlYm9sZEdGNEYvRjIvRjZRJ2l0YWxpY0YnLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRidGZm4vJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRidGMi8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYnL0Y2USdub3JtYWxGJw==: # The decipher stringsecret:="FBGSNNEFGSWSNAEYFOYAL";cat(seq( D1[SearchText( secret[i], AZ )], i=1..length(secret) ));cat(seq( D1[SearchText( secret[i], AZ )], i=1..length(secret) ));cat(seq( D1[SearchText( secret[i], AZ )], i=1..length(secret) ));A general decoding of a substituion cipher is made by the sample maple codeDecode:=msg->cat(seq( D1[SearchText( msg[i], AZ )], i=1..length(msg) ));Decode("FBGSNNEFGSWSNAEYFOYAL");LUkjbXNHNiMvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0dJKF9zeXNsaWJHRic2JVE2VEhFUk9PU1RFUkNST1dTQVREQVdORicvJSdscXVvdGVHUSIiRicvJSdycXVvdGVHRi4=A major drawback of the substitution cipher is that it is very easy for a person to crack the code; that is, to determine the decipher array from an encoded message. If you have done a cryptogram before, you know how this is done: the relative frequency of letters in English is known, as are the frequencies of certain groups of letters like TH or ST. See Reference 3 (p.16 and p.19) for sample tables. Common short words like THE and OF also help the code cracker. To make the code harder to crack, groups of letters can be encoded at the same time. For example, consider splitting the above message into units of three letters each, although any length of block would be allowable. The message THE ROOSTER CROWS AT DAWN is thus converted to THE ROO STE RCR OWS ATD AWN. If the number of letters is not a multiple of three, the final set of letters can be padded with random letters; thus VECTOR SPACE could be split up as VEC TOR SPA CEX.Since linear algebra will come in handy for the encoding process, replace each letter by its position in the alphabet. The positions are numbered from 0 to 25 for reasons which will shortly become apparent.numbers := Vector( 26, i->i-1 ):mN1 := < <`source` | `message` >, < lettersAZ | numbers > >^%T:
mN1;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkobWZlbmNlZEdGJDYmLUYjNiUtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY2LUkkbXRyR0YkNkAtSSRtdGRHRiQ2KC1GMTYlUSdzb3VyY2VGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZOLUY7NigtRjE2JVEiQUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJCRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkNGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiREYnL0ZBUSZmYWxzZUYnL0ZEUSdub3JtYWxGJ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJFRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkZGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiR0YnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJIRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIklGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiSkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJLRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIkxGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiTUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJORidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIk9GJ0Zfb0Zhb0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJQRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlFGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiUkYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJTRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlRGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiVUYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJWRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIldGJ0ZARkNGRkZIRkpGTEZPLUY7NigtRjE2JVEiWEYnRkBGQ0ZGRkhGSkZMRk8tRjs2KC1GMTYlUSJZRidGQEZDRkZGSEZKRkxGTy1GOzYoLUYxNiVRIlpGJ0ZARkNGRkZIRkpGTEZPRkZGSEZKLUY4NkAtRjs2KC1GMTYlUSVjb2RlRidGQEZDRkZGSEZKRkxGTy1GOzYoLUkjbW5HRiQ2JFEiMEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkRk5GYW9GRkZIRkpGTEZPLUY7NigtRlt3NiRRIjJGJ0Zhb0ZGRkhGSkZMRk8tRjs2KC1GW3c2JFEiM0YnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSI0RidGYW9GRkZIRkpGTEZPLUY7NigtRlt3NiRRIjVGJ0Zhb0ZGRkhGSkZMRk8tRjs2KC1GW3c2JFEiNkYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSI3RidGYW9GRkZIRkpGTEZPLUY7NigtRlt3NiRRIjhGJ0Zhb0ZGRkhGSkZMRk8tRjs2KC1GW3c2JFEiOUYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxMEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxMUYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxMkYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxM0YnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxNEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxNUYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxNkYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxN0YnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxOEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMxOUYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyMEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyMUYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyMkYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyM0YnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyNEYnRmFvRkZGSEZKRkxGTy1GOzYoLUZbdzYkUSMyNUYnRmFvRkZGSEZKRkxGT0ZGRkhGSi8lJmFsaWduR1ElYXhpc0YnL0ZHUSliYXNlbGluZUYnL0ZJUSdjZW50ZXJGJy9GS1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkIvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZnX2wvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYmBsLyUmZnJhbWVHRmJgbC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRmBvLyUtZXF1YWxjb2x1bW5zR0Zgby8lLWRpc3BsYXlzdHlsZUdGYG8vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGX2BsRjBGYW8vJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRic=The batches of three letters can be converted into batches of three numbers, which can be thought of as vectors. For example, THE ROOSTER CROWS AT DAWN has become source := "THEROOSTERCROWSATDAWN":
Sv1 := Vector( 3, i->convert(source[ i],name) ):
Cv1 := Vector( 3, i->numbers[SearchText(source[ i],AZ)] ):
Sv2 := Vector( 3, i->convert(source[ 3+i],name) ):
Cv2 := Vector( 3, i->numbers[SearchText(source[ 3+i],AZ)] ):
Sv3 := Vector( 3, i->convert(source[ 6+i],name) ):
Cv3 := Vector( 3, i->numbers[SearchText(source[ 6+i],AZ)] ):
Sv4 := Vector( 3, i->convert(source[ 9+i],name) ):
Cv4 := Vector( 3, i->numbers[SearchText(source[ 9+i],AZ)] ):
Sv5 := Vector( 3, i->convert(source[12+i],name) ):
Cv5 := Vector( 3, i->numbers[SearchText(source[12+i],AZ)] ):
Sv6 := Vector( 3, i->convert(source[15+i],name) ):
Cv6 := Vector( 3, i->numbers[SearchText(source[15+i],AZ)] ):
Sv7 := Vector( 3, i->convert(source[18+i],name) ):
Cv7 := Vector( 3, i->numbers[SearchText(source[18+i],AZ)] ):
Sv1, Cv1;
Sv2, Cv2;
Sv3, Cv3;
Sv4, Cv4;
Sv5, Cv5;
Sv6, Cv6;
Sv7, Cv7;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIkhGJ0ZCRkVGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJFRidGQkZFRkhGSkZMRk5GUUZIRkpGTC8lJmFsaWduR1ElYXhpc0YnL0ZJUSliYXNlbGluZUYnL0ZLUSdjZW50ZXJGJy9GTVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkQvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zoby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZjcC8lJmZyYW1lR0ZjcC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZdcS8lLWRpc3BsYXlzdHlsZUdGXXEvJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGYHBGKy9GRlEnbm9ybWFsRidGZ3EvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RidGZ3EvJSZmZW5jZUdGXXEvJSpzZXBhcmF0b3JHRl1xLyUpc3RyZXRjaHlHRl1xLyUqc3ltbWV0cmljR0ZdcS8lKGxhcmdlb3BHRl1xLyUubW92YWJsZWxpbWl0c0dGXXEvJSdhY2NlbnRHRl1xLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGY3MtRiw2JVEjLT5GJ0ZCRkVGX3ItRjI2Ji1GIzYmRistRjc2Ny1GOjYmLUY9NigtSSNtbkdGJDYkUSMxOUYnRmdxRkhGSkZMRk5GUUZIRkpGTC1GOjYmLUY9NigtRmR0NiRRIjdGJ0ZncUZIRkpGTEZORlFGSEZKRkwtRjo2Ji1GPTYoLUZkdDYkUSI0RidGZ3FGSEZKRkxGTkZRRkhGSkZMRltvRl5vL0ZLRmRxRmJvRmRvRmZvRmlvRltwRl5wRmFwRmRwRmZwRmhwRltxRl5xRmBxRmJxRmVxRitGZ3FGZ3FGaXFGXHJGZ3FGK0ZncQ==, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiUkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIk9GJy9GQ1EmZmFsc2VGJy9GRlEnbm9ybWFsRidGSEZKRkxGTkZRRkhGSkZMRlMvJSZhbGlnbkdRJWF4aXNGJy9GSVEpYmFzZWxpbmVGJy9GS1EnY2VudGVyRicvRk1RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0ZELyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZW8vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYHAvJSZmcmFtZUdGYHAvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zlbi8lLWVxdWFsY29sdW1uc0dGZW4vJS1kaXNwbGF5c3R5bGVHRmVuLyUlc2lkZUdRJnJpZ2h0RicvJTBtaW5sYWJlbHNwYWNpbmdHRl1wRitGZm5GZm4vJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RidGZm4vJSZmZW5jZUdGZW4vJSpzZXBhcmF0b3JHRmVuLyUpc3RyZXRjaHlHRmVuLyUqc3ltbWV0cmljR0Zlbi8lKGxhcmdlb3BHRmVuLyUubW92YWJsZWxpbWl0c0dGZW4vJSdhY2NlbnRHRmVuLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGXXMtRiw2JVEjLT5GJ0ZCRkVGaXEtRjI2Ji1GIzYmRistRjc2Ny1GOjYmLUY9NigtSSNtbkdGJDYkUSMxN0YnRmZuRkhGSkZMRk5GUUZIRkpGTC1GOjYmLUY9NigtRl50NiRRIzE0RidGZm5GSEZKRkxGTkZRRkhGSkZMRmF0RmhuRltvL0ZLRmBxRl9vRmFvRmNvRmZvRmhvRltwRl5wRmFwRmNwRmVwRmhwRmpwRlxxRl5xRmFxRitGZm5GZm5GY3FGZnFGZm5GK0Zmbg==, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiU0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIlRGJ0ZCRkVGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJFRidGQkZFRkhGSkZMRk5GUUZIRkpGTC8lJmFsaWduR1ElYXhpc0YnL0ZJUSliYXNlbGluZUYnL0ZLUSdjZW50ZXJGJy9GTVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkQvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zoby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZjcC8lJmZyYW1lR0ZjcC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZdcS8lLWRpc3BsYXlzdHlsZUdGXXEvJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGYHBGKy9GRlEnbm9ybWFsRidGZ3EvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RidGZ3EvJSZmZW5jZUdGXXEvJSpzZXBhcmF0b3JHRl1xLyUpc3RyZXRjaHlHRl1xLyUqc3ltbWV0cmljR0ZdcS8lKGxhcmdlb3BHRl1xLyUubW92YWJsZWxpbWl0c0dGXXEvJSdhY2NlbnRHRl1xLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGY3MtRiw2JVEjLT5GJ0ZCRkVGX3ItRjI2Ji1GIzYmRistRjc2Ny1GOjYmLUY9NigtSSNtbkdGJDYkUSMxOEYnRmdxRkhGSkZMRk5GUUZIRkpGTC1GOjYmLUY9NigtRmR0NiRRIzE5RidGZ3FGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GZHQ2JFEiNEYnRmdxRkhGSkZMRk5GUUZIRkpGTEZbb0Zeby9GS0ZkcUZib0Zkb0Zmb0Zpb0ZbcEZecEZhcEZkcEZmcEZocEZbcUZecUZgcUZicUZlcUYrRmdxRmdxRmlxRlxyRmdxRitGZ3E=, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiUkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIkNGJ0ZCRkVGSEZKRkxGTkZRRkhGSkZMRjkvJSZhbGlnbkdRJWF4aXNGJy9GSVEpYmFzZWxpbmVGJy9GS1EnY2VudGVyRicvRk1RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0ZELyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGYW8vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXHAvJSZmcmFtZUdGXHAvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGZnAvJS1kaXNwbGF5c3R5bGVHRmZwLyUlc2lkZUdRJnJpZ2h0RicvJTBtaW5sYWJlbHNwYWNpbmdHRmlvRisvRkZRJ25vcm1hbEYnRmBxLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnRmBxLyUmZmVuY2VHRmZwLyUqc2VwYXJhdG9yR0ZmcC8lKXN0cmV0Y2h5R0ZmcC8lKnN5bW1ldHJpY0dGZnAvJShsYXJnZW9wR0ZmcC8lLm1vdmFibGVsaW1pdHNHRmZwLyUnYWNjZW50R0ZmcC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlxzLUYsNiVRIy0+RidGQkZFRmhxLUYyNiYtRiM2JkYrLUY3NjctRjo2Ji1GPTYoLUkjbW5HRiQ2JFEjMTdGJ0ZgcUZIRkpGTEZORlFGSEZKRkwtRjo2Ji1GPTYoLUZddDYkUSIyRidGYHFGSEZKRkxGTkZRRkhGSkZMRmhzRlpGZ24vRktGXXFGW29GXW9GX29GYm9GZG9GZ29Gam9GXXBGX3BGYXBGZHBGZ3BGaXBGW3FGXnFGK0ZgcUZgcUZicUZlcUZgcUYrRmBx, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiT0YnLyUnaXRhbGljR1EmZmFsc2VGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGLi8lLGNvbHVtbmFsaWduR0YuLyUrZ3JvdXBhbGlnbkdGLi8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZQRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJXRicvRkNRJXRydWVGJy9GRlEnaXRhbGljRidGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJTRidGWkZmbkZIRkpGTEZORlFGSEZKRkwvJSZhbGlnbkdRJWF4aXNGJy9GSVEpYmFzZWxpbmVGJy9GS1EnY2VudGVyRicvRk1RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0Zlbi8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRlxwLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmdwLyUmZnJhbWVHRmdwLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGRC8lLWVxdWFsY29sdW1uc0dGRC8lLWRpc3BsYXlzdHlsZUdGRC8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZkcEYrRkVGRS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJ0ZFLyUmZmVuY2VHRkQvJSpzZXBhcmF0b3JHRkQvJSlzdHJldGNoeUdGRC8lKnN5bW1ldHJpY0dGRC8lKGxhcmdlb3BHRkQvJS5tb3ZhYmxlbGltaXRzR0ZELyUnYWNjZW50R0ZELyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGZHMtRiw2JVEjLT5GJ0ZaRmZuRmByLUYyNiYtRiM2JkYrLUY3NjctRjo2Ji1GPTYoLUkjbW5HRiQ2JFEjMTRGJ0ZFRkhGSkZMRk5GUUZIRkpGTC1GOjYmLUY9NigtRmV0NiRRIzIyRidGRUZIRkpGTEZORlFGSEZKRkwtRjo2Ji1GPTYoLUZldDYkUSMxOEYnRkVGSEZKRkxGTkZRRkhGSkZMRl9vRmJvL0ZLRmdxRmZvRmhvRmpvRl1wRl9wRmJwRmVwRmhwRmpwRlxxRl9xRmFxRmNxRmVxRmhxRitGRUZFRmpxRl1yRkVGK0ZF, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIlRGJ0ZCRkVGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJERicvRkNRJmZhbHNlRicvRkZRJ25vcm1hbEYnRkhGSkZMRk5GUUZIRkpGTC8lJmFsaWduR1ElYXhpc0YnL0ZJUSliYXNlbGluZUYnL0ZLUSdjZW50ZXJGJy9GTVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkQvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZccC8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZncC8lJmZyYW1lR0ZncC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRlxvLyUtZXF1YWxjb2x1bW5zR0Zcby8lLWRpc3BsYXlzdHlsZUdGXG8vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGZHBGK0Zdb0Zdby8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJ0Zdby8lJmZlbmNlR0Zcby8lKnNlcGFyYXRvckdGXG8vJSlzdHJldGNoeUdGXG8vJSpzeW1tZXRyaWNHRlxvLyUobGFyZ2VvcEdGXG8vJS5tb3ZhYmxlbGltaXRzR0Zcby8lJ2FjY2VudEdGXG8vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0Zkcy1GLDYlUSMtPkYnRkJGRUZgci1GMjYmLUYjNiZGKy1GNzY3LUY6NiYtRj02KC1JI21uR0YkNiRRIjBGJ0Zdb0ZIRkpGTEZORlFGSEZKRkwtRjo2Ji1GPTYoLUZldDYkUSMxOUYnRl1vRkhGSkZMRk5GUUZIRkpGTC1GOjYmLUY9NigtRmV0NiRRIjNGJ0Zdb0ZIRkpGTEZORlFGSEZKRkxGX29GYm8vRktGZ3FGZm9GaG9Gam9GXXBGX3BGYnBGZXBGaHBGanBGXHFGX3FGYXFGY3FGZXFGaHFGK0Zdb0Zdb0ZqcUZdckZdb0YrRl1v, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KC1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRiw2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRlBGSEZKRkwtRjo2Ji1GPTYoLUYsNiVRIldGJ0ZCRkVGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GLDYlUSJORidGQkZFRkhGSkZMRk5GUUZIRkpGTC8lJmFsaWduR1ElYXhpc0YnL0ZJUSliYXNlbGluZUYnL0ZLUSdjZW50ZXJGJy9GTVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkQvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zoby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZjcC8lJmZyYW1lR0ZjcC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZdcS8lLWRpc3BsYXlzdHlsZUdGXXEvJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGYHBGKy9GRlEnbm9ybWFsRidGZ3EvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RidGZ3EvJSZmZW5jZUdGXXEvJSpzZXBhcmF0b3JHRl1xLyUpc3RyZXRjaHlHRl1xLyUqc3ltbWV0cmljR0ZdcS8lKGxhcmdlb3BHRl1xLyUubW92YWJsZWxpbWl0c0dGXXEvJSdhY2NlbnRHRl1xLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGY3MtRiw2JVEjLT5GJ0ZCRkVGX3ItRjI2Ji1GIzYmRistRjc2Ny1GOjYmLUY9NigtSSNtbkdGJDYkUSIwRidGZ3FGSEZKRkxGTkZRRkhGSkZMLUY6NiYtRj02KC1GZHQ2JFEjMjJGJ0ZncUZIRkpGTEZORlFGSEZKRkwtRjo2Ji1GPTYoLUZkdDYkUSMxM0YnRmdxRkhGSkZMRk5GUUZIRkpGTEZbb0Zeby9GS0ZkcUZib0Zkb0Zmb0Zpb0ZbcEZecEZhcEZkcEZmcEZocEZbcUZecUZgcUZicUZlcUYrRmdxRmdxRmlxRlxyRmdxRitGZ3E=In order to encode messages using the numbers instead of letters, an easy way of calculating using only the numbers 0 through 25 is needed. A way to do this is called modular arithmetic. Sums, differences, and products are calculated as normal, but if the result is larger than 25 or less than 0, it is replaced by the remainder left when the result is divided by 26. Thus only numbers from 0 to 25 result from this arithmetic. This form of arithmetic is denoted by stating that the calculations are to be done modulo 26, and by placing the symbol mod 26 after the calculation.Examples:1 + 2 = 3 mod 2613 x 2 = 0 mod 26, since 13*2 = 26 = 26(1) + 07 + 24 = 5 mod 26, since 7 + 24 = 31 = 26(1) + 510-15 = 21 mod 26, since 10 - 15 = -5 = 26(-1) + 21Maple can do modular arithmetic as well: the Maple commands modp( m, n ) and m mod n each return the value of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= modulo LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. Thus the command 7+24 mod 26 returns 5, just as in the third example above. Simple modular arithmetic can be done using this command. Just as numbers can be added and multiplied, vectors may be added and scalar multiplication may be performed:Examples:ev1 := Vector( [19,17,4] ) + Vector( [14,22,18] ) = ( Vector( [19,17,4] ) + Vector( [14,22,18] )) mod 26:ev2 := 10*Vector( [14,22,18] ) = ( 10*Vector( [14,22,18] ) ) mod 26:ev1;
ev2;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNiYtSShtZmVuY2VkR0YkNiYtRiM2JkYrLUknbXRhYmxlR0YkNjctSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEjMTlGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGLi8lLGNvbHVtbmFsaWduR0YuLyUrZ3JvdXBhbGlnbkdGLi8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZQRkhGSkZMLUY8NiYtRj82KC1GQjYkUSMxN0YnRkVGSEZKRkxGTkZRRkhGSkZMLUY8NiYtRj82KC1GQjYkUSI0RidGRUZIRkpGTEZORlFGSEZKRkwvJSZhbGlnbkdRJWF4aXNGJy9GSVEpYmFzZWxpbmVGJy9GS1EmcmlnaHRGJy9GTVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zpby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZkcC8lJmZyYW1lR0ZkcC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZecS8lLWRpc3BsYXlzdHlsZUdGXnEvJSVzaWRlR0Zhby8lMG1pbmxhYmVsc3BhY2luZ0dGYXBGK0ZFRkUvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRictSSNtb0dGJDYtUSIrRidGRS8lJmZlbmNlR0ZecS8lKnNlcGFyYXRvckdGXnEvJSlzdHJldGNoeUdGXnEvJSpzeW1tZXRyaWNHRl5xLyUobGFyZ2VvcEdGXnEvJS5tb3ZhYmxlbGltaXRzR0ZecS8lJ2FjY2VudEdGXnEvJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0Zhcy1GNDYmLUYjNiZGKy1GOTY3LUY8NiYtRj82KC1GQjYkUSMxNEYnRkVGSEZKRkxGTkZRRkhGSkZMLUY8NiYtRj82KC1GQjYkUSMyMkYnRkVGSEZKRkxGTkZRRkhGSkZMLUY8NiYtRj82KC1GQjYkUSMxOEYnRkVGSEZKRkxGTkZRRkhGSkZMRltvRl5vRmBvRmJvRmRvRmdvRmpvRlxwRl9wRmJwRmVwRmdwRmlwRlxxRl9xRmFxRmNxRmVxRitGRUZFRmdxRmpxRkUtRl5yNi1RIj1GJ0ZFRmFyRmNyRmVyRmdyRmlyRltzRl1zL0Zgc1EsMC4yNzc3Nzc4ZW1GJy9GY3NGY3UtRiM2Ji1GNDYmLUYjNiZGKy1GOTY3LUY8NiYtRj82KC1GQjYkUSI3RidGRUZIRkpGTEZORlFGSEZKRkwtRjw2Ji1GPzYoLUZCNiRRIzEzRidGRUZIRkpGTEZORlFGSEZKRkxGYXRGW29GXm9GYG9GYm9GZG9GZ29Gam9GXHBGX3BGYnBGZXBGZ3BGaXBGXHFGX3FGYXFGY3FGZXFGK0ZFRkVGZ3FGanEtRl5yNi1RMSZJbnZpc2libGVUaW1lcztGJ0ZFRmFyRmNyRmVyRmdyRmlyRltzRl1zL0Zgc1EmMC4wZW1GJy9GY3NGX3ctRiw2JVEqKH5tb2R+MjYpRicvJSdpdGFsaWNHRmZvL0ZGUSdpdGFsaWNGJ0ZFRitGRUYrRkU=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNiYtSSNtbkdGJDYkUSMxMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJ0Y3LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZALyUpc3RyZXRjaHlHRkAvJSpzeW1tZXRyaWNHRkAvJShsYXJnZW9wR0ZALyUubW92YWJsZWxpbWl0c0dGQC8lJ2FjY2VudEdGQC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRk8tSShtZmVuY2VkR0YkNiYtRiM2JkYrLUknbXRhYmxlR0YkNjctSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUY0NiRRIzE0RidGNy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmVvRl1vRl9vRmFvLUZlbjYmLUZobjYoLUY0NiRRIzIyRidGN0Zdb0Zfb0Zhb0Zjb0Zmb0Zdb0Zfb0Zhby1GZW42Ji1GaG42KC1GNDYkUSMxOEYnRjdGXW9GX29GYW9GY29GZm9GXW9GX29GYW8vJSZhbGlnbkdRJWF4aXNGJy9GXm9RKWJhc2VsaW5lRicvRmBvUSZyaWdodEYnL0Zib1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZkcS8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zfci8lJmZyYW1lR0Zfci8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRkAvJS1lcXVhbGNvbHVtbnNHRkAvJS1kaXNwbGF5c3R5bGVHRkAvJSVzaWRlR0ZccS8lMG1pbmxhYmVsc3BhY2luZ0dGXHJGK0Y3RjcvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGNy1GOzYtUSI9RidGN0Y+RkFGQ0ZFRkdGSUZLL0ZOUSwwLjI3Nzc3NzhlbUYnL0ZRRlt0LUYjNiYtRlM2Ji1GIzYmRistRlg2Ny1GZW42Ji1GaG42KEYzRl1vRl9vRmFvRmNvRmZvRl1vRl9vRmFvLUZlbjYmLUZobjYoLUY0NiRRIzEyRidGN0Zdb0Zfb0Zhb0Zjb0Zmb0Zdb0Zfb0Zhby1GZW42Ji1GaG42KC1GNDYkUSMyNEYnRjdGXW9GX29GYW9GY29GZm9GXW9GX29GYW9GZnBGaXBGW3FGXXFGX3FGYnFGZXFGZ3FGanFGXXJGYHJGYnJGZHJGZ3JGaXJGW3NGXXNGX3NGK0Y3RjdGYXNGZHNGOi1GLDYlUSsofm1vZH4yNn4pRicvJSdpdGFsaWNHRmFxL0Y4USdpdGFsaWNGJ0Y3RitGN0YrRjc=The mod and modp commands also can do modular arithmetic with vectors and matrices; for example, the command (Vector( [19,17,4] ) + Vector( [14,22,18] ) ) mod 26; returns the answer for the first example above. Parentheses are important to define the scope of modular arithmetic.The set LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JKG1zdWJzdXBHRiQ2Jy1GLDYlUSJaRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSMyNkYnL0Y7USdub3JtYWxGJ0ZDLUZANiRRIjNGJ0ZDLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZKRkNGK0ZD is the set of all vectors with three elements drawn from the numbers 0 through 25. Addition of vectors and multiplication by scalars are defined as has been done above. The space LUkobXN1YnN1cEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiWkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JJW1yb3dHRiQ2JS1JI21uR0YkNiRRIzI2RicvRjNRJ25vcm1hbEYnLyUwZm9udF9zdHlsZV9uYW1lR1ErMkR+Q29tbWVudEYnRjwtRjk2JFEiM0YnRjwvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLyUvc3Vic2NyaXB0c2hpZnRHRkY= will be very useful for coding and decoding messages.To encode a message a key matrix A is used, which in our case will be a 3x3 matrix. Multiplying a vector v in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JKG1zdWJzdXBHRiQ2Jy1GLDYlUSJaRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSMyNkYnL0Y7USdub3JtYWxGJ0ZDLUZANiRRIjNGJ0ZDLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZKRkNGK0ZD by A will produce another vector Av which is also in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JKG1zdWJzdXBHRiQ2Jy1GLDYlUSJaRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSMyNkYnL0Y7USdub3JtYWxGJ0ZDLUZANiRRIjNGJ0ZDLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZKRkNGK0ZD, which may be interpreted as the encoded version of v.Example:A := Matrix( 3,3, [[3,10,20],[20,9,17],[9,4,17]] ):
evalm( A );Let our key matrix be A = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=. The message THE ROOSTER CROWS AT DAWN may be encoded by multiplying each message vector in turn by the key matrix; for example, the first message vector becomesMv1 := ( A . Cv1 ) mod 26 :
Mv1;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzE5RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTEZERkZGSC1GODYmLUY7NigtRj42JFEiN0YnRkFGREZGRkhGSkZNRkRGRkZILUY4NiYtRjs2KC1GPjYkUSI0RidGQUZERkZGSEZKRk1GREZGRkgvJSZhbGlnbkdRJWF4aXNGJy9GRVEpYmFzZWxpbmVGJy9GR1EmcmlnaHRGJy9GSVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zlby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZgcC8lJmZyYW1lR0ZgcC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZqcC8lLWRpc3BsYXlzdHlsZUdGanAvJSVzaWRlR0Zdby8lMG1pbmxhYmVsc3BhY2luZ0dGXXBGMEZBRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGQQ== = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzI1RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTEZERkZGSC1GODYmLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYmLUY7NigtRj42JFEiN0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZW8vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYHAvJSZmcmFtZUdGYHAvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGanAvJS1kaXNwbGF5c3R5bGVHRmpwLyUlc2lkZUdGXW8vJTBtaW5sYWJlbHNwYWNpbmdHRl1wRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= (mod 26 ) So the triple of letters THE becomes encoded as ZRH. To save effort, combine all of the message vectors into one matrix M and compute AM, because the columns of AM are just the result of applying A to the individual columns of M:M := < <Cv1>|<Cv2>|<Cv3>|<Cv4>|<Cv5>|<Cv6>|<Cv7> >:
M;MM := ( A . M ) mod 26:
MM;entries(MM[..,1]);encoded := cat( seq( seq( AZ[MM[i,j]+1], i=1..RowDimension(MM) ), j=1..ColumnDimension(MM) ) ):
encoded;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzE5RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxOEYnRkFGREZGRkhGSkZNRk8tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNRmhuRkRGRkZILUY4NiwtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk1GWUY6LUY7NigtRj42JFEiMkYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjJGJ0ZBRkRGRkZIRkpGTUY6RmlvRkRGRkZILUY4NiwtRjs2KC1GPjYkUSI0RidGQUZERkZGSEZKRk1GWUZgcEZPRlQtRjs2KC1GPjYkUSIzRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGXXIvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGaHIvJSZmcmFtZUdGaHIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGYnMvJS1kaXNwbGF5c3R5bGVHRmJzLyUlc2lkZUdGZXEvJTBtaW5sYWJlbHNwYWNpbmdHRmVyRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzI1RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIjNGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzEyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjRGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzE2RidGQUZERkZGSEZKRk1GVEZERkZGSC1GODYsLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjJGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRGTEZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIzRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI0RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRk9GREZGRkgtRjg2LC1GOzYoLUY+NiRRIjdGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjVGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI4RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSIwRidGQUZERkZGSEZKRk1GYnBGYnBGREZGRkgvJSZhbGlnbkdRJWF4aXNGJy9GRVEpYmFzZWxpbmVGJy9GR1EmcmlnaHRGJy9GSVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zqcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZldC8lJmZyYW1lR0ZldC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZfdS8lLWRpc3BsYXlzdHlsZUdGX3UvJSVzaWRlR0Zicy8lMG1pbmxhYmVsc3BhY2luZ0dGYnRGMEZBRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGQQ== (mod 26) The encoded message would be .ZRHDCFMBUVXIYEAQOXMDXAinv26 := MatrixInverse( A ) mod 26:
Ainv26;( Ainv26 . A ) mod 26;Now this method of encoding would be useless if there were not a way to decode the encoded messages. Since the key matrix A does the encoding, it stands to reason that if A =LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjAvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmJyRkE= has an inverse ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2Ji1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjgvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGU0Y4, then ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2Ji1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjgvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGU0Y4 should be the decoding matrix. While this is true, the inversion of A must be done in modular arithmetic. So for example the inverse of the key matrix A =LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjAvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmJyRkE= is ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjhGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOA== = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGY3EvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXnIvJSZmcmFtZUdGXnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaHIvJS1kaXNwbGF5c3R5bGVHRmhyLyUlc2lkZUdGW3EvJTBtaW5sYWJlbHNwYWNpbmdHRltyRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=, because (see Question 1(d) below) ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjhGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOA== A = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGY3EvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXnIvJSZmcmFtZUdGXnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaHIvJS1kaXNwbGF5c3R5bGVHRmhyLyUlc2lkZUdGW3EvJTBtaW5sYWJlbHNwYWNpbmdHRltyRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkobWZlbmNlZEdGJDYmLUYjNiUtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJw== = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HRkAvJStjb2x1bW5zcGFuR0ZALUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZMRk5GREZGRkgtRjg2KEZORjpGTkZERkZGSC1GODYoRk5GTkY6RkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGX28vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGam8vJSZmcmFtZUdGam8vJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGZHAvJS1kaXNwbGF5c3R5bGVHRmRwLyUlc2lkZUdGZ24vJTBtaW5sYWJlbHNwYWNpbmdHRmdvRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= (mod 26) encoded2 := "ZRHMJHHKVVVWEXWHZIFRQ":
C := Matrix( 3, 7, (i,j)-> numbers[SearchText( encoded2[(j-1)*3+i], AZ)] ):
C;Thus to decode the message ZRHMJHHKVVVWEXWHZIFRQ, the coded message is first split into three-letter units, which are then converted by alphabet translation into numbers and A-multiplication into vectors in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JC1JKG1zdWJzdXBHRiQ2Jy1GLDYlUSJaRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSMyNkYnL0Y7USdub3JtYWxGJ0ZDLUZANiRRIjNGJ0ZDLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZKRkNGK0ZD, then these vectors are collected into a coded message matrix C = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzI1RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzEyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRlQtRjs2KC1GPjYkUSI1RidGQUZERkZGSEZKRk1GREZGRkgtRjg2LC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxMEYnRkFGREZGRkhGSkZNRlktRjs2KC1GIzYkLUY+NiRRIzIzRidGQUZBRkRGRkZIRkpGTUY6RmRvRkRGRkZILUY4NixGVEZURlktRjs2KC1GPjYkUSMyMkYnRkFGREZGRkhGSkZNLUY7NigtRiM2JEZecUZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjhGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzE2RidGQUZERkZGSEZKRk1GREZGRkgvJSZhbGlnbkdRJWF4aXNGJy9GRVEpYmFzZWxpbmVGJy9GR1EmcmlnaHRGJy9GSVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zdcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zocy8lJmZyYW1lR0Zocy8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZidC8lLWRpc3BsYXlzdHlsZUdGYnQvJSVzaWRlR0Zlci8lMG1pbmxhYmVsc3BhY2luZ0dGZXNGMEZBRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGQQ==AinvC26 := ( Ainv26.C ) mod 26:
AinvC26;decoded2 := cat( seq( seq( AZ[AinvC26[i,j]+1], i=1..RowDimension(AinvC26) ), j=1..ColumnDimension(AinvC26) ) ):
decoded2;The computation ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjhGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOA== C = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGY3EvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXnIvJSZmcmFtZUdGXnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaHIvJS1kaXNwbGF5c3R5bGVHRmhyLyUlc2lkZUdGW3EvJTBtaW5sYWJlbHNwYWNpbmdHRltyRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzI1RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzEyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRlQtRjs2KC1GPjYkUSI1RidGQUZERkZGSEZKRk1GREZGRkgtRjg2LC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxMEYnRkFGREZGRkhGSkZNRlktRjs2KC1GIzYkLUY+NiRRIzIzRidGQUZBRkRGRkZIRkpGTUY6RmRvRkRGRkZILUY4NixGVEZURlktRjs2KC1GPjYkUSMyMkYnRkFGREZGRkhGSkZNLUY7NigtRiM2JEZecUZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjhGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzE2RidGQUZERkZGSEZKRk1GREZGRkgvJSZhbGlnbkdRJWF4aXNGJy9GRVEpYmFzZWxpbmVGJy9GR1EmcmlnaHRGJy9GSVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zdcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zocy8lJmZyYW1lR0Zocy8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZidC8lLWRpc3BsYXlzdHlsZUdGYnQvJSVzaWRlR0Zlci8lMG1pbmxhYmVsc3BhY2luZ0dGZXNGMEZBRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGQQ== = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzE5RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzEyRidGQUZERkZGSEZKRk1GOi1GOzYoLUY+NiRRIzEzRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSIwRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxMUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILUY4NiwtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk1GWS1GOzYoLUY+NiRRIjhGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzE4RidGQUZERkZGSEZKRk0tRjs2KC1GIzYkLUY+NiRRIzIxRidGQUZBRkRGRkZIRkpGTUZZLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NixGanAtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNRllGZG9GanBGVEZdb0ZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmRyLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl9zLyUmZnJhbWVHRl9zLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmlzLyUtZGlzcGxheXN0eWxlR0Zpcy8lJXNpZGVHRlxyLyUwbWlubGFiZWxzcGFjaW5nR0Zcc0YwRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZB (mod 26) gives the decoded message, which may be translated into letters as THEMARTIANSHAVELANDED, or THE MARTIANS HAVE LANDED. An automated way to do the translation is to concatenate the columns into a list, then apply the inverse translation from the alphabet.F:=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkobWZlbmNlZEdGJDYoLUYjNistSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiwtSSRtdGRHRiQ2KC1JI21uR0YkNiZRIzE5RicvJSVib2xkR1EmZmFsc2VGJy8lK2V4ZWN1dGFibGVHRkMvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGUS1GOzYoLUY+NiZRIzEyRidGQUZERkZGSUZLRk1GT0ZSRjotRjs2KC1GPjYmUSMxM0YnRkFGREZGRklGS0ZNRk9GUi1GOzYoLUY+NiZRIjBGJ0ZBRkRGRkZJRktGTUZPRlItRjs2KC1GPjYmUSMxMUYnRkFGREZGRklGS0ZNRk9GUi1GOzYoLUY+NiZRIjNGJ0ZBRkRGRkZJRktGTUZPRlJGSUZLRk0tRjg2LC1GOzYoLUY+NiZRIjdGJ0ZBRkRGRkZJRktGTUZPRlJGaG4tRjs2KC1GPjYmUSI4RidGQUZERkZGSUZLRk1GT0ZSLUY7NigtRj42JlEjMThGJ0ZBRkRGRkZJRktGTUZPRlItRjs2KC1GIzYmLUY+NiZRIzIxRidGQUZERkZGQUZERkZGSUZLRk1GT0ZSRmhuLUY7NigtRj42JlEiNEYnRkFGREZGRklGS0ZNRk9GUkZJRktGTS1GODYsRl9xLUY7NigtRj42JlEjMTdGJ0ZBRkRGRkZJRktGTUZPRlJGaG5GaW9GX3FGWUZib0ZJRktGTS8lJmFsaWduR1ElYXhpc0YnL0ZKUSliYXNlbGluZUYnL0ZMUSZyaWdodEYnL0ZOUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmlyLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmRzLyUmZnJhbWVHRmRzLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGQy8lLWVxdWFsY29sdW1uc0dGQy8lLWRpc3BsYXlzdHlsZUdGQy8lJXNpZGVHRmFyLyUwbWlubGFiZWxzcGFjaW5nR0Zhc0YwLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRidGQS8lK2ZvcmVncm91bmRHUShbMCwwLDBdRidGRC8lMGZvbnRfc3R5bGVfbmFtZUdRKzJEfkNvbW1lbnRGJ0ZGRkQvRkdRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRmB1LyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmZ0RkFGaXRGREZcdUZGF_list:=[seq(seq(F[i,j],i=1..3),j=1..7)];result:=map(n->AZ[n+1],F_list);LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDZQLUkjbWlHRiQ2I1EhRictSSNtc0dGJDYjUSJURictSSNtb0dGJDYtUSIsRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR1EldHJ1ZUYnLyUpc3RyZXRjaHlHRj8vJSpzeW1tZXRyaWNHRj8vJShsYXJnZW9wR0Y/LyUubW92YWJsZWxpbWl0c0dGPy8lJ2FjY2VudEdGPy8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUYzNiNRIkhGJ0Y2LUYzNiNRIkVGJ0Y2LUYzNiNRIk1GJ0Y2LUYzNiNRIkFGJ0Y2LUYzNiNRIlJGJ0Y2RjJGNi1GMzYjUSJJRidGNkZmbkY2LUYzNiNRIk5GJ0Y2LUYzNiNRIlNGJ0Y2RlNGNkZmbkY2LUYzNiNRIlZGJ0Y2RlZGNi1GMzYjUSJMRidGNkZmbkY2Rl9vRjYtRjM2I1EiREYnRjZGVkY2RltwRi4vJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRicvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGJ0Y6RjovJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRic=The method which has been used to encode messages is called a Hill substitution cipher. The method was invented by mathematician Lester Hill and is reviewed in References 1 and 2. This form of cipher is harder to decode than the simple substitution cipher. Each letter is not encoded by the same letter over and over; for example, in the above code for THE MARTIANS HAVE LANDED, the letter A appears four times and is encoded by J, V, E, and Z.Since the inverse of the key matrix is needed to decode the encoded message, any prospective key matrix must be invertible. As has been seen in Chapter 3, the determinant of the matrix shows whether a given matrix is invertible. However, since calculations are being done in modular arithmetic, the following criterion must be used. It is given in Reference 3, page 114.Fact:An LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= x LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= matrix A is invertible modulo LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= if and only if det A LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JkYrLUkjbW9HRiQ2LVElJm5lO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOi8lKXN0cmV0Y2h5R0Y6LyUqc3ltbWV0cmljR0Y6LyUobGFyZ2VvcEdGOi8lLm1vdmFibGVsaW1pdHNHRjovJSdhY2NlbnRHRjovJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZJRitGNUYrRjU= 0 mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= for every prime divisor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEicEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=.
Matrix A invertible modulo 26 means there is a matrix B such that AB = BA = I modulo 26. Thus a matrix A will be invertible modulo 26 (the inverse matrix B exists) if and only if det ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JkYrLUkjbW9HRiQ2LVElJm5lO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOi8lKXN0cmV0Y2h5R0Y6LyUqc3ltbWV0cmljR0Y6LyUobGFyZ2VvcEdGOi8lLm1vdmFibGVsaW1pdHNHRjovJSdhY2NlbnRHRjovJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZJLUkjbW5HRiQ2JFEiMEYnRjVGNUYrRjU= mod 13 and also det ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2JkYrLUkjbW9HRiQ2LVElJm5lO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOi8lKXN0cmV0Y2h5R0Y6LyUqc3ltbWV0cmljR0Y6LyUobGFyZ2VvcEdGOi8lLm1vdmFibGVsaW1pdHNHRjovJSdhY2NlbnRHRjovJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZJLUkjbW5HRiQ2JFEiMEYnRjVGNUYrRjU= mod 2. Warning: If the determinant of matrix A is nonzero modulo 26, then the two relations det ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2J0YrLUkjbW9HRiQ2LVElJm5lO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOi8lKXN0cmV0Y2h5R0Y6LyUqc3ltbWV0cmljR0Y6LyUobGFyZ2VvcEdGOi8lLm1vdmFibGVsaW1pdHNHRjovJSdhY2NlbnRHRjovJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZJLUkjbW5HRiQ2JFEiMEYnRjUvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGNUYrRlBGNQ== mod 13 and det ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2J0YrLUkjbW9HRiQ2LVElJm5lO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOi8lKXN0cmV0Y2h5R0Y6LyUqc3ltbWV0cmljR0Y6LyUobGFyZ2VvcEdGOi8lLm1vdmFibGVsaW1pdHNHRjovJSdhY2NlbnRHRjovJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZJLUkjbW5HRiQ2JFEiMEYnRjUvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGNUYrRlBGNQ== mod 2 may or not hold, in short, A may not be invertible modulo 26!Example:A, Determinant( A ), Determinant( A ) mod 13, Determinant( A ) mod 2;Since det LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= = -1635, which is equal to 3 mod 13 and 1 mod 2, this matrix is invertible modulo 26 and may be used as a key matrix for a Hill substitution cipher.Example:B := Matrix( 3,3, [[21,24,2],[0,1,3],[21,19,17]] ):B, Determinant( B ), Determinant( B ) mod 13, Determinant( B ) mod 2;Since det LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkobWZlbmNlZEdGJDYmLUYjNiUtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzIxRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzI0RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSIyRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KC1GOzYoLUY+NiRRIjBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRGTEZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjNGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRjotRjs2KC1GPjYkUSMxOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl1xLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmhxLyUmZnJhbWVHRmhxLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmJyLyUtZGlzcGxheXN0eWxlR0Zici8lJXNpZGVHRmVwLyUwbWlubGFiZWxzcGFjaW5nR0ZlcUYwRkEvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRic= = 630, which is equal to 6 mod 13 but 0 mod 2, this matrix is not invertible modulo 26 and may not be used as a key matrix.Maple can calculate the determinant of a matrix using modular arithmetic. To compute the determinant of the first example matrix modulo 13, one can use the commands A:=Matrix( [[3,10,20],[20,9,17],[9,4,17]] );Determinant(A) mod 13.Once it has been determined that a matrix A is invertible modulo 26, it may be used as a key matrix for a Hill substitution cipher. In order to decode this cipher the inverse of the key matrix A modulo 26 must be found. The same algorithm as presented in Section 2.2 of the text may be used: the matrix [ A | I ] is row reduced to [ I | ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjhGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOA== ], but the reduction is done in modular arithmetic.Row reduction can be a bit tricky here, because not all row operations are reversible when using mod 26 arithmetic. Scale operations are restricted to the reversible ones, namely scale row r by m provided 1/m exists modulo 26 (see the table at the end of the Lab for candidates m). Replacement operations are reversible modulo 26, because each element in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkobXN1YnN1cEdGJDYnLUkjbWlHRiQ2JVEiWkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEjMjZGJy9GNlEnbm9ybWFsRicvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGPi1GLzYjUSFGJy8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRicvJS9zdWJzY3JpcHRzaGlmdEdGSC1JI21vR0YkNi1RIn5GJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZRLyUpc3RyZXRjaHlHRlEvJSpzeW1tZXRyaWNHRlEvJShsYXJnZW9wR0ZRLyUubW92YWJsZWxpbWl0c0dGUS8lJ2FjY2VudEdGUS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmpuRkBGPg==has an additive inverse. Swap operations are reversible, modulo 26 having no impact.The modulo 26 multiplication table at the end of this Lab will be helpful in checking modulo 26 arithmetic in the following example.Example:A;
AI := < A | IdentityMatrix(3) >:
AI;
AI1 := scale( AI, 1, 9 ) mod 26:
AI1;
AI2 := replace( AI1, 2, 6, 1 ) mod 26:
AI3 := replace( AI2, 3, 17, 1 ) mod 26:
AI3;
AI4 := scale( AI3, 2, 9 ) mod 26:
AI5 := scale( AI4, 3, 3 ) mod 26:
AI5;
AI6 := replace( AI5, 2, 7, 3 ) mod 26:
AI7 := replace( AI6, 1, 2, 3 ) mod 26:
AI7;
AI8 := replace( AI7, 1, 14, 2 ) mod 26:
Ainv26a := AI8[1..3, 4..6]:
Ainv26, Ainv26a;It was shown above that the matrix A= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEjMTBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GREZGRkgtRjg2KEZULUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTdGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRmVuLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRmpuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3EvJSZmcmFtZUdGX3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaXEvJS1kaXNwbGF5c3R5bGVHRmlxLyUlc2lkZUdGXHAvJTBtaW5sYWJlbHNwYWNpbmdHRlxxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= is invertible modulo 26 with inverse ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2Ji1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjgvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGU0Y4 = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGY3EvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXnIvJSZmcmFtZUdGXnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaHIvJS1kaXNwbGF5c3R5bGVHRmhyLyUlc2lkZUdGW3EvJTBtaW5sYWJlbHNwYWNpbmdHRltyRjAvJTBmb250X3N0eWxlX25hbWVHUSsyRH5Db21tZW50RidGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmFzRkE=. To find the inverse, the algorithm begins with the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEiR0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JKG1mZW5jZWRHRiQ2Ji1GIzYmLUYsNiNRIUYnLUknbXRhYmxlR0YkNjctSSRtdHJHRiQ2Ky1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiM0YnRjkvJSlyb3dhbGlnbkdGVi8lLGNvbHVtbmFsaWduR0ZWLyUrZ3JvdXBhbGlnbkdGVi8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Zmby1GaG42KC1GW282JFEjMTBGJ0Y5Rl5vRmBvRmJvRmRvRmdvLUZobjYoLUZbbzYkUSMyMEYnRjlGXm9GYG9GYm9GZG9GZ28tRmhuNigtRltvNiRGZm9GOUZeb0Zgb0Zib0Zkb0Znby1GaG42KC1GW282JFEiMEYnRjlGXm9GYG9GYm9GZG9GZ29GZ3BGXm9GYG9GYm8tRmVuNitGXnAtRmhuNigtRltvNiRRIjlGJ0Y5Rl5vRmBvRmJvRmRvRmdvLUZobjYoLUZbbzYkUSMxN0YnRjlGXm9GYG9GYm9GZG9GZ29GZ3BGY3BGZ3BGXm9GYG9GYm8tRmVuNitGXnEtRmhuNigtRltvNiRRIjRGJ0Y5Rl5vRmBvRmJvRmRvRmdvRmNxRmdwRmdwRmNwRl5vRmBvRmJvLyUmYWxpZ25HUSVheGlzRicvRl9vUSliYXNlbGluZUYnL0Zhb1EmcmlnaHRGJy9GY29RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0YxLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGXHMvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZ3MvJSZmcmFtZUdGZ3MvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Y9LyUtZXF1YWxjb2x1bW5zR0Y9LyUtZGlzcGxheXN0eWxlR0Y9LyUlc2lkZUdGZXIvJTBtaW5sYWJlbHNwYWNpbmdHRmRzRlRGOUY5LyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRjk= . Derivation details will be supplied for the modulo 26 reduced row echelon form of G, rref(G) = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNictSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HRkAvJStjb2x1bW5zcGFuR0ZALUY7NigtRj42JFEjMTJGJ0ZBRkRGRkZIRkpGTC1GOzYoLUY+NiRRIjBGJ0ZBRkRGRkZIRkpGTC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRkxGUy1GOzYoLUY+NiRRIjZGJ0ZBRkRGRkZIRkpGTEZERkZGSC1GODYrRlNGOkZTLUY7NigtRj42JFEiN0YnRkFGREZGRkhGSkZMLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZMLUY7NigtRj42JFEjMjFGJ0ZBRkRGRkZIRkpGTEZERkZGSC1GODYrRlNGU0Y6RlhGUy1GOzYoLUY+NiRRIjNGJ0ZBRkRGRkZIRkpGTEZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmJxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl1yLyUmZnJhbWVHRl1yLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmdyLyUtZGlzcGxheXN0eWxlR0Znci8lJXNpZGVHRmpwLyUwbWlubGFiZWxzcGFjaW5nR0ZqcUYwLyUwZm9udF9zdHlsZV9uYW1lR1ErMkR+Q29tbWVudEYnRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zgc0ZB. The first row of G must be scaled so that there is a 1 in the first pivot position. Solve 3x = 1 mod 26, answer x=9 (consult the multiplication table for modulo 26 at the end of this Lab), then scale row 1 by 9 to produce G1= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HRkAvJStjb2x1bW5zcGFuR0ZALUY7NigtRj42JFEjMTJGJ0ZBRkRGRkZIRkpGTC1GOzYoLUY+NiRRIzI0RidGQUZERkZGSEZKRkwtRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRkwtRjs2KC1GPjYkUSIwRidGQUZERkZGSEZKRkxGZ25GREZGRkgtRjg2Ky1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRkxGWC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRkxGZ25GOkZnbkZERkZGSC1GODYrRlgtRjs2KC1GPjYkUSI0RidGQUZERkZGSEZKRkxGY29GZ25GZ25GOkZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl1xLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmhxLyUmZnJhbWVHRmhxLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmJyLyUtZGlzcGxheXN0eWxlR0Zici8lJXNpZGVHRmVwLyUwbWlubGFiZWxzcGFjaW5nR0ZlcUYwRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZB . To eliminate the 20 below the first pivot, solve 20+3x=0 modulo 26, answer x=6. Then multiply row 1 by 6 and add it to row 2, giving the answer LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEjRzJGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSI9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiQtSShtZmVuY2VkR0YkNigtRiM2KC1GLDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJ0Y5LyUpcm93YWxpZ25HRlkvJSxjb2x1bW5hbGlnbkdGWS8lK2dyb3VwYWxpZ25HRlkvJShyb3dzcGFuR0Zgby8lK2NvbHVtbnNwYW5HRmBvLUZbbzYoLUZebzYkUSMxMkYnRjlGYW9GY29GZW9GZ29GaW8tRltvNigtRl5vNiRRIzI0RidGOUZhb0Zjb0Zlb0Znb0Zpby1GW282KC1GXm82JFEiOUYnRjlGYW9GY29GZW9GZ29GaW8tRltvNigtRl5vNiRRIjBGJ0Y5RmFvRmNvRmVvRmdvRmlvRmpwRmFvRmNvRmVvLUZobjYrRmpwLUZbbzYoLUZebzYkUSIzRidGOUZhb0Zjb0Zlb0Znb0Zpby1GW282KC1GXm82JFEiNUYnRjlGYW9GY29GZW9GZ29GaW8tRltvNigtRl5vNiRRIjJGJ0Y5RmFvRmNvRmVvRmdvRmlvRmpuRmpwRmFvRmNvRmVvLUZobjYrRmVwLUZbbzYoLUZebzYkUSI0RidGOUZhb0Zjb0Zlb0Znb0Zpby1GW282KC1GXm82JFEjMTdGJ0Y5RmFvRmNvRmVvRmdvRmlvRmpwRmpwRmpuRmFvRmNvRmVvLyUmYWxpZ25HUSVheGlzRicvRmJvUSliYXNlbGluZUYnL0Zkb1EmcmlnaHRGJy9GZm9RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0YxLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGaXMvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZHQvJSZmcmFtZUdGZHQvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Y9LyUtZXF1YWxjb2x1bW5zR0Y9LyUtZGlzcGxheXN0eWxlR0Y9LyUlc2lkZUdGYnMvJTBtaW5sYWJlbHNwYWNpbmdHRmF0RlcvJStmb3JlZ3JvdW5kR1EqWzAsMCwyNTVdRicvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGJ0Y5RjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zcdi8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRidGV0ZmdUZpdUY5 ; likewise multiply row 1 by 17 and add it to row 3 to give LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEjRzNGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSI9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtZmVuY2VkR0YkNiYtRiM2Ji1GLDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJ0Y5LyUpcm93YWxpZ25HRlYvJSxjb2x1bW5hbGlnbkdGVi8lK2dyb3VwYWxpZ25HRlYvJShyb3dzcGFuR0Zdby8lK2NvbHVtbnNwYW5HRl1vLUZobjYoLUZbbzYkUSMxMkYnRjlGXm9GYG9GYm9GZG9GZm8tRmhuNigtRltvNiRRIzI0RidGOUZeb0Zgb0Zib0Zkb0Zmby1GaG42KC1GW282JFEiOUYnRjlGXm9GYG9GYm9GZG9GZm8tRmhuNigtRltvNiRRIjBGJ0Y5Rl5vRmBvRmJvRmRvRmZvRmdwRl5vRmBvRmJvLUZlbjYrRmdwLUZobjYoLUZbbzYkUSIzRidGOUZeb0Zgb0Zib0Zkb0Zmby1GaG42KC1GW282JFEiNUYnRjlGXm9GYG9GYm9GZG9GZm8tRmhuNigtRltvNiRRIjJGJ0Y5Rl5vRmBvRmJvRmRvRmZvRmduRmdwRl5vRmBvRmJvLUZlbjYrRmdwRmdwRmJwLUZobjYoLUZbbzYkUSMyM0YnRjlGXm9GYG9GYm9GZG9GZm9GZ3BGZ25GXm9GYG9GYm8vJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmFvUSZyaWdodEYnL0Zjb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zhcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZcdC8lJmZyYW1lR0ZcdC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0Zqci8lMG1pbmxhYmVsc3BhY2luZ0dGaXNGVEY5RjkvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGOQ== . Multiply row 3 by 11 and add to row 2, then multiply row 3 by 6 and add to row 1, to produce G5=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HRkAvJStjb2x1bW5zcGFuR0ZALUY7NigtRj42JFEjMTJGJ0ZBRkRGRkZIRkpGTC1GOzYoLUYjNiQtRj42JFEiMEYnRkFGQUZERkZGSEZKRkwtRjs2KC1GIzYkLUY+NiRRIzE3RidGQUZBRkRGRkZIRkpGTC1GOzYoRldGREZGRkhGSkZMLUY7NigtRiM2JC1GPjYkUSI2RidGQUZBRkRGRkZIRkpGTEZERkZGSC1GODYrRltvLUY7NigtRiM2JC1GPjYkUSIzRidGQUZBRkRGRkZIRkpGTEZTLUY7NigtRiM2JC1GPjYkUSMyMUYnRkFGQUZERkZGSEZKRkwtRjs2KC1GIzYkRj1GQUZERkZGSEZKRkwtRjs2KC1GIzYkLUY+NiRRIzExRidGQUZBRkRGRkZIRkpGTEZERkZGSC1GODYrRltvRltvLUY7NigtRiM2JC1GPjYkUSI5RidGQUZBRkRGRkZIRkpGTC1GOzYoLUYjNiQtRj42JFEjMjNGJ0ZBRkFGREZGRkhGSkZMRltvRmRwRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGXXMvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGaHMvJSZmcmFtZUdGaHMvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGYnQvJS1kaXNwbGF5c3R5bGVHRmJ0LyUlc2lkZUdGZXIvJTBtaW5sYWJlbHNwYWNpbmdHRmVzRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= . Replace row 1 by row 1 plus 22 times row 2 to get LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEjRzZGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSM6PUYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUkobWFjdGlvbkdGJDYkLUkobWZlbmNlZEdGJDYoLUYjNigtRiw2I1EhRictSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYrLUkkbXRkR0YkNigtSSNtbkdGJDYkUSIxRidGOS8lKXJvd2FsaWduR0ZZLyUsY29sdW1uYWxpZ25HRlkvJStncm91cGFsaWduR0ZZLyUocm93c3BhbkdGYG8vJStjb2x1bW5zcGFuR0Zgby1GW282KC1GXm82JFEiMEYnRjlGYW9GY29GZW9GZ29GaW9GW3AtRltvNigtRl5vNiRRIzExRidGOUZhb0Zjb0Zlb0Znb0Zpby1GW282KC1GXm82JFEjMjJGJ0Y5RmFvRmNvRmVvRmdvRmlvLUZbbzYoLUZebzYkUSMxNEYnRjlGYW9GY29GZW9GZ29GaW9GYW9GY29GZW8tRmhuNitGW3AtRltvNigtRl5vNiRRIjNGJ0Y5RmFvRmNvRmVvRmdvRmlvRltwLUZbbzYoLUZebzYkUSMyMUYnRjlGYW9GY29GZW9GZ29GaW9Gam5GYHBGYW9GY29GZW8tRmhuNitGW3BGW3AtRltvNigtRl5vNiRRIjlGJ0Y5RmFvRmNvRmVvRmdvRmlvLUZbbzYoLUZebzYkUSMyM0YnRjlGYW9GY29GZW9GZ29GaW9GW3BGam5GYW9GY29GZW8vJSZhbGlnbkdRJWF4aXNGJy9GYm9RKWJhc2VsaW5lRicvRmRvUSZyaWdodEYnL0Zmb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zkcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZfdC8lJmZyYW1lR0ZfdC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0Zdcy8lMG1pbmxhYmVsc3BhY2luZ0dGXHRGVy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GJy8lMGZvbnRfc3R5bGVfbmFtZUdRKjJEfk91dHB1dEYnRjlGOS9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmd1LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJ0ZXRmF1RmR1Rjk=. Finally, scale rows 2 and 3 to give G8=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HRkAvJStjb2x1bW5zcGFuR0ZALUY7NigtRj42JFEjMTJGJ0ZBRkRGRkZIRkpGTC1GOzYoLUY+NiRRIjBGJ0ZBRkRGRkZIRkpGTC1GOzYoLUY+NiRRIzE3RidGQUZERkZGSEZKRkxGUy1GOzYoLUY+NiRRIjZGJ0ZBRkRGRkZIRkpGTEZERkZGSC1GODYrRlNGOkZTLUY7NigtRj42JFEiN0YnRkFGREZGRkhGSkZMLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZMLUY7NigtRj42JFEjMjFGJ0ZBRkRGRkZIRkpGTEZERkZGSC1GODYrRlNGU0Y6RlhGUy1GOzYoLUY+NiRRIjNGJ0ZBRkRGRkZIRkpGTEZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmJxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl1yLyUmZnJhbWVHRl1yLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmdyLyUtZGlzcGxheXN0eWxlR0Znci8lJXNpZGVHRmpwLyUwbWlubGFiZWxzcGFjaW5nR0ZqcUYwRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZB. Thus ALUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2I1EhRictRiM2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZMLUkjbW5HRiQ2JFEiMUYnRjhGOC8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRidGOA== = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIyRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMxNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSI3RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSI5RidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyMUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGY3EvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXnIvJSZmcmFtZUdGXnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGaHIvJS1kaXNwbGF5c3R5bGVHRmhyLyUlc2lkZUdGW3EvJTBtaW5sYWJlbHNwYWNpbmdHRltyRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE= as noted above. Maple can also do all of this. The package laylinalg can be used to do the row operations:with(laylinalg):G:=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkobWZlbmNlZEdGJDYoLUYjNiotSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNistSSRtdGRHRiQ2KC1JI21uR0YkNiZRIjNGJy8lJWJvbGRHUSZmYWxzZUYnLyUrZXhlY3V0YWJsZUdGQy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZRLUY7NigtRj42JlEjMTBGJ0ZBRkRGRkZJRktGTUZPRlItRjs2KC1GPjYmUSMyMEYnRkFGREZGRklGS0ZNRk9GUi1GOzYoLUY+NiZGUUZBRkRGRkZJRktGTUZPRlItRjs2KC1GPjYmUSIwRidGQUZERkZGSUZLRk1GT0ZSRlxvRklGS0ZNLUY4NitGWS1GOzYoLUY+NiZRIjlGJ0ZBRkRGRkZJRktGTUZPRlItRjs2KC1GPjYmUSMxN0YnRkFGREZGRklGS0ZNRk9GUkZcb0ZobkZcb0ZJRktGTS1GODYrRmNvLUY7NigtRj42JlEiNEYnRkFGREZGRklGS0ZNRk9GUkZob0Zcb0Zcb0ZobkZJRktGTS8lJmFsaWduR1ElYXhpc0YnL0ZKUSliYXNlbGluZUYnL0ZMUSZyaWdodEYnL0ZOUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmJxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl1yLyUmZnJhbWVHRl1yLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGQy8lLWVxdWFsY29sdW1uc0dGQy8lLWRpc3BsYXlzdHlsZUdGQy8lJXNpZGVHRmpwLyUwbWlubGFiZWxzcGFjaW5nR0ZqcUYwLyUnZmFtaWx5R1EwVGltZXN+TmV3flJvbWFuRidGQUZELyUwZm9udF9zdHlsZV9uYW1lR1EnTm9ybWFsRidGRkZEL0ZHUSVib2xkRicvJStmb250d2VpZ2h0R0Zmcy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zfc0ZBRkRGYnNGRg==solve(3*x=1,x) mod 26; # Answer = 9, so scale by 9 modulo 26G1:=scale(G,1,9) mod 26;solve(20+3*x=0,x) mod 26; # solve 20+3x=0 modulo 26, answer x=6.G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G:=T1;G1:=scale(G,1,9) mod 26;G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26;G1:=scale(G,1,9) mod 26;G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26;G1:=scale(G,1,9) mod 26;G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26;G:=T1;G1:=scale(G,1,9) mod 26;G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26;G:=T1;G1:=scale(G,1,9) mod 26;G2:=replace(G1,2,6,1) mod 26;G3:=replace(G2,3,17,1) mod 26;G4:=replace(G3,2,11,3) mod 26;G5:=replace(G4,1,6,3) mod 26;G6:=replace(G5,1,22,2) mod 26;G7:=scale(G6,2,9) mod 26;G8:=scale(G7,3,3) mod 26; The command GaussianElimination( M ) mod n will reduce the matrix M to row echelon form while doing the arithmetic modulo LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lMGZvbnRfc3R5bGVfbmFtZUdRKzJEfkNvbW1lbnRGJy9GM1Enbm9ybWFsRic=. In 2015 maple, commands ReducedRowEchelonForm( M ) mod n and MatrixInverse( M ) mod n are implemented. Also, 1/M mod 26 prints the inverse of M, modulo 26, without the LinearAlgebra package being loaded.GaussianElimination( M ) mod 26;MatrixInverse( M ) mod 26;Problems to be Submitted:Problem 1.Compute the following modulo 26. (a)17+24(b)20 x 5(c)7*Vector(3,[4,12,21])-3*Vector(3,[14,5,16]);LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2KEYrLUYjNiYtSSNtbkdGJDYkUSI3RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnRjcvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkAvJSlzdHJldGNoeUdGQC8lKnN5bW1ldHJpY0dGQC8lKGxhcmdlb3BHRkAvJS5tb3ZhYmxlbGltaXRzR0ZALyUnYWNjZW50R0ZALyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTy1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYmLUkkbXRkR0YkNigtRjQ2JFEiNEYnRjcvJSlyb3dhbGlnbkdGLi8lLGNvbHVtbmFsaWduR0YuLyUrZ3JvdXBhbGlnbkdGLi8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Zlb0Zdb0Zfb0Zhby1GZW42Ji1GaG42KC1GNDYkUSMxMkYnRjdGXW9GX29GYW9GY29GZm9GXW9GX29GYW8tRmVuNiYtRmhuNigtRjQ2JFEjMjFGJ0Y3Rl1vRl9vRmFvRmNvRmZvRl1vRl9vRmFvLyUmYWxpZ25HUSVheGlzRicvRl5vUSliYXNlbGluZUYnL0Zgb1EmcmlnaHRGJy9GYm9RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZHEvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGX3IvJSZmcmFtZUdGX3IvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0ZALyUtZXF1YWxjb2x1bW5zR0ZALyUtZGlzcGxheXN0eWxlR0ZALyUlc2lkZUdGXHEvJTBtaW5sYWJlbHNwYWNpbmdHRlxyRitGN0Y3LyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRjctRjs2LVEoJm1pbnVzO0YnRjdGPkZBRkNGRUZHRklGSy9GTlEsMC4yMjIyMjIyZW1GJy9GUUZbdC1GIzYmLUY0NiRRIjNGJ0Y3RjotRlM2Ji1GIzYmRistRlg2Ny1GZW42Ji1GaG42KC1GNDYkUSMxNEYnRjdGXW9GX29GYW9GY29GZm9GXW9GX29GYW8tRmVuNiYtRmhuNigtRjQ2JFEiNUYnRjdGXW9GX29GYW9GY29GZm9GXW9GX29GYW8tRmVuNiYtRmhuNigtRjQ2JFEjMTZGJ0Y3Rl1vRl9vRmFvRmNvRmZvRl1vRl9vRmFvRmZwRmlwRltxRl1xRl9xRmJxRmVxRmdxRmpxRl1yRmByRmJyRmRyRmdyRmlyRltzRl1zRl9zRitGN0Y3RmFzRmRzRjdGK0Y3RitGNw==(d)Matrix( 3, 3, [[11,22,14],[7,9,21],[17,0,3]] ) . Matrix( 3, 3, [[3,10,20],[20,9,17],[9,4,17]] );LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2I1EhRictRiM2Ji1JKG1mZW5jZWRHRiQ2Ji1GIzYmRistSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYoLUkkbXRkR0YkNigtSSNtbkdGJDYkUSMxMUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR0YuLyUsY29sdW1uYWxpZ25HRi4vJStncm91cGFsaWduR0YuLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRk4tRj02KC1GQDYkUSMyMkYnRkNGRkZIRkpGTEZPLUY9NigtRkA2JFEjMTRGJ0ZDRkZGSEZKRkxGT0ZGRkhGSi1GOjYoLUY9NigtRkA2JFEiN0YnRkNGRkZIRkpGTEZPLUY9NigtRkA2JFEiOUYnRkNGRkZIRkpGTEZPLUY9NigtRkA2JFEjMjFGJ0ZDRkZGSEZKRkxGT0ZGRkhGSi1GOjYoLUY9NigtRkA2JFEjMTdGJ0ZDRkZGSEZKRkxGTy1GPTYoLUZANiRRIjBGJ0ZDRkZGSEZKRkxGTy1GPTYoLUZANiRRIjNGJ0ZDRkZGSEZKRkxGT0ZGRkhGSi8lJmFsaWduR1ElYXhpc0YnL0ZHUSliYXNlbGluZUYnL0ZJUSZyaWdodEYnL0ZLUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmVxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmByLyUmZnJhbWVHRmByLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmpyLyUtZGlzcGxheXN0eWxlR0Zqci8lJXNpZGVHRl1xLyUwbWlubGFiZWxzcGFjaW5nR0ZdckYrRkNGQy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJ0ZDLyUmZmVuY2VHRmpyLyUqc2VwYXJhdG9yR0Zqci8lKXN0cmV0Y2h5R0Zqci8lKnN5bW1ldHJpY0dGanIvJShsYXJnZW9wR0Zqci8lLm1vdmFibGVsaW1pdHNHRmpyLyUnYWNjZW50R0Zqci8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRl11LUYyNiYtRiM2JkYrLUY3NjctRjo2KEZicC1GPTYoLUZANiRRIzEwRidGQ0ZGRkhGSkZMRk8tRj02KC1GQDYkUSMyMEYnRkNGRkZIRkpGTEZPRkZGSEZKLUY6NihGXXZGXG9GaG9GRkZIRkotRjo2KEZcby1GPTYoLUZANiRRIjRGJ0ZDRkZGSEZKRkxGT0Zob0ZGRkhGSkZncEZqcEZccUZecUZgcUZjcUZmcUZocUZbckZeckZhckZjckZlckZockZbc0Zdc0Zfc0Zhc0YrRkNGQ0Zjc0Zmc0ZDRitGQw==Problem 2.Encode the phrase BUY TEN SHARES TOMORROW using the key matrix A from the Examples.Problem 3.Decode the phrase KSKBHXKDYRVTKRZTQE which was encoded using the key matrix A from the Examples.Problem 4.Determine whether the following matrices are invertible modulo 26.(a)m4a := Matrix( 3,3, [[11,20,20],[2,1,24],[9,3,3]] ):m4a;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GT0ZERkZGSC1GODYoLUY7NigtRj42JFEiMkYnRkFGREZGRkhGSkZNLUY7NigtRj42JEZMRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjRGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRmVvRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGaHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGY3EvJSZmcmFtZUdGY3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGXXIvJS1kaXNwbGF5c3R5bGVHRl1yLyUlc2lkZUdGYHAvJTBtaW5sYWJlbHNwYWNpbmdHRmBxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=(b)m4b := Matrix( 3,3, [[2,5,0],[22,9,4],[17,21,8]] ):m4b;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjJGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEiNUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMyMkYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjFGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIjhGJ0ZBRkRGRkZIRkpGTUZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmNxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl5yLyUmZnJhbWVHRl5yLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmhyLyUtZGlzcGxheXN0eWxlR0Zoci8lJXNpZGVHRltxLyUwbWlubGFiZWxzcGFjaW5nR0ZbckYwRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZB(c)m4c := Matrix( 3,3, [[3,1,24],[20,11,25],[12,4,19]] ):m4c;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JEZMRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjRGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoLUY7NigtRj42JFEjMjBGJ0ZBRkRGRkZIRkpGTS1GOzYoLUY+NiRRIzExRidGQUZERkZGSEZKRk0tRjs2KC1GPjYkUSMyNUYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMxMkYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiNEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTlGJ0ZBRkRGRkZIRkpGTUZERkZGSC8lJmFsaWduR1ElYXhpc0YnL0ZFUSliYXNlbGluZUYnL0ZHUSZyaWdodEYnL0ZJUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmJxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl1yLyUmZnJhbWVHRl1yLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmdyLyUtZGlzcGxheXN0eWxlR0Znci8lJXNpZGVHRmpwLyUwbWlubGFiZWxzcGFjaW5nR0ZqcUYwRkFGQS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZBProblem 5.B := Matrix( 3,3, [[4,9,15],[15,17,6],[24,0,17]] ):B;Consider the key matrix B = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjRGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdGMy8lLGNvbHVtbmFsaWduR0YzLyUrZ3JvdXBhbGlnbkdGMy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZMLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMTVGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoRlQtRjs2KC1GPjYkUSMxN0YnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiNkYnRkFGREZGRkhGSkZNRkRGRkZILUY4NigtRjs2KC1GPjYkUSMyNEYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiMEYnRkFGREZGRkhGSkZNRmVuRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGaXAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZHEvJSZmcmFtZUdGZHEvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGXnIvJS1kaXNwbGF5c3R5bGVHRl5yLyUlc2lkZUdGYXAvJTBtaW5sYWJlbHNwYWNpbmdHRmFxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=. (a)Encode the message MARY HAD A LITTLE LAMB using this key matrix.(b)Show that the matrix B is invertible.(c)Find LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiQkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvRjZRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlEtSSNtbkdGJDYkUSIxRidGPkY+LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y+ modulo 26.(d)Decode the message FVRMTGJTJJRMULSIRGBEMRNVFRC which was encoded using the key matrix B.Problem 6.A := Matrix( 3,3, [[11,20,20],[2,1,24],[9,3,3]] ):A;Consider the key matrix A = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzExRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGTC1GOzYoLUY+NiRRIzIwRidGQUZERkZGSEZKRk1GT0ZERkZGSC1GODYoLUY7NigtRj42JFEiMkYnRkFGREZGRkhGSkZNLUY7NigtRj42JEZMRkFGREZGRkhGSkZNLUY7NigtRj42JFEjMjRGJ0ZBRkRGRkZIRkpGTUZERkZGSC1GODYoLUY7NigtRj42JFEiOUYnRkFGREZGRkhGSkZNLUY7NigtRj42JFEiM0YnRkFGREZGRkhGSkZNRmVvRkRGRkZILyUmYWxpZ25HUSVheGlzRicvRkVRKWJhc2VsaW5lRicvRkdRJnJpZ2h0RicvRklRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGaHAvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGY3EvJSZmcmFtZUdGY3EvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGXXIvJS1kaXNwbGF5c3R5bGVHRl1yLyUlc2lkZUdGYHAvJTBtaW5sYWJlbHNwYWNpbmdHRmBxRjBGQUZBLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRkE=.(a)Encode the message RED SKY AT NIGHT using this key matrix.(b)Show that the matrix A is invertible.(c)Find LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvRjZRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlEtSSNtbkdGJDYkUSIxRidGPkY+LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Y+ modulo 26.(d)Decode the message IWGEJLFWRBUEUOWBHPZMLMXNXUBOEUAHG which was encoded using the key matrix A.References1.Hill, Lester. "Cryptography in an Algebraic Alphabet." American Mathematical Monthly, June-July 1929, pp. 306-312.2.Hill, Lester. "Concerning Certain Linear Transformation Apparatus of Cryptography." American Mathematical Monthly, March 1931, pp. 135-154. 3.Konheim, Alan G. Cryptography: A Primer. New York: John Wiley and Sons, 1981.4. Bretscher, Otto. Linear Algebra with Applications, 4/E. New York: Pearson, 2008. ISBN 0136009263, 9780136009269.Multiplication Table (mod 26)MT1 := Matrix( 27, 1, (i,j)->i-1 ):MT2 := Matrix( 27, 27, (i,j)-> MT1[i,1]*MT1[j,1] mod 26 ):MT := < < `` | MT1^%T >,
< MT1 | MT2 > >:MT;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYjUSFGJy1JJ210YWJsZUdGJDZQLUkkbXRyR0YkNkEtSSRtdGRHRiQ2KEYwLyUpcm93YWxpZ25HRjMvJSxjb2x1bW5hbGlnbkdGMy8lK2dyb3VwYWxpZ25HRjMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGRS1GOzYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJ0Y9Rj9GQUZDRkYtRjs2KC1GSzYkRkVGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSIyRidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSIzRidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI0RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI1RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI2RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI3RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI4RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSI5RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMxMEYnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMTFGJ0ZORj1GP0ZBRkNGRi1GOzYoLUZLNiRRIzEyRidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMxM0YnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMTRGJ0ZORj1GP0ZBRkNGRi1GOzYoLUZLNiRRIzE1RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMxNkYnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMTdGJ0ZORj1GP0ZBRkNGRi1GOzYoLUZLNiRRIzE4RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMxOUYnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMjBGJ0ZORj1GP0ZBRkNGRi1GOzYoLUZLNiRRIzIxRidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMyMkYnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMjNGJ0ZORj1GP0ZBRkNGRi1GOzYoLUZLNiRRIzI0RidGTkY9Rj9GQUZDRkYtRjs2KC1GSzYkUSMyNUYnRk5GPUY/RkFGQ0ZGLUY7NigtRks2JFEjMjZGJ0ZORj1GP0ZBRkNGRkY9Rj9GQS1GODZBRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGPUY/RkEtRjg2QUZRRkhGUUZVRlpGaW5GXm9GY29GaG9GXXBGYnBGZ3BGXHFGYXFGZnFGW3JGYHJGZXJGanJGX3NGZHNGaXNGXnRGY3RGaHRGXXVGYnVGSEY9Rj9GQS1GODZBRlVGSEZVRmluRmNvRl1wRmdwRmFxRltyRmVyRl9zRmlzRmN0Rl11RkhGVUZpbkZjb0ZdcEZncEZhcUZbckZlckZfc0Zpc0ZjdEZddUZIRj1GP0ZBLUY4NkFGWkZIRlpGY29GYnBGYXFGYHJGX3NGXnRGXXVGUUZpbkZob0ZncEZmcUZlckZkc0ZjdEZidUZVRl5vRl1wRlxxRltyRmpyRmlzRmh0RkhGPUY/RkEtRjg2QUZpbkZIRmluRl1wRmFxRmVyRmlzRl11RlVGY29GZ3BGW3JGX3NGY3RGSEZpbkZdcEZhcUZlckZpc0ZddUZVRmNvRmdwRltyRl9zRmN0RkhGPUY/RkEtRjg2QUZeb0ZIRl5vRmdwRmByRmlzRmJ1RmluRmJwRltyRmRzRl11RlpGXXBGZnFGX3NGaHRGVUZob0ZhcUZqckZjdEZRRmNvRlxxRmVyRl50RkhGPUY/RkEtRjg2QUZjb0ZIRmNvRmFxRl9zRl11RmluRmdwRmVyRmN0RlVGXXBGW3JGaXNGSEZjb0ZhcUZfc0ZddUZpbkZncEZlckZjdEZVRl1wRltyRmlzRkhGPUY/RkEtRjg2QUZob0ZIRmhvRltyRl50RlVGYnBGZXJGaHRGaW5GXHFGX3NGYnVGY29GZnFGaXNGUUZdcEZgckZjdEZaRmdwRmpyRl11Rl5vRmFxRmRzRkhGPUY/RkEtRjg2QUZdcEZIRl1wRmVyRl11RmNvRltyRmN0RmluRmFxRmlzRlVGZ3BGX3NGSEZdcEZlckZddUZjb0ZbckZjdEZpbkZhcUZpc0ZVRmdwRl9zRkhGPUY/RkEtRjg2QUZicEZIRmJwRl9zRlFGZ3BGZHNGVUZccUZpc0ZaRmFxRl50RmluRmZxRmN0Rl5vRltyRmh0RmNvRmByRl11RmhvRmVyRmJ1Rl1wRmpyRkhGPUY/RkEtRjg2QUZncEZIRmdwRmlzRmluRltyRl11Rl1wRl9zRlVGYXFGY3RGY29GZXJGSEZncEZpc0ZpbkZbckZddUZdcEZfc0ZVRmFxRmN0RmNvRmVyRkhGPUY/RkEtRjg2QUZccUZIRlxxRmN0RmhvRl9zRlpGW3JGYnVGZ3BGXnRGY29GanJGVUZmcUZddUZicEZpc0Zeb0ZlckZRRmFxRmh0Rl1wRmRzRmluRmByRkhGPUY/RkEtRjg2QUZhcUZIRmFxRl11RmdwRmN0Rl1wRmlzRmNvRl9zRmluRmVyRlVGW3JGSEZhcUZddUZncEZjdEZdcEZpc0Zjb0Zfc0ZpbkZlckZVRltyRkhGPUY/RkEtRjg2QUZmcUZIRmZxRkhGZnFGSEZmcUZIRmZxRkhGZnFGSEZmcUZIRmZxRkhGZnFGSEZmcUZIRmZxRkhGZnFGSEZmcUZIRmZxRkhGPUY/RkEtRjg2QUZbckZIRltyRlVGZXJGaW5GX3NGY29GaXNGXXBGY3RGZ3BGXXVGYXFGSEZbckZVRmVyRmluRl9zRmNvRmlzRl1wRmN0RmdwRl11RmFxRkhGPUY/RkEtRjg2QUZgckZIRmByRmluRmRzRl1wRmh0RmFxRlFGZXJGXm9GaXNGYnBGXXVGZnFGVUZqckZjb0ZedEZncEZidUZbckZaRl9zRmhvRmN0RlxxRkhGPUY/RkEtRjg2QUZlckZIRmVyRmNvRmN0RmFxRlVGX3NGXXBGXXVGW3JGaW5GaXNGZ3BGSEZlckZjb0ZjdEZhcUZVRl9zRl1wRl11RltyRmluRmlzRmdwRkhGPUY/RkEtRjg2QUZqckZIRmpyRl1wRmJ1RmVyRmhvRl11RmByRmNvRmh0RltyRl5vRmN0RmZxRmluRl50RmFxRlpGaXNGXHFGVUZkc0ZncEZRRl9zRmJwRkhGPUY/RkEtRjg2QUZfc0ZIRl9zRmdwRlVGaXNGYXFGaW5GY3RGW3JGY29GXXVGZXJGXXBGSEZfc0ZncEZVRmlzRmFxRmluRmN0RltyRmNvRl11RmVyRl1wRkhGPUY/RkEtRjg2QUZkc0ZIRmRzRmFxRl5vRl11RmpyRmdwRlpGY3RGYHJGXXBGUUZpc0ZmcUZjb0ZidUZfc0ZccUZpbkZodEZlckZicEZVRl50RltyRmhvRkhGPUY/RkEtRjg2QUZpc0ZIRmlzRltyRl1wRlVGY3RGZXJGZ3BGaW5GXXVGX3NGYXFGY29GSEZpc0ZbckZdcEZVRmN0RmVyRmdwRmluRl11Rl9zRmFxRmNvRkhGPUY/RkEtRjg2QUZedEZIRl50RmVyRlxxRmNvRlFGY3RGanJGYXFGaG9GVUZodEZfc0ZmcUZdcEZaRl11RmRzRltyRmJwRmluRmJ1RmlzRmByRmdwRl5vRkhGPUY/RkEtRjg2QUZjdEZIRmN0Rl9zRltyRmdwRmNvRlVGXXVGaXNGZXJGYXFGXXBGaW5GSEZjdEZfc0ZbckZncEZjb0ZVRl11RmlzRmVyRmFxRl1wRmluRkhGPUY/RkEtRjg2QUZodEZIRmh0RmlzRmpyRltyRlxxRl1wRl5vRlVGYnVGY3RGZHNGZXJGZnFGZ3BGaG9GaW5GUUZddUZedEZfc0ZgckZhcUZicEZjb0ZaRkhGPUY/RkEtRjg2QUZddUZIRl11RmN0RmlzRl9zRmVyRltyRmFxRmdwRl1wRmNvRmluRlVGSEZddUZjdEZpc0Zfc0ZlckZbckZhcUZncEZdcEZjb0ZpbkZVRkhGPUY/RkEtRjg2QUZidUZIRmJ1Rl11Rmh0RmN0Rl50RmlzRmRzRl9zRmpyRmVyRmByRltyRmZxRmFxRlxxRmdwRmJwRl1wRmhvRmNvRl5vRmluRlpGVUZRRkhGPUY/RkEtRjg2QUZndUZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEZIRkhGSEY9Rj9GQS8lJmFsaWduR1ElYXhpc0YnL0Y+USliYXNlbGluZUYnL0ZAUSdjZW50ZXJGJy9GQlEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zgei8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZbW2wvJSZmcmFtZUdGW1tsLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmVbbC8lLWRpc3BsYXlzdHlsZUdGZVtsLyUlc2lkZUdRJnJpZ2h0RicvJTBtaW5sYWJlbHNwYWNpbmdHRmh6RjBGTkZOLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRk4=The maple commands used to create this table are:interface(rtablesize=28):M2:=Matrix(27,27,(i,j)->(i-1)*(j-1) mod 26);interface(rtablesize=28):M2:=Matrix(27,27,(i,j)->(i-1)*(j-1) mod 26);M3:=Vector(27,i->i-1);M4:=<M3|M2>;row1:=<'x',M3>^+;tableMultiplyMod26:=<row1,M4>;