pith. machine review for the scientific record. sign in
def

securityLevelRatio

definition
show as:
view math explainer →
module
IndisputableMonolith.Cryptography.KeyLengthFromPhiLadder
domain
Cryptography
line
41 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Cryptography.KeyLengthFromPhiLadder on GitHub at line 41.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

used by

formal source

  38noncomputable section
  39
  40/-- Security level spacing on log₂-key-length ladder: φ^(1/2). -/
  41noncomputable def securityLevelRatio : ℝ := Real.sqrt phi
  42
  43theorem securityLevelRatio_pos : 0 < securityLevelRatio := by
  44  unfold securityLevelRatio; exact Real.sqrt_pos.mpr phi_pos
  45
  46theorem securityLevelRatio_gt_one : 1 < securityLevelRatio := by
  47  unfold securityLevelRatio
  48  rw [show (1 : ℝ) = Real.sqrt 1 from (Real.sqrt_one).symm]
  49  exact Real.sqrt_lt_sqrt (by norm_num) one_lt_phi
  50
  51/-- Standard symmetric key lengths (bits). -/
  52def keyLength80 : ℕ := 80
  53def keyLength128 : ℕ := 128
  54def keyLength256 : ℕ := 256
  55
  56theorem keyLength_doubling : keyLength128 * 2 = keyLength256 := by
  57  unfold keyLength128 keyLength256; norm_num
  58
  59structure KeyLengthCert where
  60  ratio_pos : 0 < securityLevelRatio
  61  ratio_gt_one : 1 < securityLevelRatio
  62  key_doubling : keyLength128 * 2 = keyLength256
  63
  64noncomputable def cert : KeyLengthCert where
  65  ratio_pos := securityLevelRatio_pos
  66  ratio_gt_one := securityLevelRatio_gt_one
  67  key_doubling := keyLength_doubling
  68
  69theorem cert_inhabited : Nonempty KeyLengthCert := ⟨cert⟩
  70
  71end