From 1b6d13a671511fa21c095b14ffacfdccec0f7952 Mon Sep 17 00:00:00 2001 From: gogo2464 Date: Sun, 13 Oct 2024 07:44:39 +0000 Subject: [PATCH] deploy: 6952c5d7cae7939fe840faad02c684539fc2d2cd --- .../episode-2-proof-demonstration/index.html | 31 +-------------- .../episode-2-proof-demonstration/latex.pdf | Bin 0 -> 83527 bytes .../episode-2-proof-demonstration/latex.tex | 37 ++++++++++++++++++ .../theory-behind-type7-hash.png | Bin 0 -> 79990 bytes 4 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex.pdf create mode 100644 from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex.tex create mode 100644 from-0-to-crypto-by-projects/episode-2-proof-demonstration/theory-behind-type7-hash.png diff --git a/from-0-to-crypto-by-projects/episode-2-proof-demonstration/index.html b/from-0-to-crypto-by-projects/episode-2-proof-demonstration/index.html index d51f0ec..3dd66cb 100644 --- a/from-0-to-crypto-by-projects/episode-2-proof-demonstration/index.html +++ b/from-0-to-crypto-by-projects/episode-2-proof-demonstration/index.html @@ -4,38 +4,11 @@ ">Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths :: Hello Friend NG — A simple theme for Hugo
-

Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths

III - Reversing checksum, Method by mathematical proof: disproof

According to the documentation and as it is mentionned that type 7 is an hashing algorithm.

A secure hash algorithm is an hash algorithm so that there does not exist a function f(enc) so that f(enc) = original_plaintext.

1 - Analysis under mathematical thinking

The reverse engineering of the hash of vigenere cisco has permitted to deduct the method taken by this algorithm.

We could then guess that the researchers thanks then that:

\documentclass{article}
-\usepackage{amsmath}
-\usepackage{mathtools, nccmath}
-\usepackage{amssymb, amsthm, mathrsfs}
-\begin{document}
-According to the decompilation of the Ciso Vigenere hash algorithm, when the password length is less than 16 the idea behind Ciso Vigenere hash algorithm is: \\
-Let p be the password that the user types. \\
-Let hp be the hardcoded password in the code of Packet Tracer. \\
-Let lp be the length of the user input password. \\
-Let h be the hash value obtained from the custom algorithm. \\
-So that:
-
-$ \forall h \forall lp \forall hp [hp = (d, s, f, d, ;, k, f, o, A, ,, ., i, y, e, w, r, k, l, d, J, K, D, H, S, U, B, s, g, v, c, a, 6, 9, 8, 3, 4, n, c, x , v), \\
-0 < lp < 16, \\
-h_{0} = 0, \\
-h_{1} = 8, \\
-h = \Sigma_{i=2}^{lp}
-\begin{cases}
-    ((p_i \oplus hp_{8 + i}) \gg 4) + 0x30,                                   & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 < 0xa0)        \text{ and if } i \equiv 0 \pmod 2 \\
-    ((p_i \oplus hp_{8 + i}) \gg 4) + 0x37,                                   & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 \geq 0xa0)     \text{ and if } i \equiv 0 \pmod 2 \\
-    ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x30,                               & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf < 0x0a)               \text{ and if } i \equiv 1 \pmod 2 \\
-    ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x37,                               & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf \geq 0x0a)            \text{ and if } i \equiv 1 \pmod 2
-\end{cases} \\
-] \implies \nexists p[p = \mathbf{rev}(h)] $ \\
-
-
-\end{document}
-

.

We now have the mathematical proof (demonstration) that the algorithm is vulnerable.