芯片IC單片機解密百科

十年專注單片機解密

解密的好友-加密

複習一下加密原理:


  明文+密鑰=密文


  從上式可見,明文和密鑰都是未知數,這是個二元一次方程,一個方程兩個未知數是無解的,這是初中生都知道的常識。所以隻要每個明文都使用不同的密鑰就可以是無解的。但是如果想winrar那類軟件由於編程上的缺陷,變得能夠被破解,隻能說自作孽不可活,所以編程一定不要做出賣自己的行為,才能確保信息安全。


  加密——也就是將信息隱藏起來,怎樣將一個明文隱藏起來一般有兩種方式1)數值變換,2)用密鑰和明文進行運算。


  數值變換,一般需要創建一個隨機的變換表和其逆變換表,前者用於加密後者用於解密。此種方式對複雜的信息加密效果還可以,對簡單信息加密就有其不足之處了,例如加密文本文件變換後勢必暴露自身的一些結構特征,所以此種方法要慎用。


  引入密鑰參與加密則是較好的選擇。明文、密鑰、密文的值域都是一樣的,它們之間用什麽操作符進行運算?有些書中推薦使用異或,也不是不可以但感覺不靈活,例如做了兩遍異或等於沒有操作,如果用加減就好多了,沒有此種限製,密鑰和明文、密文的運算采用無符號算法,這樣數據才沒有溢出的問題。假如BBIN导航的值域是一位10進製數,無符號運算下有9+5=4;2-4=8;怎麽算都在值域之內,並且做逆運算時能恢複原值。