From c0c42524de98099094b38610711fadc19dc287c4 Mon Sep 17 00:00:00 2001 From: Aly Date: Fri, 12 Sep 2025 09:16:05 -0600 Subject: [PATCH] add some cryptography stuff --- computational-diffie-hellman.md | 4 ++++ decisional-diffie-hellman.md | 4 ++++ ket.md | 4 ++++ np-complete.md | 4 ++++ np-hard.md | 4 ++++ np.md | 5 +++++ probabilistic-polynomial-time.md | 5 +++++ 7 files changed, 30 insertions(+) create mode 100644 computational-diffie-hellman.md create mode 100644 decisional-diffie-hellman.md create mode 100644 ket.md create mode 100644 np-complete.md create mode 100644 np-hard.md create mode 100644 np.md create mode 100644 probabilistic-polynomial-time.md diff --git a/computational-diffie-hellman.md b/computational-diffie-hellman.md new file mode 100644 index 0000000..2f51f74 --- /dev/null +++ b/computational-diffie-hellman.md @@ -0,0 +1,4 @@ +# Computational Diffie–Hellman + +- computational version of [[decisional-diffie-hellman|Decisional Diffie–Hellman]] +- given a generator $`g`$ and uniformly selected $`\left(g^a, g^b\right)`$, compute $`g^{ab}`$ diff --git a/decisional-diffie-hellman.md b/decisional-diffie-hellman.md new file mode 100644 index 0000000..1a108bb --- /dev/null +++ b/decisional-diffie-hellman.md @@ -0,0 +1,4 @@ +# Decisional Diffie–Hellman + +- decisional version of [[computational-diffie-hellman|Computational Diffie–Hellman]] +- given a generator $`g`$ and uniformly selected $`\left(g^a, g^b\right)`$, discriminate $`g^{ab}`$ from a different group value $`c`$ diff --git a/ket.md b/ket.md new file mode 100644 index 0000000..78c87cf --- /dev/null +++ b/ket.md @@ -0,0 +1,4 @@ +# Ket + +- $`\ket{u}`$ where $`u`$ is the _name_ of a _state_ +- [[push]] [[column-vector|Column Vector]] diff --git a/np-complete.md b/np-complete.md new file mode 100644 index 0000000..f50f8b6 --- /dev/null +++ b/np-complete.md @@ -0,0 +1,4 @@ +# NP Complete + +- a problem that all other [[np|NP]] problems can be reduced to +- if you can solve the decision version in P-time, you can solve all decision problems in [[np|NP]] in P-time diff --git a/np-hard.md b/np-hard.md new file mode 100644 index 0000000..43d1337 --- /dev/null +++ b/np-hard.md @@ -0,0 +1,4 @@ +# NP Hard + +- may not necessarily be in [[np|NP]] +- computational version of [[np-complete|NP Complete]] diff --git a/np.md b/np.md new file mode 100644 index 0000000..629f365 --- /dev/null +++ b/np.md @@ -0,0 +1,5 @@ +# NP + +- class of languages whose membership proofs can be verified in polynomial time +- the [[discrete-log|Discrete Log]] problem is an example of an NP problem + - from $`g^x`$ in a finite field it is hard to compute $`\log_g\left(g^x\right)`$, but easy to check $`g^x = g^y`$ to validate a knowledge proof of $`x`$ diff --git a/probabilistic-polynomial-time.md b/probabilistic-polynomial-time.md new file mode 100644 index 0000000..e8e4579 --- /dev/null +++ b/probabilistic-polynomial-time.md @@ -0,0 +1,5 @@ +# Probabilistic Polynomial Time + +- for a given problem, a PPT algorithm for the problem runs in P-time, with a high (likely non-one) probability of giving the correct answer + - takes randomness as an input + - impossible to guarantee the real solution without running the algorithm on all possible randomness (NP)