private bool StartEncrypt() { CryptoHandler crypto = new CryptoHandler(); List <byte> encryptionRequest = new List <byte>(); string serverID = ""; if (protocol.protocolVersion < MCVersion.MC172Version) { serverID = "lilium-pre"; } encryptionRequest.AddRange(getString(serverID)); encryptionRequest.AddRange(getArray(crypto.getPublic())); byte[] token = new byte[4]; var rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); rng.GetBytes(token); encryptionRequest.AddRange(getArray(token)); SendPacket(0x01, encryptionRequest); List <byte> encryptResponse = new List <byte>(readDataRAW(readNextVarIntRAW())); if (readNextVarInt(encryptResponse) == 0x01) { List <byte> dec = new List <byte>(); dec.AddRange(crypto.Decrypt(readNextByteArray(encryptResponse))); dec.RemoveRange(0, dec.Count - 16); byte[] key_dec = dec.ToArray(); byte[] token_dec = token; EncStream = CryptoHandler.getAesStream(Client.GetStream(), key_dec); this.encrypted = true; return(true); } return(false); }
private static string DesypherFile() { string result = null; byte[] bytes = File.ReadAllBytes(@"../../Files/classified_file.txt"); result = _crypto.Decrypt(bytes); return(result); }
public static void DisplayValues(byte[] input) // Get values from node config and display them { byte[] Key = hexToByte("2b7e151628aed2a6abf7158809cf4f3c"); //Convert the hex string to a byte array byte[] IV = hexToByte("000102030405060708090a0b0c0d0e0f"); //Convert the hex string to a byte array CryptoHandler cryptoHandler = new CryptoHandler(); byte[] data = cryptoHandler.Decrypt(input, Key, IV); int lastIndex = Array.FindLastIndex(data, b => b != 0); Array.Resize(ref data, lastIndex + 1); RLConfigPayload payload = RLConfigPayload.Parser.ParseFrom(data); string NodeID = "Node ID (SN): " + payload.NodeID.ToString(); string NetworkID = "Network ID: " + payload.NetworkID.ToString(); string NetworkChannel = "Network Channel: " + payload.NetworkChannel.ToString(); string AppAreaID = "Application Area ID: " + payload.ApplicationAreaID.ToString("X"); string HardVer = "Hardware Version: " + payload.HardwareVersion.ToString(); string Softver = "Software Version: " + payload.SoftwareVersion.Major.ToString() + "." + payload.SoftwareVersion.Devel.ToString() + "." + payload.SoftwareVersion.Maint.ToString() + "." + payload.SoftwareVersion.Minor.ToString(); string MeshVer = "Wirepas Version: " + payload.WirepasVersion.Major.ToString() + "." + payload.WirepasVersion.Devel.ToString() + "." + payload.WirepasVersion.Maint.ToString() + "." + payload.WirepasVersion.Minor.ToString(); string NodeConfig = payload.NodeConfiguration.ToString(); string OperatingMode = "Operating Mode: "; switch (payload.OperatingMode) { case NodeOperatingMode.Run: OperatingMode = "Operating Mode: Run"; break; case NodeOperatingMode.Inventory: OperatingMode = "Operating Mode: Inventory"; break; } string HeadNodeRSSI = "Normalized Head Node RSSI: " + (Convert.ToDouble((payload.HeadNodeRSSI) / 254.0f) * 100.0f).ToString() + "%"; string BatVoltage = "Battery Voltage: " + (Convert.ToDouble(payload.BatteryVoltage) / 1000.0f).ToString() + " V"; string GateConnect = "Gateway Connected: " + (payload.GatewayConnected ? "Yes" : "No").ToString(); string UplinkRate = "Uplink Rate: " + payload.UplinkRate.ToString() + " Seconds"; string DeviceRole = "Device Role: "; switch (payload.NodeRole) { case NodeRole.HeadnodeAnchor: DeviceRole = "Device Role: Router"; break; case NodeRole.SubnodeTracked: DeviceRole = "Device Role: Leaf"; break; } string AssetTrack = "Asset Tracking: " + (payload.AssetTrackingEnabled ? "Enabled" : "Disabled").ToString(); string[] valueList = new string[] { NodeID, NetworkID, NetworkChannel, AppAreaID, HardVer, Softver, MeshVer, NodeConfig, OperatingMode, HeadNodeRSSI, BatVoltage, GateConnect, UplinkRate, DeviceRole, AssetTrack }; ReadFromNode readValues = new ReadFromNode(); readValues.DisplayValues(valueList); //Display the values }