private void choas_creation(int length, double First_X, double U, ChoasEnum choas_select) { choas_number_bin = new double[length + 1]; choas_number_bin[0] = First_X; for (int i = 1; i <= length; i++) { switch (choas_select) { case ChoasEnum.First: { choas_number_bin[i] = get_choas_value_PWLCM(choas_number_bin[i - 1], U); break; } case ChoasEnum.Secend: { choas_number_bin[i] = get_choas_value(choas_number_bin[i - 1], U); break; } } } for (int i = 1; i <= length; i++) { choas_number_bin[i] = Math.Round(choas_number_bin[i]); } }
public Encryption(int length, double First_X, double U, ChoasEnum choas_select) { choas_creation(length * 3, First_X, U, choas_select); choas_creation_oct(); }
public static string EncryptString(string inputText, double First_X, double U, ChoasEnum choas_select) { try { UnicodeEncoding byteConverter = new UnicodeEncoding(); byte[] dataToEncrypt = byteConverter.GetBytes(inputText); return(Convert.ToBase64String(UtilityFunction.EncryptByte(dataToEncrypt, First_X, U, choas_select))); } catch (Exception ex) { throw ex; } }
public static byte[] EncryptByte(byte[] in_Byte, double First_X, double U, ChoasEnum choas_select) { try { Encryption t_encription = new Encryption(128, First_X, U, choas_select); byte[] t_Output = new byte[in_Byte.Length]; int i = 0; byte[] file_value = new byte[128]; int in_c = 0; int out_c = 0; while (in_c < in_Byte.Length) { file_value[i] = in_Byte[in_c++]; i++; if (i == 128) { t_encription.encrypt(file_value); byte[] encrypt_data = t_encription.encrypt_information; for (int i_f = 0; i_f < encrypt_data.Length; i_f++) { t_Output[out_c++] = encrypt_data[i_f]; } i = 0; } } if (i != 0) { if (i % 2 == 0) { byte[] file_value2 = new byte[i]; for (int j = 0; j < i; j++) { file_value2[j] = file_value[j]; } t_encription.encrypt(file_value2); byte[] encrypt_data = t_encription.encrypt_information; for (int i_f = 0; i_f < encrypt_data.Length; i_f++) { t_Output[out_c++] = encrypt_data[i_f]; } } else { byte[] file_value2 = new byte[i - 1]; for (int j = 0; j < i - 1; j++) { file_value2[j] = file_value[j]; } if (i > 2) { t_encription.encrypt(file_value2); byte[] encrypt_data = t_encription.encrypt_information; for (int i_f = 0; i_f < encrypt_data.Length; i_f++) { t_Output[out_c++] = encrypt_data[i_f]; } } t_Output[out_c++] = file_value[i - 1]; } } return(t_Output); } catch (Exception ex) { throw ex; } }
public static string DecryptString(string inputText, double First_X, double U, ChoasEnum choas_select) { try { byte[] decryptedData = UtilityFunction.EncryptByte(Convert.FromBase64String(inputText), First_X, U, choas_select); UnicodeEncoding byteConverter = new UnicodeEncoding(); return(byteConverter.GetString(decryptedData)); } catch (Exception ex) { throw ex; } }
public static MemoryStream EncryptStream(MemoryStream inputStream, double First_X, double U, ChoasEnum choas_select) { try { byte[] dataToEncrypt = inputStream.ToArray(); var encryptData = UtilityFunction.EncryptByte(dataToEncrypt, First_X, U, choas_select); MemoryStream ms = new MemoryStream(); ms.Write(encryptData, 0, encryptData.Length); return(ms); } catch (Exception ex) { throw ex; } }