-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
2 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,11 +4,11 @@ | |
"><meta name=keywords content="cryptography,buffer overflow"><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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof :: CPE — CPE: the school that schools to send you to cpe! | ||
</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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof"><meta itemprop=description content="I - Identify 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 for any function hash that transform the original (plaintext) value $ hased = H(plain) $ there does not exist a function $ rev(hashed) $ so that $ rev(hashed) = plain $. | ||
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="185"><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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof"><meta name=twitter:description content="I - Identify 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="182"><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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof"><meta name=twitter:description content="I - Identify 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 for any function hash that transform the original (plaintext) value $ hased = H(plain) $ there does not exist a function $ rev(hashed) $ so that $ rev(hashed) = plain $. | ||
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"><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css integrity=sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+ crossorigin=anonymous><script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js integrity=sha384-7zkQWkzuo3B5mTepMUcHkMB5jZaolc2xDwL6VFqjFALcbeS9Ggm/Yr2r3Dy4lfFg crossorigin=anonymous></script><script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js integrity=sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk crossorigin=anonymous onload='renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})'></script></head><body><script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js></script><script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js onload=renderMathInElement(document.body)></script><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): courses</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-crypto-by-projects>Crypto</a></li></div><div class=submenu><li class=dropdown><a href=/gogo-s-blog-cpe/from-0-to-buffer-overflow-by-projects>Pwn</a></li></div><div class=submenu><li class=dropdown><a href=/gogo-s-blog-cpe/putting-games-on-darknet>Elite</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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof</a></h2><div class=post-content><h2 id=i---identify>I - Identify</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 for any function hash that transform the original (plaintext) value $ hased = H(plain) $ there does not exist a function $ rev(hashed) $ so that $ rev(hashed) = plain $.</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-crypto-by-projects/episode-2-proof-demonstration/theory-behind-type7-hash.png></p><p>The question is to proove that there exists a function $ rev(hashed) $ so that $ \forall plain [rev(H(plain)) = plain] $ then $ \forall x [x = H(plain)]$</p><p>We intuitevely see points to split the issue into easier pieces:</p><ul><li>the algorithm threat data block by blocks with blocks of two opcodes (numbers between 0 and 256) knowns bigram.</li></ul><p>The algorith treat bigrams as following:</p><ul><li>the two opcodes are both xored to the hardcoded password.</li></ul><p>We now have the mathematical proof (demonstration) that the algorithm is vulnerable:</p><p><a href=/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf>Download the pdf</a></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>©2024</span> | ||
</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: Reversing cryptography algorithm made to be unreversables (checksum). Method by mathematical proof: disproof</a></h2><div class=post-content><h2 id=i---identify>I - Identify</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 for any function hash that transform the original (plaintext) value $ hased = H(plain) $ there does not exist a function $ rev(hashed) $ so that $ rev(hashed) = plain $.</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-crypto-by-projects/episode-2-proof-demonstration/theory-behind-type7-hash.png></p><p>The question is to proove that there exists a function $ rev(hashed) $ so that $ \forall plain [rev(H(plain)) = plain] $ then $ \forall x [x = H(plain)]$</p><p>We intuitevely see points to split the issue into easier pieces:</p><ul><li>the algorithm threat data block by blocks with blocks of two opcodes (numbers between 0 and 256) knowns bigram.</li></ul><p>The algorith treat bigrams as following:</p><ul><li>the two opcodes are both xored to the hardcoded password.</li></ul><p>We now have the mathematical proof (demonstration) that the algorithm is vulnerable:</p><p><img alt=pdf src=/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf></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>©2024</span> | ||
<span><a href=https://gogo2464.github.io/gogo-s-blog-cpe/></a></span> | ||
<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> |