private bool GetResult() { try { Believe formula = Formula as Believe; if (formula != null && //First formula must be of type Believe formula.Formula.GetType() == typeof(Believe) && ((Believe)formula.Formula).Formula.GetType() == typeof(SharedKey) // there are two believe formulas and one SharedKey formulas ) { var encryptedFormula1 = formula.Formula as Believe; var encryptedFormula2 = encryptedFormula1.Formula as SharedKey; if (encryptedFormula2 != null && (Equals(formula.Agent1, encryptedFormula2.Agent1) && Equals(encryptedFormula1.Agent1, encryptedFormula2.Agent2))) //The Agents are the same { return(true); } } } catch (Exception e) { Console.WriteLine(e); throw; } return(false); }
public bool UpdateBelieve(Believe believe) { try { var b = (from Believe in data.Believes where Believe.ID_Tin == believe.ID_Tin select Believe).Single(); b.ID_Tin = believe.ID_Tin; b.TieuDe = believe.TieuDe; b.NgayDang = believe.NgayDang; b.URL_Hinh = believe.URL_Hinh; b.Ngay = believe.Ngay; b.NoiDung = believe.NoiDung; b.ID_LoaiTin = believe.ID_LoaiTin; b.SoLanXem = believe.SoLanXem; b.TinNoiBat = believe.TinNoiBat; data.SubmitChanges(); return(true); } catch { return(false); } }
private BaseLogic GetResult() { try { Believe formula1 = Formula1 as Believe; if (formula1 != null && //First formula must be of type Receives formula1.Formula.GetType() == typeof(Believe)) //The second parameter must be an encrypted value with key K { var believeFormula = formula1.Formula as Believe; if (believeFormula.Message.Equals("X1...Xi...Xn")) //The encrypted message key and the shared key between Agent1 and Agent2 are identical { return(new Believe() { Agent1 = formula1.Agent1, Formula = new Believe() { Agent1 = believeFormula.Agent1, Message = "Xi" } }); } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
private bool GetResult() { try { Believe formula = Formula as Believe; if (formula != null && //First formula must be of type Believe formula.Formula.GetType() == typeof(SharedKey) ) //The second parameter must be an encrypted value with key K { var encryptedFormula = formula.Formula as SharedSecret; if (Equals(formula.Agent1, encryptedFormula.Agent1) || Equals(formula.Agent1, encryptedFormula.Agent1)) //The Agents are the same { return(true); } } } catch (Exception e) { Console.WriteLine(e); throw; } return(false); }
private BaseLogic GetResult() { try { Believe formula1 = Formula1 as Believe; if (formula1 != null && formula1.Formula.GetType() == typeof(Fresh)) { // var saidFormula = formula1.Formula as Fresh; // if (saidFormula.Message.Equals(freshFormula.Message, StringComparison.InvariantCultureIgnoreCase) &&//The encrypted message key and the shared key between Agent1 and Agent2 are identical // Equals(formula1.Agent1, formula2.Agent1)) //The first Agents are the same // { return(new Believe { Agent1 = formula1.Agent1, Formula = new Fresh() { Formula = Formula2 } }); // } } } // } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
private static BaseLogic RuleLogic(BaseLogic _formula1, BaseLogic _formula2) { try { var formula1 = _formula1 as Believe; var formula2 = _formula2 as Believe; if (formula1 != null && formula2 != null && formula1.Agent1.Equals(formula2.Agent1)) { var concatenate = new Concatenate(); concatenate.Formulas.Add(formula1.Formula); concatenate.Formulas.Add(formula2.Formula); var believe = new Believe { Agent1 = formula1.Agent1, Formula = concatenate }; return(believe); } ; } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
public bool AddBelieve(Believe believe) { try { data.Believes.InsertOnSubmit(believe); data.SubmitChanges(); return(true); } catch { return(false); } }
private static BaseLogic RuleLogic(BaseLogic _formula1, BaseLogic _formula2) { try { Receives formula1 = _formula1 as Receives; Believe formula2 = _formula2 as Believe; if (formula1 != null && //First formula must be of type Receives formula1.Formula.GetType() == typeof(Encryption)) //The second parameter must be an encrypted value with key K { var encryptionFormula = formula1.Formula as Encryption; if (formula2 != null && //Second formula must be of type Believes formula2.Formula.GetType() == typeof(SharedKey)) //The second parameter must be a shared key K { var sharedKey = formula2.Formula as SharedKey; if (encryptionFormula.Key.Equals(sharedKey.Key, StringComparison.InvariantCultureIgnoreCase) && //The encrypted message key and the shared key between Agent1 and Agent2 are identical Equals(formula1.Agent1, formula2.Agent1) /*&&//The first Agents are the same * sharedKey.Agent1.Equals(formula1.Agent1)*/)// the shared key agent is the same with the agent from the first formula. { var logic = new Believe { Agent1 = formula1.Agent1, Formula = new Said() { Agent1 = sharedKey.Agent2 } }; if (encryptionFormula.Formula != null) { ((Said)logic.Formula).Formula = encryptionFormula.Formula; } else { logic.Formula.Message = encryptionFormula.Message; } return(logic); } } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
public bool DeleteBelieve(int id) { try { Believe be = (from Believe in data.Believes where Believe.ID_LoaiTin == id select Believe).Single(); data.Believes.DeleteOnSubmit(be); return(true); } catch { return(false); } }
private BaseLogic GetResult() { try { Sees formula1 = Formula1 as Sees; Believe formula2 = Formula2 as Believe; if (formula1 != null && formula1.Formula.GetType() == typeof(EncryptedSecret)) { if (formula2 != null && formula2.Formula.GetType() == typeof(SharedSecret)) { var sharedSecretFormula = formula2.Formula as SharedSecret; var sharedSecretFormula2 = formula1.Formula as EncryptedSecret; if (sharedSecretFormula2 != null && sharedSecretFormula != null && sharedSecretFormula.Key.Equals(sharedSecretFormula2.Key, StringComparison.InvariantCultureIgnoreCase) && formula1.Agent1.Equals(formula2.Agent1) && sharedSecretFormula.Agent2.Equals(formula1.Agent1)) { return(new Believe { Agent1 = formula1.Agent1, Formula = new Said { Agent1 = sharedSecretFormula.Agent1, Message = sharedSecretFormula.Key } }); } } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
private BaseLogic GetResult() { try { Sees formula1 = Formula1 as Sees; Believe formula2 = Formula2 as Believe; if (formula1 != null && formula1.Formula.GetType() == typeof(EncryptedSecret)) { if (formula2 != null && formula2.Formula.GetType() == typeof(PublicEncryption)) { var encryptedFormula = formula2.Formula as PublicEncryption; var encryptedSecret = formula1.Formula as EncryptedSecret; if (encryptedSecret != null && (encryptedFormula != null && (encryptedFormula.Key.Equals(encryptedSecret.Key) && Equals(formula1.Agent1, formula2.Agent1) && encryptedFormula.Agent1.Equals(formula1.Agent1)))) { return(new Believe { Agent1 = formula1.Agent1, Formula = new Said { Agent1 = encryptedFormula.Agent1, Message = encryptedSecret.Message } }); } } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
private BaseLogic GetResult() { try { Believe formula1 = Formula1 as Believe; Believe formula2 = Formula2 as Believe; if (formula1 != null && //First formula must be of type Believe formula1.Formula.GetType() == typeof(Fresh)) { var freshFormula = formula1.Formula as Fresh; if (formula2 != null && //Second formula must be of type Believes formula2.Formula.GetType() == typeof(Said)) { var said = formula2.Formula as Said; if (said != null && (freshFormula != null && (freshFormula.Message.Equals(said.Message, StringComparison.InvariantCultureIgnoreCase) && Equals(formula1.Agent1, formula2.Agent1)))) //The first Agents are the same { return(new Believe { Agent1 = formula1.Agent1, Formula = new Believe { Agent1 = said.Agent1, Message = said.Message } }); } } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
private BaseLogic GetResult() { try { Believe formula1 = Formula1 as Believe; Believe formula2 = Formula2 as Believe; if (formula1 != null && formula1.Formula.GetType() == typeof(Controls)) { var controlFormula = formula1.Formula as Controls; if (formula2 != null && formula2.Formula.GetType() == typeof(Believe)) { var believeFormula = formula2.Formula as Believe; if (believeFormula != null && (controlFormula != null && (formula1.Agent1.Equals(formula2.Agent1) && controlFormula.Agent1.Equals(believeFormula.Agent1) && controlFormula.Message.Equals(believeFormula.Message, StringComparison.InvariantCultureIgnoreCase)))) { return(new Believe { Agent1 = formula1.Agent1, Message = controlFormula.Message }); } } } } catch (Exception e) { Console.WriteLine(e); throw; } return(null); }
public void InitializeAssumptions() { #region A bel A <Kab> B var f1 = new Believe { Agent1 = AgentList["A"], Formula = new SharedKey() }; ((SharedKey)f1.Formula).Agent1 = f1.Agent1; ((SharedKey)f1.Formula).Agent2 = AgentList["B"]; ((SharedKey)f1.Formula).Key = "Kab"; InitialAssumptions.Add(f1); #endregion #region B bel A<Kab> B var f2 = new Believe { Agent1 = AgentList["B"], Formula = new SharedKey() }; ((SharedKey)f2.Formula).Agent1 = AgentList["A"]; ((SharedKey)f2.Formula).Agent2 = AgentList["B"]; ((SharedKey)f2.Formula).Key = "Kab"; InitialAssumptions.Add(f2); #endregion #region B bel A <Kab'> B var f3 = new Believe { Agent1 = AgentList["B"], Formula = new SharedKey() }; ((SharedKey)f3.Formula).Agent1 = AgentList["A"]; ((SharedKey)f3.Formula).Agent2 = AgentList["B"]; ((SharedKey)f3.Formula).Key = "Kab'"; InitialAssumptions.Add(f3); #endregion #region A bel B controls A<K>B var f4 = new Believe { Agent1 = AgentList["A"] }; var f5 = new Controls { Agent1 = AgentList["B"] }; var f6 = new SharedKey(); f4.Formula = f5; f5.Formula = f6; f6.Agent1 = AgentList["A"]; f6.Agent2 = AgentList["B"]; f6.Key = "K"; InitialAssumptions.Add(f4); #endregion #region A bel fresh(Na) var f10 = new Believe { Agent1 = AgentList["A"] }; var f11 = new Fresh { Message = "Na" }; f10.Formula = f11; InitialAssumptions.Add(f10); #endregion #region B bel fresh(Nb) var f12 = new Believe { Agent1 = AgentList["B"] }; var f13 = new Fresh { Message = "Nb" }; f12.Formula = f13; InitialAssumptions.Add(f12); #endregion #region B bel fresh(Nb') var f14 = new Believe { Agent1 = AgentList["B"] }; var f15 = new Fresh { Message = "Nb'" }; f14.Formula = f15; InitialAssumptions.Add(f14); #endregion }
public void InitializeAssumptions() { #region A bel A <Kas>S var f1 = new Believe { Agent1 = AgentList["A"], Formula = new SharedKey() }; ((SharedKey)f1.Formula).Agent1 = f1.Agent1; ((SharedKey)f1.Formula).Agent2 = AgentList["S"]; ((SharedKey)f1.Formula).Key = "Kas"; InitialAssumptions.Add(f1); #endregion #region S bel A<Kas>S var f2 = new Believe { Agent1 = AgentList["S"], Formula = new SharedKey() }; ((SharedKey)f2.Formula).Agent1 = AgentList["A"]; ((SharedKey)f2.Formula).Agent2 = AgentList["S"]; ((SharedKey)f2.Formula).Key = "Kas"; InitialAssumptions.Add(f2); #endregion #region S bel A<Kab>S var f3 = new Believe { Agent1 = AgentList["S"], Formula = new SharedKey() }; ((SharedKey)f3.Formula).Agent1 = AgentList["A"]; ((SharedKey)f3.Formula).Agent2 = AgentList["S"]; ((SharedKey)f3.Formula).Key = "Kab"; InitialAssumptions.Add(f3); #endregion #region A bel S controls A<K>B var f4 = new Believe { Agent1 = AgentList["A"] }; var f5 = new Controls { Agent1 = AgentList["S"] }; var f6 = new SharedKey(); f4.Formula = f5; f5.Formula = f6; f6.Agent1 = AgentList["A"]; f6.Agent2 = AgentList["B"]; f6.Key = "K"; InitialAssumptions.Add(f4); #endregion #region B bel S controls A<K>B var f7 = new Believe { Agent1 = AgentList["B"] }; var f8 = new Controls { Agent1 = AgentList["S"] }; var f9 = new SharedKey(); f7.Formula = f8; f8.Formula = f9; f9.Agent1 = AgentList["A"]; f9.Agent2 = AgentList["B"]; f9.Key = "K"; InitialAssumptions.Add(f7); #endregion #region A bel fresh(TS) var f10 = new Believe { Agent1 = AgentList["A"] }; var f11 = new Fresh { Message = "TS" }; f10.Formula = f11; InitialAssumptions.Add(f10); #endregion #region B bel fresh(TS) var f12 = new Believe { Agent1 = AgentList["B"] }; var f13 = new Fresh { Message = "TS" }; f12.Formula = f13; InitialAssumptions.Add(f12); #endregion #region B bel fresh(TA) var f14 = new Believe { Agent1 = AgentList["B"] }; var f15 = new Fresh { Message = "TA" }; f14.Formula = f15; InitialAssumptions.Add(f14); #endregion #region A bel fresh(TA) var f16 = new Believe { Agent1 = AgentList["A"] }; var f17 = new Fresh { Message = "TA" }; f16.Formula = f17; InitialAssumptions.Add(f16); #endregion #region B bel B <Kbs>S var f18 = new Believe { Agent1 = AgentList["B"], Formula = new SharedKey() }; ((SharedKey)f18.Formula).Agent1 = f18.Agent1; ((SharedKey)f18.Formula).Agent2 = AgentList["S"]; ((SharedKey)f18.Formula).Key = "Kbs"; InitialAssumptions.Add(f18); #endregion #region S bel B <Kbs>S var f19 = new Believe { Agent1 = AgentList["S"], Formula = new SharedKey() }; ((SharedKey)f19.Formula).Agent1 = AgentList["B"]; ((SharedKey)f19.Formula).Agent2 = AgentList["S"]; ((SharedKey)f19.Formula).Key = "Kbs"; InitialAssumptions.Add(f19); #endregion }
public void InitializeAssumptions() { #region A bel A <Kas>S var i1 = new Believe { Agent1 = AgentList["A"], Formula = new SharedKey() }; ((SharedKey)i1.Formula).Agent1 = AgentList["A"]; ((SharedKey)i1.Formula).Agent2 = AgentList["S"]; ((SharedKey)i1.Formula).Key = "Kas"; InitialAssumptions.Add(i1); #endregion #region B bel B <Kbs>S var i2 = new Believe { Agent1 = AgentList["B"], Formula = new SharedKey() }; ((SharedKey)i2.Formula).Agent1 = AgentList["B"]; ((SharedKey)i2.Formula).Agent2 = AgentList["S"]; ((SharedKey)i2.Formula).Key = "Kbs"; InitialAssumptions.Add(i2); #endregion #region A bel S controls A<K>B var i3 = new Believe { Agent1 = AgentList["A"] }; var i4 = new Controls { Agent1 = AgentList["S"] }; var i5 = new SharedKey(); i3.Formula = i4; i4.Formula = i5; i5.Agent1 = AgentList["A"]; i5.Agent2 = AgentList["B"]; i5.Key = "K"; InitialAssumptions.Add(i3); #endregion #region B bel S controls A<K>B var i6 = new Believe { Agent1 = AgentList["B"] }; var i7 = new Controls { Agent1 = AgentList["S"] }; var i10 = new SharedKey(); i6.Formula = i7; i7.Formula = i10; i10.Agent1 = AgentList["A"]; i10.Agent2 = AgentList["B"]; i10.Key = "K"; InitialAssumptions.Add(i6); #endregion #region A bel fresh(Na) var i11 = new Believe { Agent1 = AgentList["A"], Formula = new Fresh() }; ((Fresh)i11.Formula).Message = "Na"; InitialAssumptions.Add(i11); #endregion #region B bel fresh(Nb) var i12 = new Believe { Agent1 = AgentList["B"], Formula = new Fresh() }; ((Fresh)i12.Formula).Message = "Nb"; InitialAssumptions.Add(i12); #endregion #region A bel S controls fresh(A,K>B) var i13 = new Believe { Agent1 = AgentList["A"] }; var i14 = new Controls { Agent1 = AgentList["S"] }; var i15 = new Fresh(); i13.Formula = i14; i14.Formula = i15; i15.Formula = new SharedKey(); ((SharedKey)i15.Formula).Key = "K"; ((SharedKey)i15.Formula).Agent1 = AgentList["A"]; ((SharedKey)i15.Formula).Agent1 = AgentList["B"]; InitialAssumptions.Add(i13); #endregion }