public CommunicationProtocol(ICoderWithSettings coder, IHash coderHash, ICoderWithSettings decoder, IHash decoderHash)
        {
            _coder       = coder;
            _decoder     = decoder;
            _coderHash   = coderHash;
            _decoderHash = decoderHash;

            ValidationKey  = new ValidationKey();
            CipherSettings = new CipherSettingsViewModel();

            _coder.CurrentSatate = CipherSettings.InitBytesRegister;
            var sboxesArray = CipherSettings.SboxesArray;

            _coder.Sboxes   = sboxesArray;
            _decoder.Sboxes = sboxesArray;
            getSboxesBytes(sboxesArray);
            CipherSettings.PropertyChanged += cipherSettingsViewModelOnPropertyChanged;
        }
 public MainWindowViewModel()
 {
     FilesViewModel          = new FilesViewModel();
     CipherSettingsViewModel = new CipherSettingsViewModel();
     ProgressVisibility      = Visibility.Collapsed;
 }