破解AES 128 手法實境秀! ... <看更多>
aes 128破解 在 ChipWhisperer - 晶片訊號擷取破解AES 128 的推薦與評價
ChipWhisperer - 晶片訊號擷取破解AES 128. 758 views · 6 years ago ...more. 銓安智慧科技IKV Tech. 14. Subscribe. 14 subscribers. 0. Share. Save. ... <看更多>
aes 128破解 在 如何破解我上次写的加密程序? 的推薦與評價
不按规则使用加密算法是非常不安全的! 起因. 前几天我用Python写了一个很简单的加密程序,用的是tinyaes提供的AES-128-CTR ... ... <看更多>
aes 128破解 在 How long would it take to brute force an AES-128 key? 的推薦與評價
How long would it take to crack a AES-128 key using the most advanced technology currently available? The hardware can be anything, be it a ... ... <看更多>
aes 128破解 在 [其他] 對稱加密的破解複雜度- 看板Math - 批踢踢實業坊 的推薦與評價
最近為了產品應用在實作一些小型的加密 發現有個怪怪的地方
我先把要討論的對稱加密寫成數學語言:
-------------------------------------
S_n:={0,1}^n
f_k:S_n→S_n 是可逆函數, for each k€S_m (m可能等於n, 無所謂, key長度而已)
-------------------------------------
對稱性加密的原理就是f_k的演算法是公開的, 但是k是自己/信賴的人保留的
也就是說, 今天自己選擇一個k, 把明文 x€{0,1}^n 轉到暗文 y=f_k(x)€S_n後
沒有k的人拿到y也沒用, 因為隨便一個k'都能還原出x', 但是可能不是x
只有正確的k才會保證還原正確的x
而如果要暴力破解, 就要嘗試2^m個key, 這對於m=256來說就是天文數字
但是不暴力破解的話, 會不會因為f_k太簡單而導致不用嘗試到2^m個key就破解了
原本我猜測是肯定的, 就是f_k要複雜, 如AES加密算法, 可能現今對他還沒想到除了
暴力破解外的解法
但是突然出現一個矛盾...我今天設計一個非常簡單的f_k, 就單純是xor(互斥邏輯運算)
舉例來說, m=n=2, k=(0,0), x=(1,0),則f_k(x) = (1,0)
然後拿這個f_k機制來進行對稱性加密, k自己保留
我目前發現對方除了暴力破解外也無他法
即便他知道我用的是最簡單的xor, 但是沒拿到真正的k, 他解出來的明文不一定是對的
但是如果xor就可以了, 也不必存在AES這些運算量高的算法
至此我再用原始函數條件去想, 確實可能存在不同的k', 但是可以得到真正的明文x
也就是說, 如果我私有k滿足f_k(x) = y, 其實存在其他k'滿足f_k'(x) = y
這是否就是AES之類對稱加密防護的機制?
也就是說, 一個robus的對稱性加密需要額外滿足:
對所有x€S_n, F(k) := f_k(x), F要是一對一
也就是說, 如果f_k(x) = f_k'(x), 則k=k'
(大致上看起來m>=n才有機會讓綠色成立)
----------------------------------------------------------------------
總之想請問的是, 對稱性加密關鍵是否就真的在於綠色以至於只剩暴力破解來保障安全性
謝謝幫忙~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.225.191 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1651397705.A.5AD.html
int大你意思是AES的f_k可以完全給別人運作(比如某個包好的程式檔)
但是使用的人無法知道裡面的k是什麼?
這確實是xor做不到的事情, 如果拿的到xor的f_k,
他只要輸入一個input就知道是k是什麼了
不過我剛剛發現xor會滿足綠色的式子耶...
今天看你敘述xor的缺點, 好像是針對"方便性"以及"泛用性"
但是單純論安全性的話, 是不是很安全? 因為只能暴力破解
證明如下:
我選了一個k€S_n, 用xor加密了明文x€S_n, 得到y = x xor k, y€S_n
駭客偷看到y, 想要得到x的話就必須去窮舉所有的k'€S_n
假設存在另外一個k'使得y = x xor k'
那由xor的性質可以得到k=k', 也就是說他必須選到我當初選的k
我有少考慮到什麼嗎?
看wiki好像在敘述一些"因為訊息不足, 即便時間無限也永遠無法被破解"的加密算法
但是我從接觸加密相關的資料以來, 每一種方法如果目前仍在用, 都是可以暴力破解的
只是時間如果長到誇張就歸納為現在無法破解
想額外問一下, 有對於"可/不可破解"的數學定義或是實務定義嗎?
數學定義之前是看過一些用"機率加運算時間"的定義方式
而實務定義的話, 是否只能說"到目前為止只能用暴力破解"來當不可破解的定義?
只是不排除未來某一天有人剛好想到很快的演算法, 或是猜到key, 或是簡化出數學式
舉例來說, Σ_{k=1~N} (-1)^k 的答案是多少, 當N=2^1000時
我聲稱這個在數十年電腦都跑不完(無法暴力破解)
但是任何一個小學生都能告訴這個答案是多少(簡化數學式了)
我這個例子是想表達是否實務上的加密方式都有這個危險, 只是目前沒發生而已?
(然後information theoretic security就是說這件事絕對不能發生, 即無解)
※ 編輯: znmkhxrw (59.102.225.191 臺灣), 05/02/2022 02:13:22
c大你應該是指如果對方有f_k的程式, 那這樣當然別人隨便一個input輸入後就知道k是什
麼了
可是我的意思是對方只知道我的y, 而y是我自己由某個f_k產生的, 即便讓他知道f_k的設
計只是跟某個k做xor, 他也猜不到這個k是什麼
這應該就是我看到的用機率測度加上時間複雜度所下的定義了
嗨L大, 讀了#1GPBcQPe這篇受益良多, 裡面確實還有一個變因是"計算模型"
這些關鍵字以我現有的密碼學知識來說有點難串起來...
有點像是讀了reference 1 & 2後, 覺得他們好像有點關係, 又好像是在講不同的東西
我用對稱性加密敘述一下我發問的動機:
1. 想設計簡單的f_k, 對於每個k€S_n都存在在S_n的可逆函數f_k
2. 直覺的拿xor跟permutation這兩個去做組合, 但是馬上發現幾件事:
(1) 肉眼看起來複雜的加密結果, 對電腦而言卻不一定
(2) 肉眼看起來複雜的加密程式, 對破解而言卻不一定
以xor跟permutation所做的f_k為例, 因為證明了:
(a) 多個xor可以合併成一個xor
(b) 多個permutation可以合併成一個permutation
(c) xor跟permutation可交換, 只是差別在xor的值做個改變罷了
所以得出了如果f_k的設計是數以千計的xor跟permutation所組成
那對破解者來說僅是一次的xor跟permutation所組成
這個問題也讓我特別留意所設計的算法有沒有白做事
這也是為什麼我舉了Σ_{k=1~N} (-1)^k當例子, 實際算運算量很高
但是根本不用算就可以得到答案, 只要你找到快速的破解法
3. 承2.-(2), 我無法窮舉所有的破解方式, 說不定只是我以為只能暴力解
但是有其他破解者能找到很快的破解法
這也是為什麼我猜測RSA, AES...之類的加密算法是迄今沒有速解
但是不能保證未來沒有
也就是因為1.~3., 讓我去好奇跟搜尋加密破解性的定義
然後就得到一些統計測度論以及時間複雜度數學上的定義...
之後越查越覺得複雜, 因為我起初的問題聽起來很簡單: 破解難易度
還是就是因為很難一致定義破解難易度, 才有以不同切入點所得到的定義?
(有些用時間複雜度, 有些用資訊商...any other)
----------------------------------------------------
以上就是我的發問動機以及思考細項, 有點亂不好意思
總結一問的話, 就是今天我設計了一個對稱性加密f_k後
下列的自問自答是否正確
Q1: 請問這個算法的破解難易度?
A1: 請先告訴我所採用的破解難易度的定義
Q2: 請問這個算法是否只能暴力破解
A2: 目前我這個設計者只想到暴力破解的方式, 但不代表別人或是未來沒有破解法
(請給我"只能暴力破解"的定義?)
Q3: 加密算法越複雜破解難度越高, 像是xor一定比AES更容易破解?
A3: 不一定, 因為:
(1) 算法設計複雜有可能未來某一天可以化簡成簡單的數學形式
(2) 算法設計複雜有可能未來找到快速的演算法破解
(3) 算法設計複雜有可能白做工, 像是Σ_{k=1~N} (-1)^k
或者可以說, 我最初就是因為這些QA才去查資料
結果查出一堆有幫助但是好像不是正面回答QA的資料(其他密碼學定義/詞彙blabla)
還是說因為我這些QA確實都是case by case的實務問題, 難以窮舉全部
所以密碼學為了抽象與一致化才會去下各種定義...
問題有點多, 不好意思@@
先謝謝回答了~^^
嗨int大, 以上覺得認同! 我就是認為無法窮舉出這世界上所有的破解法
又或是說目前沒有模型跟定義去規範所有的"破解法":
for any cracking method€set of all cracking methods
所以現有加密法都僅限於"迄今"無破解法
這部分分享想請問一下, 是指所有的對稱性加密都能"化約"成這種討論模式嗎?
以我的"f_k(x) := x xor k"為例, 攻擊者只能拿到output y = f_k(x)而已
我不理解這中間存在什麼黑箱的f_k, f_k^-1以及什麼F, F^-1
還是說這些詞彙還要基於某些"攻擊者能拿到什麼資訊"的假設?
在我的例子中, 攻擊者只能拿到y, 無法拿到我的f_k, 所以他永遠不知道我的k是什麼
※ 編輯: znmkhxrw (61.231.69.250 臺灣), 05/03/2022 13:38:32
... <看更多>