請問對稱金鑰和非對稱金鑰解密的問題?

jjack
如果用不對的key去解已加密的密文
會出現
無法解開還是可以解開但內容不一樣?
還是對稱金鑰和非對稱金鑰有不一樣的狀況?

我認為以密碼學來說應該是可以解開但內容不一樣
請問我的觀念正確嗎?

謝謝大家


小羊窒息
你的觀念沒有錯
(說實在的, 我不曉得回這一句話有什麼意義)


jjack
有用喔!
謝謝您的回答

昨天去下載了AES和OpenSSL的加密程式
用了之後發現輸入錯誤的密碼會無法執行
而大大說我的觀念沒錯

這讓我有點亂掉了
是否實務和理論完全不同?

最有價值解答

小羊窒息
我隨手找了一個線上加解密測試的... http://aes.online-domain-tools.com/

輸入的資料都選擇為HEX
Mode預設ECB
=====================
【測試1 加密】

INPUT Text:(要加密的原文)41424344454647 (就是ABCDEFG的HEX碼)
KEY:484950(3個byte,就是HIJ)

加密後的結果:da2edf0341374893b9d5ba81567c507f(這是HEX的值)

=====================
【測試2 解密(正確的key)】

INPUT Text:da2edf0341374893b9d5ba81567c507f
KEY:484950(3個byte)

解密後的結果:41424344454647

=====================
【測試3 解密(錯誤的key)】

INPUT Text:da2edf0341374893b9d5ba81567c507f
把KEY改成HIK (484951)

解完後的結果:281c4fb212b137839aae8bb132eecde8
(解密的結果不是41424344454647,但解密並未發生錯誤)

=====================



如果你指的錯誤是:把加密後的結果改掉,然後要拿來試著解密的話,會發生錯誤是很常見的...
(通常加密程式都會額外做base64的轉換,而在你轉換回原始文字時就會因為不是正確的base64格式而直接發生錯誤)
jjack
首先先謝謝您詳細的解說

我是到這邊下載openssl
https://www.openssl.org/source/

以下是我的測試

C:\OpenSSL\bin>type in.txt
1234567
C:\OpenSSL\bin>openssl des -in in.txt -out out.txt
WARNING: can't open config file: C:/OpenSSL/openssl.cnf
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:

C:\OpenSSL\bin>type out.txt
Salted__Ii閐?'N觚8OO
C:\OpenSSL\bin>openssl des -d -in out.txt -out out1.txt
WARNING: can't open config file: C:/OpenSSL/openssl.cnf
enter des-cbc decryption password:

C:\OpenSSL\bin>type out1.txt
1234567

上面是輸入正確密碼
下面是輸入錯誤密碼

C:\OpenSSL\bin>openssl des -d -in out.txt -out out1.txt
WARNING: can't open config file: C:/OpenSSL/openssl.cnf
enter des-cbc decryption password:
bad decrypt
11596:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:e
vp_enc.c:529:

C:\OpenSSL\bin>

我想這程式可能不是存加解密演算法
可能有加入其他的驗證機制
應該是您上面所說的是正確的
再次謝謝您的回答
小羊窒息
通常加解密軟體,
其定位的是要讓使用者可以正確的加解密資料,
而不是只做加密解密(完全不管正確與否),

這些軟體都會有額外的處理機制, 第一時間回報錯誤,
讓使用者知道解密失敗(而不是讓使用者解密後, 還得自行去判斷資料正確與否)
=======================
(OpenSSL我就不知道了)
jjack
您說得是正確的

謝謝您肯花時間詳細的解說
感恩.感恩.

因為是新手沒給過QP
請問要把QP給您是按正確解答那一欄大頭照上面的接受就可以了嗎?
小羊窒息
是的
回到頂部