标准des算法
1. des鏄瀵圭О锷犲瘑杩樻槸闱炲圭О锷犲瘑
DES锛堟暟鎹锷犲瘑镙囧嗳锛夋槸涓绉嶅圭О锷犲瘑绠楁硶銆
瀵圭О锷犲瘑绠楁硶鏄鎸囧姞瀵嗗拰瑙e瘑浣跨敤鐩稿悓瀵嗛挜镄勭畻娉曘傚湪DES涓锛屽姞瀵嗗拰瑙e瘑浣跨敤鐩稿悓镄勫瘑阍ワ纴阃氩父绉颁负“绉橀挜”銆傚瘑阍ラ暱搴︿负56浣嶏纴浣嗙粡杩囧氭¤凯浠e悗锛屾渶缁堢殑锷犲瘑鏁版嵁闀垮害绾︿负70姣旂壒宸﹀彸銆傝繖镒忓懗镌鍗充娇鏀诲嚮钥呮埅銮蜂简锷犲瘑镄勬暟鎹锛屼粬浠涔熸棤娉旷洿鎺ヨВ瀵嗗畠锛屽洜涓轰粬浠娌℃湁涓庡师濮嫔瘑阍ュ尮閰岖殑瀵嗛挜銆
闱炲圭О锷犲瘑绠楁硶浣跨敤涓瀵瑰瘑阍ワ细鍏阍ュ拰绉侀挜銆傚叕阍ュ彲浠ュ叕寮锛屼换浣曚汉閮藉彲浠ヤ娇鐢ㄥ畠𨱒ュ姞瀵嗕俊鎭銆傜劧钥岋纴鍙链夋嫢链夌浉搴旂侀挜镄勪汉镓嶈兘瑙e瘑浣跨敤鍏阍ュ姞瀵嗙殑淇℃伅銆备絾鏄锛屽湪DES涓锛屾病链夎繖镙风殑姒傚康銆
镐荤殑𨱒ヨ达纴DES鏄涓绉嶅圭О锷犲瘑绠楁硶锛屽洜涓哄畠浣跨敤鐩稿悓镄勫瘑阍ヨ繘琛屽姞瀵嗗拰瑙e瘑銆傜劧钥岋纴瀹幂殑瀵嗛挜闀垮害杈幂煭锛岃繖浣垮缑瀹冨彲鑳芥洿瀹规槗鍙楀埌鏀诲嚮锛岀壒鍒鏄鍦ㄧ幇浠e己澶х殑璁$畻链哄拰绠楁硶闱㈠墠銆傚洜姝わ纴鐜板湪链夎稿氭洿瀹夊叏镄勯夋嫨锛屽侫ES锛堥珮绾у姞瀵嗘爣鍑嗭级绛夈
des加密算法如下:
一、DES加密算法简介
DES(Data Encryption Standard)是目前最为流行的加密算法之一。DES是对称的,也就是说它使用同一个密钥来加密和解密数据。
DES还是一种分组加密算法,该算法每次处理固定长度的数据段,称之为分组。DES分组的大小是64位,如果加密的数据长度不是64位的倍数,可以按照某种具体的规则来填充位。
从本质上来说,DES的安全性依赖于虚假表象,从密码学的术语来讲就是依赖于“混乱和扩散”的原则。混乱的目的是为隐藏任何明文同密文、或者密钥之间的关系,而扩散的目的是使明文中的有效位和密钥一起组成尽可能多的密文。两者结合到一起就使得安全性变得相对较高。
DES算法具体通过对明文进行一系列的排列和替换操作来将其加密。过程的关键就是从给定的初始密钥中得到16个子密钥的函数。要加密一组明文,每个子密钥按照顺序(1-16)以一系列的位操作施加于数据上,每个子密钥一次,一共重复16次。每一次迭代称之为一轮。要对密文进行解密可以采用同样的步骤,只是子密钥是按照逆向的顺序(16-1)对密文进行处理。