2015-12-05 69 views
0

我創建了一個加密程序,我想知道一個破解者解密這個程序的輸出有多困難?解密這個我創建的加密代碼有多難?

我的電腦有問題,在此粘貼代碼,以便here is a link where you can download it.

此加密程序的工作,抓住每一個字符的ASCII值,平方根,然後由8

結果乘以然後,它將使用500個字符串之一替換每個字符的double之間的空格,格式如下:(隨機數量的空白)(隨機5位整數)(隨機數量的空白)。

然後最後,它用500個相似格式的字符串中的一個替換小數點。

該程序只是做一切反向解密的加密文件。

你們認爲什麼?謝謝

+1

這僅僅是爲了學習練習,還是在考慮實際使用它來達到真實世界的目的? – chrylis

+0

@chrylis這只是爲了好玩,看看我是否可以做到這一點,因爲我是Java新手。我不會在這裏發佈它,否則哈哈:) –

+0

如果您認真關心安全性,請閱讀Java AES加密 –

回答

2

由於該算法沒有祕密部分,「黑客」只會寫一個你描述的解密算法,並得到原始信息。算法的複雜性不會使加密變得強大。對於當前使用的加密算法,算法本身是公開可用的。這是一個「祕密」 - 只有加密消息的接收者才知道的解密密鑰 - 這使得它更加強大。首先查看public-key cryptography上的文章。

我認爲這僅僅是爲了研究/樂趣,而是一個建議:永遠不要試圖實現自己的加密方案,使用現有的和經過驗證的算法之一。

+0

感謝您的建議。但是出於好奇,對於他們來說創建這樣的算法有多難。 –

+1

既然你剛剛描述過它 - 根本就不難;)但說實話,很難算的算法已經被破解(通常在某些條件下)。只需搜索「破解加密算法」。此外,[這是一個有趣的線索](http://security.stackexchange.com/questions/32779)。 –

+0

哈哈,我現在突然對密碼學領域產生了興趣。在外面幾個月見到你,我有一些閱讀要做。所以如果我是正確的,加密技術依賴於我們對數學知識的限制。如果這個前提是真的,那我們怎麼可能解密它們呢? –