Skip to content

Commit

Permalink
deploy: 6952c5d
Browse files Browse the repository at this point in the history
  • Loading branch information
gogo2464 committed Oct 13, 2024
1 parent 58d02df commit 1b6d13a
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,11 @@
"><meta name=keywords content><meta name=robots content="noodp"><meta name=theme-color content><link rel=canonical href=https://gogo2464.github.io/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/><title>Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths :: Hello Friend NG — A simple theme for Hugo
</title><link href=https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css rel=stylesheet type=text/css><link rel=stylesheet href=/gogo-s-blog-cpe/main.d7ff2d2210fd0ab14f417c6d91d2931b4ecffab189943b30890ff820a24a57c9.css><script src=https://kit.fontawesome.com/0ed5cec925.js crossorigin=anonymous></script><link rel=apple-touch-icon sizes=180x180 href=/gogo-s-blog-cpe/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/gogo-s-blog-cpe/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/gogo-s-blog-cpe/favicon-16x16.png><link rel=manifest href=/gogo-s-blog-cpe/site.webmanifest><link rel=mask-icon href=/gogo-s-blog-cpe/safari-pinned-tab.svg color><link rel="shortcut icon" href=/gogo-s-blog-cpe/favicon.ico><meta name=msapplication-TileColor content><meta itemprop=name content="Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths"><meta itemprop=description content="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."><meta itemprop=datePublished content="2024-10-13T01:25:30+02:00"><meta itemprop=dateModified content="2024-10-13T01:25:30+02:00"><meta itemprop=wordCount content="373"><meta itemprop=image content="https://gogo2464.github.io/gogo-s-blog-cpe/"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://gogo2464.github.io/gogo-s-blog-cpe/"><meta name=twitter:title content="Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths"><meta name=twitter:description content="III - Reversing checksum, Method by mathematical proof: disproof According to the documentation and as it is mentionned that type 7 is an hashing algorithm.
1 - Analysis under mathematical thinking The reverse engineering of the hash of vigenere cisco has permitted to deduct the method taken by this algorithm."><meta itemprop=datePublished content="2024-10-13T01:25:30+02:00"><meta itemprop=dateModified content="2024-10-13T01:25:30+02:00"><meta itemprop=wordCount content="94"><meta itemprop=image content="https://gogo2464.github.io/gogo-s-blog-cpe/"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="https://gogo2464.github.io/gogo-s-blog-cpe/"><meta name=twitter:title content="Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths"><meta name=twitter:description content="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."><meta property="article:published_time" content="2024-10-13 01:25:30 +0200 +0200"></head><body><div class=container><header class=header><span class=header__inner><a href=/gogo-s-blog-cpe style=text-decoration:none><div class=logo><span class=logo__mark>></span>
<span class=logo__text>crypto pwn elite (cpe) blog</span>
<span class=logo__cursor style=background-color:#fff></span></div></a><span class=header__right><nav class=menu><ul class=menu__inner><div class=submenu><li class=dropdown><a href=/gogo-s-blog-cpe/from-0-to-buffer-overflow-by-projects>0toOverflow</a></li></div><div class=submenu><li class=dropdown><a href=/gogo-s-blog-cpe/from-0-to-crypto-by-projects>0toCrypto</a></li></div><div class=submenu><li class=dropdown><a href=/gogo-s-blog-cpe/putting-games-on-darknet>Putting-games-on-darknet</a></li></div></ul></nav><span class=menu-trigger><svg viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
</span><span class="theme-toggle not-selectable"><svg class="theme-toggler" width="24" height="24" viewBox="0 0 48 48" fill="none"><path d="M22 41c10.4934.0 19-8.5066 19-19C41 11.5066 32.4934 3 22 3 11.5066 3 3 11.5066 3 22s8.5066 19 19 19zM7 22C7 13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22z"/></svg></span></span></span></header><div class=content><main class=post><div class=post-info></p></div><article><h2 class=post-title><a href=https://gogo2464.github.io/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/>Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths</a></h2><div class=post-content><h2 id=iii---reversing-checksum-method-by-mathematical-proof-disproof>III - Reversing checksum, Method by mathematical proof: disproof</h2><p>According to the documentation and as it is mentionned that type 7 is an hashing algorithm.</p><p>A secure hash algorithm is an hash algorithm so that there does not exist a function <code>f(enc)</code> so that <code>f(enc) = original_plaintext</code>.</p><h2 id=1---analysis-under-mathematical-thinking>1 - Analysis under mathematical thinking</h2><p>The reverse engineering of the hash of vigenere cisco has permitted to deduct the method taken by this algorithm.</p><p>We could then guess that the researchers thanks then that:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-latex data-lang=latex><span style=display:flex><span><span style=color:#66d9ef>\documentclass</span>{article}
</span></span><span style=display:flex><span><span style=color:#66d9ef>\usepackage</span>{amsmath}
</span></span><span style=display:flex><span><span style=color:#66d9ef>\usepackage</span>{mathtools, nccmath}
</span></span><span style=display:flex><span><span style=color:#66d9ef>\usepackage</span>{amssymb, amsthm, mathrsfs}
</span></span><span style=display:flex><span><span style=color:#66d9ef>\begin</span>{document}
</span></span><span style=display:flex><span>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: <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>Let p be the password that the user types. <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>Let hp be the hardcoded password in the code of Packet Tracer. <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>Let lp be the length of the user input password. <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>Let h be the hash value obtained from the custom algorithm. <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>So that:
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#e6db74>$</span> \forall h \forall lp \forall hp <span style=color:#f92672>[</span>hp <span style=color:#f92672>=</span> <span style=color:#f92672>(</span>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, <span style=color:#ae81ff>6</span>, <span style=color:#ae81ff>9</span>, <span style=color:#ae81ff>8</span>, <span style=color:#ae81ff>3</span>, <span style=color:#ae81ff>4</span>, n, c, x , v<span style=color:#f92672>)</span>, \\
</span></span><span style=display:flex><span><span style=color:#ae81ff>0</span> &lt; lp &lt; <span style=color:#ae81ff>16</span>, \\
</span></span><span style=display:flex><span>h_{<span style=color:#ae81ff>0</span>} <span style=color:#f92672>=</span> <span style=color:#ae81ff>0</span>, \\
</span></span><span style=display:flex><span>h_{<span style=color:#ae81ff>1</span>} <span style=color:#f92672>=</span> <span style=color:#ae81ff>8</span>, \\
</span></span><span style=display:flex><span>h <span style=color:#f92672>=</span> \Sigma_{i<span style=color:#f92672>=</span><span style=color:#ae81ff>2</span>}^{lp}
</span></span><span style=display:flex><span>\begin{cases}
</span></span><span style=display:flex><span> <span style=color:#f92672>((</span>p_i \oplus hp_{<span style=color:#ae81ff>8</span> <span style=color:#f92672>+</span> i}<span style=color:#f92672>)</span> \gg <span style=color:#ae81ff>4</span><span style=color:#f92672>)</span> <span style=color:#f92672>+</span> <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>30</span>, &amp; \text{if } <span style=color:#f92672>(</span>p_{i} \oplus hp_{i<span style=color:#f92672>+</span><span style=color:#ae81ff>8</span>} \land <span style=color:#ae81ff>0</span>xfffffff<span style=color:#ae81ff>0</span> &lt; <span style=color:#ae81ff>0</span>xa<span style=color:#ae81ff>0</span><span style=color:#f92672>)</span> \text{ and if } i \equiv <span style=color:#ae81ff>0</span> \pmod <span style=color:#ae81ff>2</span> \\
</span></span><span style=display:flex><span> <span style=color:#f92672>((</span>p_i \oplus hp_{<span style=color:#ae81ff>8</span> <span style=color:#f92672>+</span> i}<span style=color:#f92672>)</span> \gg <span style=color:#ae81ff>4</span><span style=color:#f92672>)</span> <span style=color:#f92672>+</span> <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>37</span>, &amp; \text{if } <span style=color:#f92672>(</span>p_{i} \oplus hp_{i<span style=color:#f92672>+</span><span style=color:#ae81ff>8</span>} \land <span style=color:#ae81ff>0</span>xfffffff<span style=color:#ae81ff>0</span> \geq <span style=color:#ae81ff>0</span>xa<span style=color:#ae81ff>0</span><span style=color:#f92672>)</span> \text{ and if } i \equiv <span style=color:#ae81ff>0</span> \pmod <span style=color:#ae81ff>2</span> \\
</span></span><span style=display:flex><span> <span style=color:#f92672>((</span>p_i \oplus hp_{<span style=color:#ae81ff>8</span> <span style=color:#f92672>+</span> i}<span style=color:#f92672>)</span> \land <span style=color:#ae81ff>0</span>xf<span style=color:#f92672>)</span> <span style=color:#f92672>+</span> <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>30</span>, &amp; \text{if } <span style=color:#f92672>(</span>p_{i} \oplus hp_{i<span style=color:#f92672>+</span><span style=color:#ae81ff>8</span>} \land <span style=color:#ae81ff>0</span>xf &lt; <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>0</span>a<span style=color:#f92672>)</span> \text{ and if } i \equiv <span style=color:#ae81ff>1</span> \pmod <span style=color:#ae81ff>2</span> \\
</span></span><span style=display:flex><span> <span style=color:#f92672>((</span>p_i \oplus hp_{<span style=color:#ae81ff>8</span> <span style=color:#f92672>+</span> i}<span style=color:#f92672>)</span> \land <span style=color:#ae81ff>0</span>xf<span style=color:#f92672>)</span> <span style=color:#f92672>+</span> <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>37</span>, &amp; \text{if } <span style=color:#f92672>(</span>p_{i} \oplus hp_{i<span style=color:#f92672>+</span><span style=color:#ae81ff>8</span>} \land <span style=color:#ae81ff>0</span>xf \geq <span style=color:#ae81ff>0</span>x<span style=color:#ae81ff>0</span>a<span style=color:#f92672>)</span> \text{ and if } i \equiv <span style=color:#ae81ff>1</span> \pmod <span style=color:#ae81ff>2</span>
</span></span><span style=display:flex><span>\end{cases} \\
</span></span><span style=display:flex><span><span style=color:#f92672>]</span> \implies \nexists p<span style=color:#f92672>[</span>p <span style=color:#f92672>=</span> \mathbf{rev}<span style=color:#f92672>(</span>h<span style=color:#f92672>)]</span> <span style=color:#e6db74>$</span> <span style=color:#66d9ef>\\</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#66d9ef>\end</span>{document}
</span></span></code></pre></div><p>.</p><p>We now have the mathematical proof (demonstration) that the algorithm is vulnerable.</p></div></article><hr><div class=post-info></div></main></div><footer class=footer><div class=footer__inner><ul class=icons><li><a href=https://gogo2464.github.io/gogo-s-blog-cpe/posts/index.xml target=_blank title=rss class="icon fa-solid fa-rss"></a></li></ul></div><div class=footer__inner><span>&copy;2024</span>&nbsp;
</span><span class="theme-toggle not-selectable"><svg class="theme-toggler" width="24" height="24" viewBox="0 0 48 48" fill="none"><path d="M22 41c10.4934.0 19-8.5066 19-19C41 11.5066 32.4934 3 22 3 11.5066 3 3 11.5066 3 22s8.5066 19 19 19zM7 22C7 13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22z"/></svg></span></span></span></header><div class=content><main class=post><div class=post-info></p></div><article><h2 class=post-title><a href=https://gogo2464.github.io/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/>Episode 2: proof and logic, demonstration of disprooving vigenere cisco maths</a></h2><div class=post-content><h2 id=iii---reversing-checksum-method-by-mathematical-proof-disproof>III - Reversing checksum, Method by mathematical proof: disproof</h2><p>According to the documentation and as it is mentionned that type 7 is an hashing algorithm.</p><p>A secure hash algorithm is an hash algorithm so that there does not exist a function <code>f(enc)</code> so that <code>f(enc) = original_plaintext</code>.</p><h2 id=1---analysis-under-mathematical-thinking>1 - Analysis under mathematical thinking</h2><p>The reverse engineering of the hash of vigenere cisco has permitted to deduct the method taken by this algorithm.</p><p>We could then guess that the researchers thanks then that:</p><p><img alt=image src=/gogo-s-blog-cpe/from-0-to-buffer-overflow-by-projects/episode-2-proof-demonstration/theory-behind-type7-hash.png></p><p>We now have the mathematical proof (demonstration) that the algorithm is vulnerable.</p></div></article><hr><div class=post-info></div></main></div><footer class=footer><div class=footer__inner><ul class=icons><li><a href=https://gogo2464.github.io/gogo-s-blog-cpe/posts/index.xml target=_blank title=rss class="icon fa-solid fa-rss"></a></li></ul></div><div class=footer__inner><span>&copy;2024</span>&nbsp;
<span><a href=https://gogo2464.github.io/gogo-s-blog-cpe/></a></span>&nbsp;
<span><a href=https://creativecommons.org/licenses/by-nc/4.0/ target=_blank rel=noopener>CC BY-NC 4.0</a></span></div><div class=footer__inner><div class=footer__content><span>Powered by <a href=http://gohugo.io>Hugo</a></span><span>with <a href=https://github.com/coolapso/hugo-theme-hello-4s3ti>Hello-friend-4s3ti</a></span></div></div></footer></div><script type=text/javascript src=/gogo-s-blog-cpe/bundle.min.efa6b6352b1e4d712533d2fbd29f0c899eb1474e0f181433c934e6c6fdd3678ff834c116423c957d7a6ff6763e9c0d599a82208cdeae81c4a483e37853c46360.js integrity="sha512-76a2NSseTXElM9L70p8MiZ6xR04PGBQzyTTmxv3TZ4/4NMEWQjyVfXpv9nY+nA1ZmoIgjN6ugcSkg+N4U8RjYA=="></script></body></html>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
\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:
$$
\begin{flushleft}
\begin{multline}
\[
\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 \textless lp \textless 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{flushleft}
\end{multline}
$$ \\

\end{document}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1b6d13a

Please sign in to comment.